radv: advertise VK_AMD_shader_early_and_late_fragment_tests
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 9 Aug 2022 09:06:56 +0000 (11:06 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 14 Dec 2022 08:16:27 +0000 (08:16 +0000)
Pass all dEQP-VK.*early_and_late* tests on GFX10.3.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19738>

docs/features.txt
docs/relnotes/new_features.txt
src/amd/vulkan/radv_device.c

index 277ca84..244325f 100644 (file)
@@ -613,6 +613,7 @@ Khronos extensions that are not part of any Vulkan version:
   VK_AMD_shader_ballot                                  DONE (radv)
   VK_AMD_shader_core_properties                         DONE (radv)
   VK_AMD_shader_core_properties2                        DONE (radv)
+  VK_AMD_shader_early_and_late_fragment_tests           DONE (radv)
   VK_AMD_shader_explicit_vertex_parameter               DONE (radv)
   VK_AMD_shader_fragment_mask                           DONE (radv/gfx10.3-)
   VK_AMD_shader_image_load_store_lod                    DONE (radv)
index 23bdb23..c1d738c 100644 (file)
@@ -1 +1,2 @@
 VK_EXT_descriptor_buffer on RADV
+VK_AMD_shader_early_and_late_fragment_tests on RADV
index 2d1db98..cb7c125 100644 (file)
@@ -656,6 +656,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
       .AMD_shader_ballot = true,
       .AMD_shader_core_properties = true,
       .AMD_shader_core_properties2 = true,
+      .AMD_shader_early_and_late_fragment_tests = true,
       /* TODO: Figure out if it's possible to implement it on gfx11. */
       .AMD_shader_explicit_vertex_parameter = device->rad_info.gfx_level < GFX11,
       .AMD_shader_fragment_mask = device->use_fmask,
@@ -1976,6 +1977,12 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
          features->descriptorBufferPushDescriptors = true;
          break;
       }
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: {
+         VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD *features =
+            (VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD *)ext;
+         features->shaderEarlyAndLateFragmentTests = true;
+         break;
+      }
       default:
          break;
       }