radv: Enable VK_KHR_shader_atomic_int64
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fri, 2 Aug 2019 00:16:23 +0000 (02:16 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fri, 2 Aug 2019 10:26:32 +0000 (12:26 +0200)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
docs/relnotes/19.2.0.html
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_extensions.py

index 2d1c39a81af42e0448dbf587ededfec749692cbc..45ec8034aed49ca7eb13a57071f7e75243c57cd3 100644 (file)
@@ -44,6 +44,7 @@ TBD.
 <li>EGL_EXT_platform_device</li>
 <li>VK_EXT_queue_family_foreign for radv</li>
 <li>VK_EXT_shader_demote_to_helper_invocation on Intel.</li>
+<li>VK_KHR_shader_atomic_int64 for radv</li>
 </ul>
 
 <h2>Bug fixes</h2>
index fc961040b6e047c6661cc7a5a6df4717f6745b8d..0065b15dfdfc4c08e4fcc401cad460ccc90d8abb 100644 (file)
@@ -973,11 +973,8 @@ void radv_GetPhysicalDeviceFeatures2(
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: {
                        VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features =
                                (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *)ext;
-                       /* TODO: Enable this once the driver supports 64-bit
-                        * compare&swap atomic operations.
-                        */
-                       features->shaderBufferInt64Atomics = false;
-                       features->shaderSharedInt64Atomics = false;
+                       features->shaderBufferInt64Atomics = HAVE_LLVM >= 0x0900;
+                       features->shaderSharedInt64Atomics = HAVE_LLVM >= 0x0900;
                        break;
                }
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
index ec3735c55b845da95cf452a216b9fd0bc95979cf..aaedad554b39c0a33a726f266547c156c8d3edbf 100644 (file)
@@ -83,7 +83,7 @@ EXTENSIONS = [
     Extension('VK_KHR_relaxed_block_layout',              1, True),
     Extension('VK_KHR_sampler_mirror_clamp_to_edge',      1, True),
     Extension('VK_KHR_sampler_ycbcr_conversion',          1, True),
-    Extension('VK_KHR_shader_atomic_int64',               1, False),
+    Extension('VK_KHR_shader_atomic_int64',               1, 'HAVE_LLVM >= 0x0900'),
     Extension('VK_KHR_shader_draw_parameters',            1, True),
     Extension('VK_KHR_shader_float16_int8',               1, True),
     Extension('VK_KHR_storage_buffer_storage_class',      1, True),