radv: Add support for VK_KHR_variable_pointers.
Just a trivial enable. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Connor Abbott <cwabbott0@gmail.com> Acked-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -157,6 +157,10 @@ static const VkExtensionProperties common_device_extensions[] = {
|
|||||||
.extensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME,
|
.extensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME,
|
||||||
.specVersion = 1,
|
.specVersion = 1,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.extensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME,
|
||||||
|
.specVersion = 1,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static VkResult
|
static VkResult
|
||||||
@@ -589,6 +593,18 @@ void radv_GetPhysicalDeviceFeatures2KHR(
|
|||||||
VkPhysicalDevice physicalDevice,
|
VkPhysicalDevice physicalDevice,
|
||||||
VkPhysicalDeviceFeatures2KHR *pFeatures)
|
VkPhysicalDeviceFeatures2KHR *pFeatures)
|
||||||
{
|
{
|
||||||
|
vk_foreach_struct(ext, pFeatures->pNext) {
|
||||||
|
switch (ext->sType) {
|
||||||
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: {
|
||||||
|
VkPhysicalDeviceVariablePointerFeaturesKHR *features = (void *)ext;
|
||||||
|
features->variablePointersStorageBuffer = true;
|
||||||
|
features->variablePointers = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
return radv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
|
return radv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -48,6 +48,7 @@ supported_extensions = [
|
|||||||
'VK_KHR_external_memory',
|
'VK_KHR_external_memory',
|
||||||
'VK_KHR_external_memory_fd',
|
'VK_KHR_external_memory_fd',
|
||||||
'VK_KHR_storage_buffer_storage_class',
|
'VK_KHR_storage_buffer_storage_class',
|
||||||
|
'VK_KHR_variable_pointers',
|
||||||
]
|
]
|
||||||
|
|
||||||
# We generate a static hash table for entry point lookup
|
# We generate a static hash table for entry point lookup
|
||||||
|
@@ -230,6 +230,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
|
|||||||
.image_write_without_format = true,
|
.image_write_without_format = true,
|
||||||
.tessellation = true,
|
.tessellation = true,
|
||||||
.int64 = true,
|
.int64 = true,
|
||||||
|
.variable_pointers = true,
|
||||||
};
|
};
|
||||||
entry_point = spirv_to_nir(spirv, module->size / 4,
|
entry_point = spirv_to_nir(spirv, module->size / 4,
|
||||||
spec_entries, num_spec_entries,
|
spec_entries, num_spec_entries,
|
||||||
|
Reference in New Issue
Block a user