summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2019-05-17 11:33:23 -0500
committerJason Ekstrand <jason@jlekstrand.net>2019-06-04 17:30:51 +0000
commitc2a0335bb00e5d33573568aa0e9ad30529da9925 (patch)
tree24ee24e5b9f0049bbac7fd9d3fe3336980d0533b
parent517680547163e423732ce0d8be69ac7b2000c484 (diff)
anv: Advertise support for VK_EXT_fragment_shader_interlock
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
-rw-r--r--src/intel/vulkan/anv_device.c9
-rw-r--r--src/intel/vulkan/anv_extensions.py1
-rw-r--r--src/intel/vulkan/anv_pipeline.c2
3 files changed, 12 insertions, 0 deletions
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,