Mesa (master): anv: Advertise support for VK_EXT_fragment_shader_interlock

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 4 17:48:36 UTC 2019


Module: Mesa
Branch: master
Commit: c2a0335bb00e5d33573568aa0e9ad30529da9925
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2a0335bb00e5d33573568aa0e9ad30529da9925

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Fri May 17 11:33:23 2019 -0500

anv: Advertise support for VK_EXT_fragment_shader_interlock

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>

---

 src/intel/vulkan/anv_device.c      | 9 +++++++++
 src/intel/vulkan/anv_extensions.py | 1 +
 src/intel/vulkan/anv_pipeline.c    | 2 ++
 3 files changed, 12 insertions(+)

diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 24308193953..c78f9776433 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -1049,6 +1049,15 @@ void anv_GetPhysicalDeviceFeatures2(
          break;
       }
 
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
+         VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *features =
+            (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *)ext;
+         features->fragmentShaderSampleInterlock = pdevice->info.gen >= 9;
+         features->fragmentShaderPixelInterlock = pdevice->info.gen >= 9;
+         features->fragmentShaderShadingRateInterlock = false;
+         break;
+      }
+
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
          VkPhysicalDeviceHostQueryResetFeaturesEXT *features =
             (VkPhysicalDeviceHostQueryResetFeaturesEXT *)ext;
diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py
index 2a556556b17..8468a72ab8d 100644
--- a/src/intel/vulkan/anv_extensions.py
+++ b/src/intel/vulkan/anv_extensions.py
@@ -130,6 +130,7 @@ EXTENSIONS = [
     Extension('VK_EXT_display_surface_counter',           1, 'VK_USE_PLATFORM_DISPLAY_KHR'),
     Extension('VK_EXT_external_memory_dma_buf',           1, True),
     Extension('VK_EXT_external_memory_host',              1, True),
+    Extension('VK_EXT_fragment_shader_interlock',         1, 'device->info.gen >= 9'),
     Extension('VK_EXT_global_priority',                   1,
               'device->has_context_priority'),
     Extension('VK_EXT_host_query_reset',                  1, True),
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index f244b0c991b..2a88b55a391 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -145,6 +145,8 @@ anv_shader_compile_to_nir(struct anv_device *device,
          .draw_parameters = true,
          .float16 = pdevice->info.gen >= 8,
          .float64 = pdevice->info.gen >= 8,
+         .fragment_shader_sample_interlock = pdevice->info.gen >= 9,
+         .fragment_shader_pixel_interlock = pdevice->info.gen >= 9,
          .geometry_streams = true,
          .image_write_without_format = true,
          .int8 = pdevice->info.gen >= 8,




More information about the mesa-commit mailing list