Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
authorAlexander Galazin <alexander.galazin@arm.com>
Wed, 22 May 2019 06:46:41 +0000 (08:46 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Wed, 22 May 2019 06:46:41 +0000 (08:46 +0200)
Change-Id: Iaaff1bd558b7938a73c553c312f8271a8e288cd3

1  2 
external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp

index fe595023f314e9346c9fd5f759842c0bd46573e4,093088db7529b0ce1f2561ceba1f3948f19202e8..88618dbe839d43c4e296c7db9a3ac3c9ba9d412b
@@@ -227,14 -223,20 +227,29 @@@ void MemoryModelTestCase::checkSupport(
                        TCU_THROW(NotSupportedError, "64-bit integer shared atomics not supported");
                }
        }
-     if (m_data.transitive &&
 +
-     if ((m_data.payloadSC == SC_PHYSBUFFER || m_data.guardSC == SC_PHYSBUFFER) &&
++      if (m_data.transitive &&
 +              !context.getVulkanMemoryModelFeatures().vulkanMemoryModelAvailabilityVisibilityChains)
 +              TCU_THROW(NotSupportedError, "vulkanMemoryModelAvailabilityVisibilityChains not supported");
 +
++      if ((m_data.payloadSC == SC_PHYSBUFFER || m_data.guardSC == SC_PHYSBUFFER) &&
 +              !context.getBufferDeviceAddressFeatures().bufferDeviceAddress)
 +              TCU_THROW(NotSupportedError, "Physical storage buffer pointers not supported");
++
+       if (m_data.stage == STAGE_VERTEX)
+       {
+               if (!context.getDeviceFeatures().vertexPipelineStoresAndAtomics)
+               {
+                       TCU_THROW(NotSupportedError, "vertexPipelineStoresAndAtomics not supported");
+               }
+       }
+       if (m_data.stage == STAGE_FRAGMENT)
+       {
+               if (!context.getDeviceFeatures().fragmentStoresAndAtomics)
+               {
+                       TCU_THROW(NotSupportedError, "fragmentStoresAndAtomics not supported");
+               }
+       }
  }