radv/llvm: enable VK_KHR_memory_model
authorRhys Perry <pendingchaos02@gmail.com>
Thu, 30 Jul 2020 10:07:22 +0000 (11:07 +0100)
committerMarge Bot <eric+marge@anholt.net>
Wed, 5 Aug 2020 09:45:54 +0000 (09:45 +0000)
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>

docs/relnotes/new_features.txt
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_extensions.py
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_shader.c

index 26ee559d4bf2b1b44e1bb7e2cd5a7020f8f6321a..49e9fedede877689ede5b52b9a7335645c1bd2c6 100644 (file)
@@ -24,4 +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.
+VK_KHR_memory_model on RADV.
index e572891d731c5770f9ba20bddd267cf08af46831..00df3a97dd6368ae6269f3ce7f75a9b707d1fbad 100644 (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 = !pdevice->use_llvm;
-       f->vulkanMemoryModelDeviceScope = !pdevice->use_llvm;
+       f->vulkanMemoryModel = true;
+       f->vulkanMemoryModelDeviceScope = true;
        f->vulkanMemoryModelAvailabilityVisibilityChains = false;
        f->shaderOutputViewportIndex = true;
        f->shaderOutputLayer = true;
index 45d24170bbb0340cf6d1dfb62a1e1643ec19d527..e5ab9d37a73dae41401601193b5270538e6d4dde 100644 (file)
@@ -110,7 +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_vulkan_memory_model',               3, True),
     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'),
index ad5d97d7463a48bd841f735cf49c2bfdabf4ba12..6d4df832fe5a43ede2b3efe631c8f18f0f25bac4 100644 (file)
@@ -2943,8 +2943,8 @@ VkResult radv_create_shaders(struct radv_pipeline *pipeline,
                                           nir_lower_non_uniform_ssbo_access |
                                           nir_lower_non_uniform_texture_access |
                                           nir_lower_non_uniform_image_access);
-                               NIR_PASS_V(nir[i], nir_lower_memory_model);
                        }
+                       NIR_PASS_V(nir[i], nir_lower_memory_model);
                }
        }
 
index 180cb0c97084755692b9f74b5f46f2a2984f5b57..f54b2e2a80633d6c2521bd4e142a8a5286d1711b 100644 (file)
@@ -409,8 +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,
+                               .vk_memory_model = true,
+                               .vk_memory_model_device_scope = true,
                        },
                        .ubo_addr_format = nir_address_format_32bit_index_offset,
                        .ssbo_addr_format = nir_address_format_32bit_index_offset,