From 52067c04b7a8569c85f2b0a58e03e57feac0bb90 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Wed, 15 May 2019 23:27:53 -0500 Subject: [PATCH] VK_EXT_fragment_shader_interlock tests Components: Vulkan New Tests: dEQP-VK.fragment_shader_interlock.* VK-GL-CTS issue: 1856 Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24 (cherry picked from commit 36005ceedd19e39bd11972dd39c419521767dac6) --- AndroidGen.mk | 3 + android/cts/master/vk-master.txt | 576 +++++++++++++ .../vulkancts/framework/vulkan/vkBasicTypes.inl | 2 + .../framework/vulkan/vkDeviceFeatures.inl | 61 +- .../vulkan/vkDeviceFeaturesForContextDecl.inl | 1 + .../vulkan/vkDeviceFeaturesForContextDefs.inl | 1 + .../vkDeviceFeaturesForDefaultDeviceDefs.inl | 1 + .../framework/vulkan/vkGetStructureTypeImpl.inl | 5 + external/vulkancts/framework/vulkan/vkStrUtil.inl | 1 + .../vulkancts/framework/vulkan/vkStrUtilImpl.inl | 13 + .../vulkancts/framework/vulkan/vkStructTypes.inl | 9 + external/vulkancts/framework/vulkan/vkVulkan_c.inl | 13 + external/vulkancts/modules/vulkan/CMakeLists.txt | 3 + .../fragment_shader_interlock/CMakeLists.txt | 16 + .../vktFragmentShaderInterlockBasic.cpp | 927 +++++++++++++++++++++ .../vktFragmentShaderInterlockBasic.hpp | 40 + .../vktFragmentShaderInterlockTests.cpp | 52 ++ .../vktFragmentShaderInterlockTests.hpp | 40 + external/vulkancts/modules/vulkan/vktTestCase.cpp | 3 +- .../vulkancts/modules/vulkan/vktTestPackage.cpp | 2 + .../mustpass/master/vk-default-no-waivers.txt | 576 +++++++++++++ external/vulkancts/mustpass/master/vk-default.txt | 576 +++++++++++++ external/vulkancts/scripts/src/vulkan_core.h | 13 + 23 files changed, 2904 insertions(+), 30 deletions(-) create mode 100644 external/vulkancts/modules/vulkan/fragment_shader_interlock/CMakeLists.txt create mode 100644 external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp create mode 100644 external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.hpp create mode 100644 external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp create mode 100644 external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.hpp diff --git a/AndroidGen.mk b/AndroidGen.mk index d2dbb86..017a3ad 100644 --- a/AndroidGen.mk +++ b/AndroidGen.mk @@ -144,6 +144,8 @@ LOCAL_SRC_FILES := \ external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsScissorMultiViewportTests.cpp \ external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsScissorTests.cpp \ external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsTests.cpp \ + external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp \ + external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp \ external/vulkancts/modules/vulkan/geometry/vktGeometryBasicClass.cpp \ external/vulkancts/modules/vulkan/geometry/vktGeometryBasicGeometryShaderTests.cpp \ external/vulkancts/modules/vulkan/geometry/vktGeometryEmitGeometryShaderTests.cpp \ @@ -1107,6 +1109,7 @@ LOCAL_C_INCLUDES := \ $(deqp_dir)/external/vulkancts/modules/vulkan/draw \ $(deqp_dir)/external/vulkancts/modules/vulkan/dynamic_state \ $(deqp_dir)/external/vulkancts/modules/vulkan/fragment_ops \ + $(deqp_dir)/external/vulkancts/modules/vulkan/fragment_shader_interlock \ $(deqp_dir)/external/vulkancts/modules/vulkan/geometry \ $(deqp_dir)/external/vulkancts/modules/vulkan/image \ $(deqp_dir)/external/vulkancts/modules/vulkan/imageless_framebuffer \ diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 8890b61..d4e173d 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -462782,3 +462782,579 @@ dEQP-VK.imageless_framebuffer.depth_stencil dEQP-VK.imageless_framebuffer.color_resolve dEQP-VK.imageless_framebuffer.depth_stencil_resolve dEQP-VK.imageless_framebuffer.multisubpass +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 diff --git a/external/vulkancts/framework/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/vkBasicTypes.inl index 2fa9839..ac26357 100644 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@ -445,6 +445,7 @@ enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000, VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, @@ -2829,6 +2830,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer, void*); #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 1 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 0 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl index b876a40..bd37546 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl @@ -34,6 +34,7 @@ namespace vk #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" @@ -46,35 +47,36 @@ namespace vk #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 39); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 38); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 37); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 36); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 35); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 34); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 33); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 32); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 31); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 30); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 29); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 28); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 27); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 26); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 25); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 24); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 23); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 22); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 21); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 20); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 19); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 18); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 17); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 16); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 15); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 14); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 13); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 12); } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 11); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 40); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 39); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 38); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 37); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 36); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 35); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 34); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 33); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 32); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 31); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 30); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 29); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 28); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 27); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 26); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 25); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 24); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 23); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 22); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 21); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 20); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 19); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 18); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 17); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 16); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 15); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 14); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 13); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 12); } +template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 11); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 10); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 9); } template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 8); } @@ -118,6 +120,7 @@ static const FeatureStructMapItem featureStructCreatorMap[] = { createFeatureStructWrapper, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION }, { createFeatureStructWrapper, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION }, { createFeatureStructWrapper, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION }, diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl index c945847..dcaf0df 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl @@ -30,6 +30,7 @@ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicat const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeatures (void) const; const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const; const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const; +const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeatures (void) const; const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeatures (void) const; const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& getUniformBufferStandardLayoutFeatures (void) const; const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT& getHostQueryResetFeatures (void) const; diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl index 91c6243..0142eb5 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl @@ -30,6 +30,7 @@ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& Context::g const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& Context::getBufferDeviceAddressFeatures (void) const { return m_device->getBufferDeviceAddressFeatures(); } const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV& Context::getCooperativeMatrixFeatures (void) const { return m_device->getCooperativeMatrixFeatures(); } const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& Context::getCoverageReductionModeFeatures (void) const { return m_device->getCoverageReductionModeFeatures(); } +const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& Context::getFragmentShaderInterlockFeatures (void) const { return m_device->getFragmentShaderInterlockFeatures(); } const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& Context::getYcbcrImageArraysFeatures (void) const { return m_device->getYcbcrImageArraysFeatures(); } const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& Context::getUniformBufferStandardLayoutFeatures (void) const { return m_device->getUniformBufferStandardLayoutFeatures(); } const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT& Context::getHostQueryResetFeatures (void) const { return m_device->getHostQueryResetFeatures(); } diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl index a51e99a..2941aef 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl @@ -30,6 +30,7 @@ const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAl const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const { return m_deviceFeatures.getFeatureType(); } +const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& getUniformBufferStandardLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceHostQueryResetFeaturesEXT& getHostQueryResetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } diff --git a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl index e456521..d4e582d 100644 --- a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl @@ -1541,6 +1541,11 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT; diff --git a/external/vulkancts/framework/vulkan/vkStrUtil.inl b/external/vulkancts/framework/vulkan/vkStrUtil.inl index 9f14065..286a867 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtil.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtil.inl @@ -770,6 +770,7 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatr std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoverageReductionModeFeaturesNV& value); std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageReductionStateCreateInfoNV& value); std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombinationNV& value); +std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value); std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value); std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value); std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeaturesEXT& value); diff --git a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index c2d92c1..1001eaf 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@ -457,6 +457,7 @@ const char* getStructureTypeName (VkStructureType value) case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV"; case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV"; case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR"; case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT"; @@ -8202,6 +8203,18 @@ std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombin return s; } +std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value) +{ + s << "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentShaderSampleInterlock = " << value.fragmentShaderSampleInterlock << '\n'; + s << "\tfragmentShaderPixelInterlock = " << value.fragmentShaderPixelInterlock << '\n'; + s << "\tfragmentShaderShadingRateInterlock = " << value.fragmentShaderShadingRateInterlock << '\n'; + s << '}'; + return s; +} + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value) { s << "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = {\n"; diff --git a/external/vulkancts/framework/vulkan/vkStructTypes.inl b/external/vulkancts/framework/vulkan/vkStructTypes.inl index ce5f9c1..c7ed1f6 100644 --- a/external/vulkancts/framework/vulkan/vkStructTypes.inl +++ b/external/vulkancts/framework/vulkan/vkStructTypes.inl @@ -3845,6 +3845,15 @@ struct VkFramebufferMixedSamplesCombinationNV VkSampleCountFlags colorSamples; }; +struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT +{ + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderSampleInterlock; + VkBool32 fragmentShaderPixelInterlock; + VkBool32 fragmentShaderShadingRateInterlock; +}; + struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { VkStructureType sType; diff --git a/external/vulkancts/framework/vulkan/vkVulkan_c.inl b/external/vulkancts/framework/vulkan/vkVulkan_c.inl index 194907a..ce20691 100644 --- a/external/vulkancts/framework/vulkan/vkVulkan_c.inl +++ b/external/vulkancts/framework/vulkan/vkVulkan_c.inl @@ -495,6 +495,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000, VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, @@ -9384,6 +9385,18 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSampl #endif +#define VK_EXT_fragment_shader_interlock 1 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" +typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderSampleInterlock; + VkBool32 fragmentShaderPixelInterlock; + VkBool32 fragmentShaderShadingRateInterlock; +} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; + + #define VK_EXT_ycbcr_image_arrays 1 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" diff --git a/external/vulkancts/modules/vulkan/CMakeLists.txt b/external/vulkancts/modules/vulkan/CMakeLists.txt index 56f8bec..96902c8 100644 --- a/external/vulkancts/modules/vulkan/CMakeLists.txt +++ b/external/vulkancts/modules/vulkan/CMakeLists.txt @@ -37,6 +37,7 @@ add_subdirectory(util) add_subdirectory(amber) add_subdirectory(descriptor_indexing) add_subdirectory(imageless_framebuffer) +add_subdirectory(fragment_shader_interlock) include_directories( api @@ -76,6 +77,7 @@ include_directories( amber descriptor_indexing imageless_framebuffer + fragment_shader_interlock ) set(DEQP_VK_SRCS @@ -134,6 +136,7 @@ set(DEQP_VK_LIBS deqp-vk-transform-feedback deqp-vk-descriptor-indexing deqp-vk-imageless-framebuffer + deqp-vk-fragment-shader-interlock ) if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4)) diff --git a/external/vulkancts/modules/vulkan/fragment_shader_interlock/CMakeLists.txt b/external/vulkancts/modules/vulkan/fragment_shader_interlock/CMakeLists.txt new file mode 100644 index 0000000..973cdd5 --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shader_interlock/CMakeLists.txt @@ -0,0 +1,16 @@ +include_directories(..) + +set(DEQP_VK_FRAGMENT_SHADER_INTERLOCK_SRCS + vktFragmentShaderInterlockTests.cpp + vktFragmentShaderInterlockTests.hpp + vktFragmentShaderInterlockBasic.cpp + vktFragmentShaderInterlockBasic.hpp +) + +set(DEQP_VK_FRAGMENT_SHADER_INTERLOCK_LIBS + tcutil + vkutil +) + +add_library(deqp-vk-fragment-shader-interlock STATIC ${DEQP_VK_FRAGMENT_SHADER_INTERLOCK_SRCS}) +target_link_libraries(deqp-vk-fragment-shader-interlock ${DEQP_VK_FRAGMENT_SHADER_INTERLOCK_LIBS}) diff --git a/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp new file mode 100644 index 0000000..9f530af --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp @@ -0,0 +1,927 @@ +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2017-2019 The Khronos Group Inc. + * Copyright (c) 2018-2019 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Tests for VK_EXT_fragment_shader_interlock. + * These tests render a set of overlapping full-screen quads that use image + * or buffer reads and writes to accumulate values into a result image/buffer. + * They use fragment shader interlock to avoid race conditions on the read/write + * and validate that the final result includes all the writes. + * Each fragment shader invocation computes a coordinate, and does a read/modify/write + * into the image or buffer, inside the interlock. The value in memory accumulates a bitmask + * indicating which primitives or samples have already run through the interlock. e.g. + * for single sample, PIXEL_UNORDERED mode, there is one bit in the bitmask for each primitive + * and each primitive ORs in its own bit. For PIXEL_ORDERED mode, each invocation also tests + * that all the previous primitives (less significant bits) are also set, else it clobbers the + * value. Sample and shading_rate interlock are variants of this where there is one value per + * sample or per coarse fragment location, respectively. When there are multiple samples per + * fragment, we merge in the whole sample mask. But within a pixel, we don't try to distinguish + * primitive order between samples on the internal diagonal of the quad (triangle strip). + *//*--------------------------------------------------------------------*/ + +#include "vktFragmentShaderInterlockBasic.hpp" + +#include "vkBufferWithMemory.hpp" +#include "vkImageWithMemory.hpp" +#include "vkQueryUtil.hpp" +#include "vkBuilderUtil.hpp" +#include "vkCmdUtil.hpp" +#include "vkTypeUtil.hpp" +#include "vkObjUtil.hpp" + +#include "vktTestGroupUtil.hpp" +#include "vktTestCase.hpp" + +#include "deDefs.h" +#include "deMath.h" +#include "deRandom.h" +#include "deSharedPtr.hpp" +#include "deString.h" + +#include "tcuTestCase.hpp" +#include "tcuTestLog.hpp" + +#include +#include + +namespace vkt +{ +namespace FragmentShaderInterlock +{ +namespace +{ +using namespace vk; +using namespace std; + +typedef enum +{ + RES_SSBO = 0, + RES_IMAGE, +} Resource; + +typedef enum +{ + INT_PIXEL_ORDERED = 0, + INT_PIXEL_UNORDERED, + INT_SAMPLE_ORDERED, + INT_SAMPLE_UNORDERED, + INT_SHADING_RATE_ORDERED, + INT_SHADING_RATE_UNORDERED, +} Interlock; + +struct CaseDef +{ + deUint32 dim; + Resource resType; + Interlock interlock; + VkSampleCountFlagBits samples; + bool killOdd; + bool sampleShading; + + bool isSampleInterlock() const + { + return sampleShading || interlock == INT_SAMPLE_ORDERED || interlock == INT_SAMPLE_UNORDERED; + } + bool isOrdered() const + { + return interlock == INT_PIXEL_ORDERED || interlock == INT_SAMPLE_ORDERED || interlock == INT_SHADING_RATE_ORDERED; + } +}; + +class FSITestInstance : public TestInstance +{ +public: + FSITestInstance (Context& context, const CaseDef& data); + ~FSITestInstance (void); + tcu::TestStatus iterate (void); + +private: + CaseDef m_data; +}; + +FSITestInstance::FSITestInstance (Context& context, const CaseDef& data) + : vkt::TestInstance (context) + , m_data (data) +{ +} + +FSITestInstance::~FSITestInstance (void) +{ +} + +class FSITestCase : public TestCase +{ + public: + FSITestCase (tcu::TestContext& context, const char* name, const char* desc, const CaseDef data); + ~FSITestCase (void); + virtual void initPrograms (SourceCollections& programCollection) const; + virtual TestInstance* createInstance (Context& context) const; + virtual void checkSupport (Context& context) const; + +private: + CaseDef m_data; +}; + +FSITestCase::FSITestCase (tcu::TestContext& context, const char* name, const char* desc, const CaseDef data) + : vkt::TestCase (context, name, desc) + , m_data (data) +{ +} + +FSITestCase::~FSITestCase (void) +{ +} + +void FSITestCase::checkSupport(Context& context) const +{ + context.requireDeviceExtension("VK_EXT_fragment_shader_interlock"); + + if ((m_data.interlock == INT_SAMPLE_ORDERED || m_data.interlock == INT_SAMPLE_UNORDERED) && + !context.getFragmentShaderInterlockFeatures().fragmentShaderSampleInterlock) + { + TCU_THROW(NotSupportedError, "Fragment shader sample interlock not supported"); + } + + if ((m_data.interlock == INT_PIXEL_ORDERED || m_data.interlock == INT_PIXEL_UNORDERED) && + !context.getFragmentShaderInterlockFeatures().fragmentShaderPixelInterlock) + { + TCU_THROW(NotSupportedError, "Fragment shader pixel interlock not supported"); + } + + if ((m_data.interlock == INT_SHADING_RATE_ORDERED || m_data.interlock == INT_SHADING_RATE_UNORDERED) && + !context.getFragmentShaderInterlockFeatures().fragmentShaderShadingRateInterlock) + { + TCU_THROW(NotSupportedError, "Fragment shader shading rate interlock not supported"); + } + + if ((m_data.interlock == INT_SHADING_RATE_ORDERED || m_data.interlock == INT_SHADING_RATE_UNORDERED) && + !context.getShadingRateImageFeatures().shadingRateImage) + { + TCU_THROW(NotSupportedError, "Shading rate image not supported"); + } +} + +static int bitsPerQuad(const CaseDef &c) +{ + deUint32 bpq = c.samples; + + if (c.isSampleInterlock()) + bpq = 1; + else if (c.interlock == INT_SHADING_RATE_ORDERED || c.interlock == INT_SHADING_RATE_UNORDERED) + bpq *= 4; + + return bpq; +} + +void FSITestCase::initPrograms (SourceCollections& programCollection) const +{ + std::stringstream vss; + + vss << + "#version 450 core\n" + "layout(location = 0) out int primID;\n" + "void main()\n" + "{\n" + " primID = gl_InstanceIndex;\n" + // full-viewport quad + " gl_Position = vec4( 2.0*float(gl_VertexIndex&2) - 1.0, 4.0*(gl_VertexIndex&1)-1.0, 1.0 - 2.0 * float(gl_VertexIndex&1), 1);\n" + "}\n"; + + programCollection.glslSources.add("vert") << glu::VertexSource(vss.str()); + + std::stringstream fss; + + fss << + "#version 450 core\n" + "#extension GL_ARB_fragment_shader_interlock : enable\n" + "#extension GL_NV_shading_rate_image : enable\n" + "layout(r32ui, set = 0, binding = 0) coherent uniform uimage2D image0;\n" + "layout(std430, set = 0, binding = 1) coherent buffer B1 { uint x[]; } buf1;\n" + "layout(location = 0) flat in int primID;\n"; + + switch (m_data.interlock) + { + default: DE_ASSERT(0); // fallthrough + case INT_PIXEL_ORDERED: fss << "layout(pixel_interlock_ordered) in;\n"; break; + case INT_PIXEL_UNORDERED: fss << "layout(pixel_interlock_unordered) in;\n"; break; + case INT_SAMPLE_ORDERED: fss << "layout(sample_interlock_ordered) in;\n"; break; + case INT_SAMPLE_UNORDERED: fss << "layout(sample_interlock_unordered) in;\n"; break; + case INT_SHADING_RATE_ORDERED: fss << "layout(shading_rate_interlock_ordered) in;\n"; break; + case INT_SHADING_RATE_UNORDERED: fss << "layout(shading_rate_interlock_unordered) in;\n"; break; + } + + // Each fragment shader invocation computes a coordinate, and does a read/modify/write + // into the image or buffer, inside the interlock. The value in memory accumulates a bitmask + // indicating which primitives or samples have already run through the interlock. e.g. + // for single sample, PIXEL_UNORDERED mode, there is one bit in the bitmask for each primitive + // and each primitive ORs in its own bit. For PIXEL_ORDERED mode, each invocation also tests + // that all the previous primitives (less significant bits) are also set, else it clobbers the + // value. Sample and shading_rate interlock are variants of this where there is one value per + // sample or per coarse fragment location, respectively. When there are multiple samples per + // fragment, we merge in the whole sample mask. But within a pixel, we don't try to distinguish + // primitive order between samples on the internal diagonal of the quad (triangle strip). + + fss << + "void main()\n" + "{\n" + " ivec2 coordxy = ivec2(gl_FragCoord.xy);\n" + " uint stride = " << m_data.dim << ";\n" + " uint bitsPerQuad = " << bitsPerQuad(m_data) << ";\n"; + + // Compute the coordinate + if (m_data.isSampleInterlock()) + { + // Spread samples out in the x dimension + fss << " coordxy.x = coordxy.x * " << m_data.samples << " + gl_SampleID;\n"; + fss << " stride *= " << m_data.samples << ";\n"; + } + else if (m_data.interlock == INT_SHADING_RATE_ORDERED || m_data.interlock == INT_SHADING_RATE_UNORDERED) + { + // shading rate is 2x2. Divide xy by 2 + fss << " coordxy /= 2;\n"; + fss << " stride /= 2;\n"; + } + + if (m_data.isSampleInterlock()) + { + // sample interlock runs per-sample, and stores one bit per sample + fss << " uint mask = 1 << primID;\n"; + fss << " uint previousMask = (1 << primID)-1;\n"; + } + else + { + // pixel and shading_rate interlock run per-fragment, and store the sample mask + fss << " uint mask = gl_SampleMaskIn[0] << (primID * bitsPerQuad);\n"; + fss << " uint previousMask = (1 << (primID * bitsPerQuad))-1;\n"; + } + + // Exercise discard before and during the interlock + if (m_data.killOdd) + fss << " if (coordxy.y < " << m_data.dim / 4 << " && (coordxy.x & 1) != 0) discard;\n"; + + fss << " beginInvocationInterlockARB();\n"; + + if (m_data.killOdd) + fss << " if ((coordxy.x & 1) != 0) discard;\n"; + + // Read the current value from the image or buffer + if (m_data.resType == RES_IMAGE) + fss << " uint temp = imageLoad(image0, coordxy).x;\n"; + else + { + fss << " uint coord = coordxy.y * stride + coordxy.x;\n"; + fss << " uint temp = buf1.x[coord];\n"; + } + + // Update the value. For "ordered" modes, check that all the previous primitives' + // bits are already set + if (m_data.isOrdered()) + fss << " if ((temp & previousMask) == previousMask) temp |= mask; else temp = 0;\n"; + else + fss << " temp |= mask;\n"; + + // Store out the new value + if (m_data.resType == RES_IMAGE) + fss << " imageStore(image0, coordxy, uvec4(temp, 0, 0, 0));\n"; + else + fss << " buf1.x[coord] = temp;\n"; + + fss << " endInvocationInterlockARB();\n"; + + if (m_data.killOdd) + fss << " discard;\n"; + + fss << "}\n"; + + programCollection.glslSources.add("frag") << glu::FragmentSource(fss.str()); +} + +TestInstance* FSITestCase::createInstance (Context& context) const +{ + return new FSITestInstance(context, m_data); +} + +VkBufferCreateInfo makeBufferCreateInfo (const VkDeviceSize bufferSize, + const VkBufferUsageFlags usage, + const VkBufferCreateFlags flags) +{ + const VkBufferCreateInfo bufferCreateInfo = + { + VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + flags, // VkBufferCreateFlags flags; + bufferSize, // VkDeviceSize size; + usage, // VkBufferUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + }; + return bufferCreateInfo; +} + +VkBufferImageCopy makeBufferImageCopy (const VkExtent3D extent, + const VkImageSubresourceLayers subresourceLayers) +{ + const VkBufferImageCopy copyParams = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // deUint32 bufferRowLength; + 0u, // deUint32 bufferImageHeight; + subresourceLayers, // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + extent, // VkExtent3D imageExtent; + }; + + return copyParams; +} + +tcu::TestStatus FSITestInstance::iterate (void) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + Allocator& allocator = m_context.getDefaultAllocator(); + VkFlags allShaderStages = VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT; + VkFlags allPipelineStages = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + + VkPhysicalDeviceProperties2 properties; + deMemset(&properties, 0, sizeof(properties)); + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + + m_context.getInstanceInterface().getPhysicalDeviceProperties2(m_context.getPhysicalDevice(), &properties); + + VkPipelineBindPoint bindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; + + Move descriptorSetLayout; + Move descriptorPool; + Move descriptorSet; + + VkDescriptorPoolCreateFlags poolCreateFlags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT; + VkDescriptorSetLayoutCreateFlags layoutCreateFlags = 0; + + const VkDescriptorSetLayoutBinding bindings[2] = + { + { + 0u, // binding + VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, // descriptorType + 1u, // descriptorCount + allShaderStages, // stageFlags + DE_NULL, // pImmutableSamplers + }, + { + 1u, // binding + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, // descriptorType + 1u, // descriptorCount + allShaderStages, // stageFlags + DE_NULL, // pImmutableSamplers + }, + }; + + // Create a layout and allocate a descriptor set for it. + const VkDescriptorSetLayoutCreateInfo setLayoutCreateInfo = + { + vk::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, // sType + DE_NULL, // pNext + layoutCreateFlags, // flags + 2u, // bindingCount + &bindings[0] // pBindings + }; + + descriptorSetLayout = vk::createDescriptorSetLayout(vk, device, &setLayoutCreateInfo); + + vk::DescriptorPoolBuilder poolBuilder; + poolBuilder.addType(bindings[0].descriptorType, 1); + poolBuilder.addType(bindings[1].descriptorType, 1); + + descriptorPool = poolBuilder.build(vk, device, poolCreateFlags, 1u); + descriptorSet = makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout); + + // one uint per sample (max of 4 samples) + VkDeviceSize bufferSize = m_data.dim*m_data.dim*sizeof(deUint32)*4; + + de::MovePtr buffer; + buffer = de::MovePtr(new BufferWithMemory( + vk, device, allocator, makeBufferCreateInfo(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, 0), MemoryRequirement::Any)); + + flushAlloc(vk, device, buffer->getAllocation()); + + const VkQueue queue = m_context.getUniversalQueue(); + Move cmdPool = createCommandPool(vk, device, 0, m_context.getUniversalQueueFamilyIndex()); + Move cmdBuffer = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY); + + beginCommandBuffer(vk, *cmdBuffer, 0u); + + const VkPipelineLayoutCreateInfo pipelineLayoutCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, // sType + DE_NULL, // pNext + (VkPipelineLayoutCreateFlags)0, + 1, // setLayoutCount + &descriptorSetLayout.get(), // pSetLayouts + 0u, // pushConstantRangeCount + DE_NULL, // pPushConstantRanges + }; + + Move pipelineLayout = createPipelineLayout(vk, device, &pipelineLayoutCreateInfo, NULL); + + de::MovePtr copyBuffer; + copyBuffer = de::MovePtr(new BufferWithMemory( + vk, device, allocator, makeBufferCreateInfo(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT, 0), MemoryRequirement::HostVisible | MemoryRequirement::Cached)); + + const VkImageCreateInfo imageCreateInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkImageCreateFlags)0u, // VkImageCreateFlags flags; + VK_IMAGE_TYPE_2D, // VkImageType imageType; + VK_FORMAT_R32_UINT, // VkFormat format; + { + m_data.dim * m_data.samples, // deUint32 width; + m_data.dim, // deUint32 height; + 1u // deUint32 depth; + }, // VkExtent3D extent; + 1u, // deUint32 mipLevels; + 1u, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + VK_IMAGE_USAGE_STORAGE_BIT + | VK_IMAGE_USAGE_TRANSFER_SRC_BIT + | VK_IMAGE_USAGE_TRANSFER_DST_BIT, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED // VkImageLayout initialLayout; + }; + + VkImageViewCreateInfo imageViewCreateInfo = + { + VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkImageViewCreateFlags)0u, // VkImageViewCreateFlags flags; + DE_NULL, // VkImage image; + VK_IMAGE_VIEW_TYPE_2D, // VkImageViewType viewType; + VK_FORMAT_R32_UINT, // VkFormat format; + { + VK_COMPONENT_SWIZZLE_R, // VkComponentSwizzle r; + VK_COMPONENT_SWIZZLE_G, // VkComponentSwizzle g; + VK_COMPONENT_SWIZZLE_B, // VkComponentSwizzle b; + VK_COMPONENT_SWIZZLE_A // VkComponentSwizzle a; + }, // VkComponentMapping components; + { + VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask; + 0u, // deUint32 baseMipLevel; + 1u, // deUint32 levelCount; + 0u, // deUint32 baseArrayLayer; + 1u // deUint32 layerCount; + } // VkImageSubresourceRange subresourceRange; + }; + + de::MovePtr image; + Move imageView; + + image = de::MovePtr(new ImageWithMemory( + vk, device, allocator, imageCreateInfo, MemoryRequirement::Any)); + imageViewCreateInfo.image = **image; + imageView = createImageView(vk, device, &imageViewCreateInfo, NULL); + + VkDescriptorImageInfo imageInfo = makeDescriptorImageInfo(DE_NULL, *imageView, VK_IMAGE_LAYOUT_GENERAL); + VkDescriptorBufferInfo bufferInfo = makeDescriptorBufferInfo(**buffer, 0, bufferSize); + + VkWriteDescriptorSet w = + { + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, // sType + DE_NULL, // pNext + *descriptorSet, // dstSet + (deUint32)0, // dstBinding + 0, // dstArrayElement + 1u, // descriptorCount + bindings[0].descriptorType, // descriptorType + &imageInfo, // pImageInfo + &bufferInfo, // pBufferInfo + DE_NULL, // pTexelBufferView + }; + vk.updateDescriptorSets(device, 1, &w, 0, NULL); + + w.dstBinding = 1; + w.descriptorType = bindings[1].descriptorType; + vk.updateDescriptorSets(device, 1, &w, 0, NULL); + + vk.cmdBindDescriptorSets(*cmdBuffer, bindPoint, *pipelineLayout, 0, 1, &descriptorSet.get(), 0, DE_NULL); + + VkBool32 shadingRateImageEnable = m_data.interlock == INT_SHADING_RATE_ORDERED || + m_data.interlock == INT_SHADING_RATE_UNORDERED ? VK_TRUE : VK_FALSE; + + Move pipeline; + Move renderPass; + Move framebuffer; + + { + const vk::VkSubpassDescription subpassDesc = + { + (vk::VkSubpassDescriptionFlags)0, + vk::VK_PIPELINE_BIND_POINT_GRAPHICS, // pipelineBindPoint + 0u, // inputCount + DE_NULL, // pInputAttachments + 0u, // colorCount + DE_NULL, // pColorAttachments + DE_NULL, // pResolveAttachments + DE_NULL, // depthStencilAttachment + 0u, // preserveCount + DE_NULL, // pPreserveAttachments + }; + const vk::VkRenderPassCreateInfo renderPassParams = + { + vk::VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, // sType + DE_NULL, // pNext + (vk::VkRenderPassCreateFlags)0, + 0u, // attachmentCount + DE_NULL, // pAttachments + 1u, // subpassCount + &subpassDesc, // pSubpasses + 0u, // dependencyCount + DE_NULL, // pDependencies + }; + + renderPass = createRenderPass(vk, device, &renderPassParams); + + const vk::VkFramebufferCreateInfo framebufferParams = + { + vk::VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, // sType + DE_NULL, // pNext + (vk::VkFramebufferCreateFlags)0, + *renderPass, // renderPass + 0u, // attachmentCount + DE_NULL, // pAttachments + m_data.dim, // width + m_data.dim, // height + 1u, // layers + }; + + framebuffer = createFramebuffer(vk, device, &framebufferParams); + + const VkPipelineVertexInputStateCreateInfo vertexInputStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineVertexInputStateCreateFlags)0, // VkPipelineVertexInputStateCreateFlags flags; + 0u, // deUint32 vertexBindingDescriptionCount; + DE_NULL, // const VkVertexInputBindingDescription* pVertexBindingDescriptions; + 0u, // deUint32 vertexAttributeDescriptionCount; + DE_NULL // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; + }; + + const VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineInputAssemblyStateCreateFlags)0, // VkPipelineInputAssemblyStateCreateFlags flags; + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, // VkPrimitiveTopology topology; + VK_FALSE // VkBool32 primitiveRestartEnable; + }; + + const VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineRasterizationStateCreateFlags)0, // VkPipelineRasterizationStateCreateFlags flags; + VK_FALSE, // VkBool32 depthClampEnable; + VK_FALSE, // VkBool32 rasterizerDiscardEnable; + VK_POLYGON_MODE_FILL, // VkPolygonMode polygonMode; + VK_CULL_MODE_NONE, // VkCullModeFlags cullMode; + VK_FRONT_FACE_CLOCKWISE, // VkFrontFace frontFace; + VK_FALSE, // VkBool32 depthBiasEnable; + 0.0f, // float depthBiasConstantFactor; + 0.0f, // float depthBiasClamp; + 0.0f, // float depthBiasSlopeFactor; + 1.0f // float lineWidth; + }; + + const VkPipelineMultisampleStateCreateInfo multisampleStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineMultisampleStateCreateFlags flags + (VkSampleCountFlagBits)m_data.samples, // VkSampleCountFlagBits rasterizationSamples + m_data.sampleShading ? VK_TRUE : VK_FALSE, // VkBool32 sampleShadingEnable + 1.0f, // float minSampleShading + DE_NULL, // const VkSampleMask* pSampleMask + VK_FALSE, // VkBool32 alphaToCoverageEnable + VK_FALSE // VkBool32 alphaToOneEnable + }; + + VkViewport viewport = makeViewport(m_data.dim, m_data.dim); + VkRect2D scissor = makeRect2D(m_data.dim, m_data.dim); + + VkShadingRatePaletteEntryNV paletteEntry = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV; + const VkShadingRatePaletteNV shadingRatePalette = + { + 1u, // uint32_t shadingRatePaletteEntryCount; + &paletteEntry, // const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; + }; + + const VkPipelineViewportShadingRateImageStateCreateInfoNV shadingRateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV, // VkStructureType sType + DE_NULL, // const void* pNext + shadingRateImageEnable, // VkBool32 shadingRateImageEnable; + 1u, // deUint32 viewportCount + &shadingRatePalette // const VkShadingRatePaletteNV* pShadingRatePalettes; + }; + + const VkPipelineViewportStateCreateInfo viewportStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, // VkStructureType sType + shadingRateImageEnable ? &shadingRateCreateInfo : DE_NULL, // const void* pNext + (VkPipelineViewportStateCreateFlags)0, // VkPipelineViewportStateCreateFlags flags + 1u, // deUint32 viewportCount + &viewport, // const VkViewport* pViewports + 1u, // deUint32 scissorCount + &scissor // const VkRect2D* pScissors + }; + + Move fs = createShaderModule(vk, device, m_context.getBinaryCollection().get("frag"), 0); + Move vs = createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0); + deUint32 numStages = 2u; + + const VkPipelineShaderStageCreateInfo shaderCreateInfo[2] = + { + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + DE_NULL, + (VkPipelineShaderStageCreateFlags)0, + VK_SHADER_STAGE_VERTEX_BIT, // stage + *vs, // shader + "main", + DE_NULL, // pSpecializationInfo + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + DE_NULL, + (VkPipelineShaderStageCreateFlags)0, + VK_SHADER_STAGE_FRAGMENT_BIT, // stage + *fs, // shader + "main", + DE_NULL, // pSpecializationInfo + } + }; + + const VkGraphicsPipelineCreateInfo graphicsPipelineCreateInfo = + { + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineCreateFlags)0, // VkPipelineCreateFlags flags; + numStages, // deUint32 stageCount; + &shaderCreateInfo[0], // const VkPipelineShaderStageCreateInfo* pStages; + &vertexInputStateCreateInfo, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + &inputAssemblyStateCreateInfo, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; + DE_NULL, // const VkPipelineTessellationStateCreateInfo* pTessellationState; + &viewportStateCreateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState; + &rasterizationStateCreateInfo, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState; + &multisampleStateCreateInfo, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState; + DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; + DE_NULL, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState; + DE_NULL, // const VkPipelineDynamicStateCreateInfo* pDynamicState; + pipelineLayout.get(), // VkPipelineLayout layout; + renderPass.get(), // VkRenderPass renderPass; + 0u, // deUint32 subpass; + DE_NULL, // VkPipeline basePipelineHandle; + 0 // int basePipelineIndex; + }; + + pipeline = createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineCreateInfo); + } + + const VkImageMemoryBarrier imageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkAccessFlags srcAccessMask + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAccessMask + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout + VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout + VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex + VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex + **image, // VkImage image + { + VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask + 0u, // uint32_t baseMipLevel + 1u, // uint32_t mipLevels, + 0u, // uint32_t baseArray + 1u, // uint32_t arraySize + } + }; + + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + (VkDependencyFlags)0, + 0, (const VkMemoryBarrier*)DE_NULL, + 0, (const VkBufferMemoryBarrier*)DE_NULL, + 1, &imageBarrier); + + vk.cmdBindPipeline(*cmdBuffer, bindPoint, *pipeline); + + VkImageSubresourceRange range = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u); + VkClearValue clearColor = makeClearValueColorU32(0,0,0,0); + + VkMemoryBarrier memBarrier = + { + VK_STRUCTURE_TYPE_MEMORY_BARRIER, // sType + DE_NULL, // pNext + 0u, // srcAccessMask + 0u, // dstAccessMask + }; + + vk.cmdClearColorImage(*cmdBuffer, **image, VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &range); + + memBarrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + memBarrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, allPipelineStages, + 0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL); + + if (shadingRateImageEnable) + vk.cmdBindShadingRateImageNV(*cmdBuffer, DE_NULL, VK_IMAGE_LAYOUT_GENERAL); + + beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, + makeRect2D(m_data.dim, m_data.dim), + 0, DE_NULL, VK_SUBPASS_CONTENTS_INLINE); + + // Draw N fullscreen "quads", one per instance. + deUint32 N = 32 / bitsPerQuad(m_data); + deUint32 expectedValue = 0xFFFFFFFF; + vk.cmdDraw(*cmdBuffer, 4u, N, 0u, 0u); + + endRenderPass(vk, *cmdBuffer); + + memBarrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; + memBarrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT; + vk.cmdPipelineBarrier(*cmdBuffer, allPipelineStages, VK_PIPELINE_STAGE_TRANSFER_BIT, + 0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL); + + deUint32 copyDimX = m_data.dim; + deUint32 copyDimY = m_data.dim; + + if (m_data.isSampleInterlock()) + copyDimX *= m_data.samples; + + if (shadingRateImageEnable) + { + copyDimX /= 2; + copyDimY /= 2; + } + + if (m_data.resType == RES_IMAGE) + { + const VkBufferImageCopy copyRegion = makeBufferImageCopy(makeExtent3D(copyDimX, copyDimY, 1u), + makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u)); + vk.cmdCopyImageToBuffer(*cmdBuffer, **image, VK_IMAGE_LAYOUT_GENERAL, **copyBuffer, 1u, ©Region); + } + else + { + const VkBufferCopy copyRegion = makeBufferCopy(0u, 0u, copyDimX*copyDimY*sizeof(deUint32)); + vk.cmdCopyBuffer(*cmdBuffer, **buffer, **copyBuffer, 1, ©Region); + } + + endCommandBuffer(vk, *cmdBuffer); + + submitCommandsAndWait(vk, device, queue, cmdBuffer.get()); + + deUint32 *ptr = (deUint32 *)copyBuffer->getAllocation().getHostPtr(); + invalidateAlloc(vk, device, copyBuffer->getAllocation()); + + qpTestResult res = QP_TEST_RESULT_PASS; + + for (deUint32 i = 0; i < copyDimX*copyDimY; ++i) + { + if (m_data.killOdd && (i & 1)) + { + if (ptr[i] != 0) + res = QP_TEST_RESULT_FAIL; + } + else if (ptr[i] != expectedValue) + res = QP_TEST_RESULT_FAIL; + } + + return tcu::TestStatus(res, qpGetTestResultName(res)); +} + +} // anonymous + +tcu::TestCaseGroup* createBasicTests (tcu::TestContext& testCtx) +{ + de::MovePtr group(new tcu::TestCaseGroup(testCtx, "basic", "Test VK_EXT_fragment_shader_interlock")); + + typedef struct + { + deUint32 count; + const char* name; + const char* description; + } TestGroupCase; + + TestGroupCase dimCases[] = + { + { 8, "8x8", "8x8" }, + { 16, "16x16", "16x16" }, + { 32, "32x32", "32x32" }, + { 64, "64x64", "64x64" }, + { 128, "128x128", "128x128" }, + { 256, "256x256", "256x256" }, + { 512, "512x512", "512x512" }, + { 1024, "1024x1024","1024x1024" }, + }; + + TestGroupCase resCases[] = + { + { RES_IMAGE, "image", "image" }, + { RES_SSBO, "ssbo", "ssbo" }, + }; + + TestGroupCase killCases[] = + { + { 0, "nodiscard", "no discard" }, + { 1, "discard", "discard odd pixels"}, + }; + + TestGroupCase sampCases[] = + { + { 1, "1xaa", "1 sample" }, + { 4, "4xaa", "4 sample" }, + }; + + TestGroupCase ssCases[] = + { + { 0, "no_sample_shading", "no sample shading" }, + { 1, "sample_shading", "sample shading" }, + }; + + TestGroupCase intCases[] = + { + { INT_PIXEL_ORDERED, "pixel_ordered", "pixel_ordered" }, + { INT_PIXEL_UNORDERED, "pixel_unordered", "pixel_unordered" }, + { INT_SAMPLE_ORDERED, "sample_ordered", "sample_ordered" }, + { INT_SAMPLE_UNORDERED, "sample_unordered", "sample_unordered" }, + { INT_SHADING_RATE_ORDERED, "shading_rate_ordered", "shading_rate_ordered" }, + { INT_SHADING_RATE_UNORDERED, "shading_rate_unordered", "shading_rate_unordered" }, + }; + + for (int killNdx = 0; killNdx < DE_LENGTH_OF_ARRAY(killCases); killNdx++) + { + de::MovePtr killGroup(new tcu::TestCaseGroup(testCtx, killCases[killNdx].name, killCases[killNdx].description)); + for (int resNdx = 0; resNdx < DE_LENGTH_OF_ARRAY(resCases); resNdx++) + { + de::MovePtr resGroup(new tcu::TestCaseGroup(testCtx, resCases[resNdx].name, resCases[resNdx].description)); + for (int intNdx = 0; intNdx < DE_LENGTH_OF_ARRAY(intCases); intNdx++) + { + de::MovePtr intGroup(new tcu::TestCaseGroup(testCtx, intCases[intNdx].name, intCases[intNdx].description)); + for (int sampNdx = 0; sampNdx < DE_LENGTH_OF_ARRAY(sampCases); sampNdx++) + { + de::MovePtr sampGroup(new tcu::TestCaseGroup(testCtx, sampCases[sampNdx].name, sampCases[sampNdx].description)); + for (int ssNdx = 0; ssNdx < DE_LENGTH_OF_ARRAY(ssCases); ssNdx++) + { + de::MovePtr ssGroup(new tcu::TestCaseGroup(testCtx, ssCases[ssNdx].name, ssCases[ssNdx].description)); + for (int dimNdx = 0; dimNdx < DE_LENGTH_OF_ARRAY(dimCases); dimNdx++) + { + CaseDef c = + { + dimCases[dimNdx].count, // deUint32 set; + (Resource)resCases[resNdx].count, // Resource resType; + (Interlock)intCases[intNdx].count, // Interlock interlock; + (VkSampleCountFlagBits)sampCases[sampNdx].count, // VkSampleCountFlagBits samples; + (bool)killCases[killNdx].count, // bool killOdd; + (bool)ssCases[ssNdx].count, // bool sampleShading; + }; + + if (c.sampleShading && c.samples == 1) + continue; + + ssGroup->addChild(new FSITestCase(testCtx, dimCases[dimNdx].name, dimCases[dimNdx].description, c)); + } + sampGroup->addChild(ssGroup.release()); + } + intGroup->addChild(sampGroup.release()); + } + resGroup->addChild(intGroup.release()); + } + killGroup->addChild(resGroup.release()); + } + group->addChild(killGroup.release()); + } + return group.release(); +} + +} // FragmentShaderInterlock +} // vkt diff --git a/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.hpp b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.hpp new file mode 100644 index 0000000..bae106b --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.hpp @@ -0,0 +1,40 @@ +#ifndef _VKTFRAGMENTSHADERINTERLOCKBASIC_HPP +#define _VKTFRAGMENTSHADERINTERLOCKBASIC_HPP +/*------------------------------------------------------------------------- + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2018 Google Inc. + * Copyright (c) 2019 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Tests for VK_EXT_fragment_shader_interlock. + *//*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "tcuTestCase.hpp" + +namespace vkt +{ +namespace FragmentShaderInterlock +{ + +tcu::TestCaseGroup* createBasicTests(tcu::TestContext& testCtx); + +} // FragmentShaderInterlock +} // vkt + +#endif // _VKTFRAGMENTSHADERINTERLOCKBASIC_HPP diff --git a/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp new file mode 100644 index 0000000..4709414 --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp @@ -0,0 +1,52 @@ +/*------------------------------------------------------------------------- + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2015 Google Inc. + * Copyright (c) 2019 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Fragment shader interlock tests + *//*--------------------------------------------------------------------*/ + +#include "vktFragmentShaderInterlockTests.hpp" +#include "vktFragmentShaderInterlockBasic.hpp" +#include "vktTestGroupUtil.hpp" + +namespace vkt +{ +namespace FragmentShaderInterlock +{ + +namespace +{ + +void createChildren (tcu::TestCaseGroup* group) +{ + tcu::TestContext& testCtx = group->getTestContext(); + + group->addChild(createBasicTests(testCtx)); +} + +} // anonymous + +tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx) +{ + return createTestGroup(testCtx, "fragment_shader_interlock", "Fragment shader interlock tests", createChildren); +} + +} // FragmentShaderInterlock +} // vkt diff --git a/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.hpp b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.hpp new file mode 100644 index 0000000..45791e0 --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.hpp @@ -0,0 +1,40 @@ +#ifndef _VKTFRAGMENTSHADERINTERLOCKTESTS_HPP +#define _VKTFRAGMENTSHADERINTERLOCKTESTS_HPP +/*------------------------------------------------------------------------- + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2015 Google Inc. + * Copyright (c) 2019 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Fragment Shader Interlock tests + *//*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "tcuTestCase.hpp" + +namespace vkt +{ +namespace FragmentShaderInterlock +{ + +tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx); + +} // FragmentShaderInterlock +} // vkt + +#endif // _VKTFRAGMENTSHADERINTERLOCKTESTS_HPP diff --git a/external/vulkancts/modules/vulkan/vktTestCase.cpp b/external/vulkancts/modules/vulkan/vktTestCase.cpp index b28c697..5338c15 100644 --- a/external/vulkancts/modules/vulkan/vktTestCase.cpp +++ b/external/vulkancts/modules/vulkan/vktTestCase.cpp @@ -92,7 +92,8 @@ vector filterExtensions (const vector& extensions "VK_KHR_", "VK_EXT_", "VK_KHX_", - "VK_NV_cooperative_matrix" + "VK_NV_cooperative_matrix", + "VK_NV_shading_rate_image", }; for (size_t extNdx = 0; extNdx < extensions.size(); extNdx++) diff --git a/external/vulkancts/modules/vulkan/vktTestPackage.cpp b/external/vulkancts/modules/vulkan/vktTestPackage.cpp index d2b8984..4520969 100644 --- a/external/vulkancts/modules/vulkan/vktTestPackage.cpp +++ b/external/vulkancts/modules/vulkan/vktTestPackage.cpp @@ -93,6 +93,7 @@ #include "vktTransformFeedbackTests.hpp" #include "vktDescriptorIndexingTests.hpp" #include "vktImagelessFramebufferTests.hpp" +#include "vktFragmentShaderInterlockTests.hpp" #include #include @@ -509,6 +510,7 @@ void TestPackage::init (void) addChild(TransformFeedback::createTests (m_testCtx)); addChild(DescriptorIndexing::createTests (m_testCtx)); addChild(imageless::createTests (m_testCtx)); + addChild(FragmentShaderInterlock::createTests(m_testCtx)); } } // vkt diff --git a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt index e0eabd6..81491ec 100644 --- a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt @@ -464928,3 +464928,579 @@ dEQP-VK.imageless_framebuffer.depth_stencil dEQP-VK.imageless_framebuffer.color_resolve dEQP-VK.imageless_framebuffer.depth_stencil_resolve dEQP-VK.imageless_framebuffer.multisubpass +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt index 5ca8dca..864ce90 100644 --- a/external/vulkancts/mustpass/master/vk-default.txt +++ b/external/vulkancts/mustpass/master/vk-default.txt @@ -464775,3 +464775,579 @@ dEQP-VK.imageless_framebuffer.depth_stencil dEQP-VK.imageless_framebuffer.color_resolve dEQP-VK.imageless_framebuffer.depth_stencil_resolve dEQP-VK.imageless_framebuffer.multisubpass +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.nodiscard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.image.shading_rate_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.pixel_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.sample_unordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_ordered.4xaa.sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.1xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.no_sample_shading.1024x1024 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.8x8 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.16x16 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.32x32 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.64x64 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.128x128 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.256x256 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.512x512 +dEQP-VK.fragment_shader_interlock.basic.discard.ssbo.shading_rate_unordered.4xaa.sample_shading.1024x1024 diff --git a/external/vulkancts/scripts/src/vulkan_core.h b/external/vulkancts/scripts/src/vulkan_core.h index 45a2530..7f3548b 100755 --- a/external/vulkancts/scripts/src/vulkan_core.h +++ b/external/vulkancts/scripts/src/vulkan_core.h @@ -492,6 +492,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000, VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, @@ -9381,6 +9382,18 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSampl #endif +#define VK_EXT_fragment_shader_interlock 1 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" +typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderSampleInterlock; + VkBool32 fragmentShaderPixelInterlock; + VkBool32 fragmentShaderShadingRateInterlock; +} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; + + #define VK_EXT_ycbcr_image_arrays 1 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" -- 2.7.4