diff --git a/docs/features.txt b/docs/features.txt index 277ca841a84..244325fc444 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -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) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 23bdb235663..c1d738cc051 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -1 +1,2 @@ VK_EXT_descriptor_buffer on RADV +VK_AMD_shader_early_and_late_fragment_tests on RADV diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 2d1db985b9e..cb7c1251d4e 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -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; }