Browse Source

anv: Advertise support for VK_KHR_variable_pointers

We don't support the general version yet because that requires us to
lower shared variables up-front in SPIR-V -> NIR.  This shouldn't be a
whole lot of work but it's not something we support today.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
tags/17.2-branchpoint
Jason Ekstrand 9 years ago
parent
commit
cd9fd68a50

+ 11
- 0
src/intel/vulkan/anv_device.c View File

@@ -492,6 +492,10 @@ static const VkExtensionProperties device_extensions[] = {
.extensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME,
.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;

+ 1
- 0
src/intel/vulkan/anv_entrypoints_gen.py View File

@@ -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',

+ 1
- 0
src/intel/vulkan/anv_pipeline.c View File

@@ -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 =

Loading…
Cancel
Save