radv: advertise VK_AMD_shader_fragment_mask
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 16 May 2019 10:26:16 +0000 (12:26 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 23 Jan 2020 10:48:02 +0000 (10:48 +0000)
Only for GFX8+ because it's untested on older generations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3304>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3304>

docs/relnotes/new_features.txt
src/amd/vulkan/radv_extensions.py
src/amd/vulkan/radv_shader.c

index 33a70d0017f2e3e298d0780cd0ed7aa8900656e9..b728bdb3cd5ef0397078451847012b269bf9b13f 100644 (file)
@@ -5,6 +5,7 @@ GL_EXT_direct_state_access for compatibility profile.
 VK_AMD_device_coherent_memory on RADV.
 VK_AMD_mixed_attachment_samples on RADV.
 VK_AMD_shader_image_load_store_lod on RADV.
+VK_AMD_shader_fragment_mask on RADV.
 VK_EXT_subgroup_size_control on RADV.
 VK_KHR_separate_depth_stencil_layouts on Intel, RADV.
 VK_KHR_shader_subgroup_extended_types on RADV.
index 81c013d9be77e898c170f77966182a1429ff2545..36e8b39be935e35240e4b64aa74ae80d40a4f592 100644 (file)
@@ -159,6 +159,7 @@ EXTENSIONS = [
     Extension('VK_AMD_shader_core_properties',            1, True),
     Extension('VK_AMD_shader_core_properties2',           1, True),
     Extension('VK_AMD_shader_image_load_store_lod',       1, True),
+    Extension('VK_AMD_shader_fragment_mask',              1, 'device->rad_info.chip_class >= GFX8'),
     Extension('VK_AMD_shader_info',                       1, True),
     Extension('VK_AMD_shader_trinary_minmax',             1, True),
     Extension('VK_GOOGLE_decorate_string',                1, True),
index bbf5cd746c474de746387d8b0638e4f0501d25dc..e407c9194c0ab1ed81dc027adae8da5934d146cf 100644 (file)
@@ -361,6 +361,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
                const struct spirv_to_nir_options spirv_options = {
                        .lower_ubo_ssbo_access_to_offsets = true,
                        .caps = {
+                               .amd_fragment_mask = true,
                                .amd_gcn_shader = true,
                                .amd_image_read_write_lod = true,
                                .amd_shader_ballot = device->physical_device->use_shader_ballot,