anv: Advertise support for VK_EXT_fragment_shader_interlock
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 17 May 2019 16:33:23 +0000 (11:33 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Tue, 4 Jun 2019 17:30:51 +0000 (17:30 +0000)
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_extensions.py
src/intel/vulkan/anv_pipeline.c

index 243081939531dbe3e54fd2d79a0fefcec3b7503b..c78f97764338f915567c6be83f5aad55d4f405d8 100644 (file)
@@ -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;
index 2a556556b17c80b36dffaee926bef73a7e298fac..8468a72ab8d76f4c9c3879f898df7db93fa5ae1f 100644 (file)
@@ -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),
index f244b0c991b09ad7da9e873855bd4b254a9bcf3c..2a88b55a3912a287592952670349277467fdd610 100644 (file)
@@ -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,