radv/aco: enable VK_KHR_memory_model

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6063>
This commit is contained in:
Rhys Perry 2020-07-24 17:11:45 +01:00 committed by Marge Bot
parent 389c95a889
commit da38e99eda
4 changed files with 14 additions and 2 deletions

View File

@ -24,3 +24,4 @@ RADV_DEBUG=llvm option to enable LLVM backend for RADV
VK_EXT_image_robustness for ANV
VK_EXT_shader_atomic_float on ANV
VK_EXT_4444_formats on ANV and RADV.
VK_KHR_memory_model on RADV/ACO.

View File

@ -1041,8 +1041,8 @@ radv_get_physical_device_features_1_2(struct radv_physical_device *pdevice,
f->bufferDeviceAddress = true;
f->bufferDeviceAddressCaptureReplay = false;
f->bufferDeviceAddressMultiDevice = false;
f->vulkanMemoryModel = false;
f->vulkanMemoryModelDeviceScope = false;
f->vulkanMemoryModel = !pdevice->use_llvm;
f->vulkanMemoryModelDeviceScope = !pdevice->use_llvm;
f->vulkanMemoryModelAvailabilityVisibilityChains = false;
f->shaderOutputViewportIndex = true;
f->shaderOutputLayer = true;
@ -1366,6 +1366,14 @@ void radv_GetPhysicalDeviceFeatures2(
features-> pipelineCreationCacheControl = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: {
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *features =
(VkPhysicalDeviceVulkanMemoryModelFeaturesKHR *)ext;
CORE_FEATURE(1, 2, vulkanMemoryModel);
CORE_FEATURE(1, 2, vulkanMemoryModelDeviceScope);
CORE_FEATURE(1, 2, vulkanMemoryModelAvailabilityVisibilityChains);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *features =
(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *) ext;

View File

@ -110,6 +110,7 @@ EXTENSIONS = [
Extension('VK_KHR_timeline_semaphore', 2, 'device->rad_info.has_syncobj_wait_for_submit'),
Extension('VK_KHR_uniform_buffer_standard_layout', 1, True),
Extension('VK_KHR_variable_pointers', 1, True),
Extension('VK_KHR_vulkan_memory_model', 3, '!device->use_llvm'),
Extension('VK_KHR_wayland_surface', 6, 'VK_USE_PLATFORM_WAYLAND_KHR'),
Extension('VK_KHR_xcb_surface', 6, 'VK_USE_PLATFORM_XCB_KHR'),
Extension('VK_KHR_xlib_surface', 6, 'VK_USE_PLATFORM_XLIB_KHR'),

View File

@ -409,6 +409,8 @@ radv_shader_compile_to_nir(struct radv_device *device,
.tessellation = true,
.transform_feedback = true,
.variable_pointers = true,
.vk_memory_model = !device->physical_device->use_llvm,
.vk_memory_model_device_scope = !device->physical_device->use_llvm,
},
.ubo_addr_format = nir_address_format_32bit_index_offset,
.ssbo_addr_format = nir_address_format_32bit_index_offset,