radv/aco: enable 64-bit atomic features if RADV is linked with LLVM 8
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 4 Jun 2020 12:53:20 +0000 (14:53 +0200)
committerMarge Bot <eric+marge@anholt.net>
Fri, 5 Jun 2020 07:40:29 +0000 (07:40 +0000)
Just in case someone links RADV with this old LLVM 8 and wants ACO.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5331>

src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_extensions.py

index 4d3d0de..674e21e 100644 (file)
@@ -981,8 +981,8 @@ radv_get_physical_device_features_1_2(struct radv_physical_device *pdevice,
        f->storageBuffer8BitAccess = !pdevice->use_aco || pdevice->rad_info.chip_class >= GFX8;
        f->uniformAndStorageBuffer8BitAccess = !pdevice->use_aco || pdevice->rad_info.chip_class >= GFX8;
        f->storagePushConstant8 = !pdevice->use_aco || pdevice->rad_info.chip_class >= GFX8;
-       f->shaderBufferInt64Atomics = LLVM_VERSION_MAJOR >= 9;
-       f->shaderSharedInt64Atomics = LLVM_VERSION_MAJOR >= 9;
+       f->shaderBufferInt64Atomics = LLVM_VERSION_MAJOR >= 9 || pdevice->use_aco;
+       f->shaderSharedInt64Atomics = LLVM_VERSION_MAJOR >= 9 || pdevice->use_aco;
        f->shaderFloat16 = pdevice->rad_info.has_packed_math_16bit && !pdevice->use_aco;
        f->shaderInt8 = !pdevice->use_aco || pdevice->rad_info.chip_class >= GFX8;
 
index ffe1dae..fe9c965 100644 (file)
@@ -94,7 +94,7 @@ EXTENSIONS = [
     Extension('VK_KHR_sampler_mirror_clamp_to_edge',      1, True),
     Extension('VK_KHR_sampler_ycbcr_conversion',          1, True),
     Extension('VK_KHR_separate_depth_stencil_layouts',    1, True),
-    Extension('VK_KHR_shader_atomic_int64',               1, 'LLVM_VERSION_MAJOR >= 9'),
+    Extension('VK_KHR_shader_atomic_int64',               1, 'LLVM_VERSION_MAJOR >= 9 || device->use_aco'),
     Extension('VK_KHR_shader_clock',                      1, True),
     Extension('VK_KHR_shader_draw_parameters',            1, True),
     Extension('VK_KHR_shader_float_controls',             1, True),