diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/vulkan/anv_device.c | 11 | ||||
-rw-r--r-- | src/intel/vulkan/anv_entrypoints_gen.py | 1 | ||||
-rw-r--r-- | src/intel/vulkan/anv_pipeline.c | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index b13d6e0423d..c72a1006749 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -493,6 +493,10 @@ static const VkExtensionProperties device_extensions[] = { .specVersion = 68, }, { + .extensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, + .specVersion = 1, + }, + { .extensionName = VK_KHX_MULTIVIEW_EXTENSION_NAME, .specVersion = 1, }, @@ -748,6 +752,13 @@ void anv_GetPhysicalDeviceFeatures2KHR( break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: { + VkPhysicalDeviceVariablePointerFeaturesKHR *features = (void *)ext; + features->variablePointersStorageBuffer = true; + features->variablePointers = false; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index 3be8a0388d1..e2ced380d36 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -49,6 +49,7 @@ SUPPORTED_EXTENSIONS = [ 'VK_KHR_storage_buffer_storage_class', 'VK_KHR_surface', 'VK_KHR_swapchain', + 'VK_KHR_variable_pointers', 'VK_KHR_wayland_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface', diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 047f90ce08a..6ae682fd8d0 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -129,6 +129,7 @@ anv_shader_compile_to_nir(struct anv_pipeline *pipeline, .draw_parameters = true, .image_write_without_format = true, .multiview = true, + .variable_pointers = true, }; nir_function *entry_point = |