From fa4d9f59348a4e426d51dda022b014fa166bbd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Tue, 15 Feb 2022 14:30:14 -0800 Subject: [PATCH] anv: only advertise 64b atomic floats if 64b floats are supported Cc: 22.0 Reviewed-by: Jason Ekstrand Part-of: (cherry picked from commit 11544435ad69ee75039e9685a6e219395c67d7eb) --- .pick_status.json | 2 +- src/intel/vulkan/anv_device.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index ca4ed28ba4b..6660c01787f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2083,7 +2083,7 @@ "description": "anv: only advertise 64b atomic floats if 64b floats are supported", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index cbb77b32d84..d8a43e22107 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1652,7 +1652,8 @@ void anv_GetPhysicalDeviceFeatures2( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *features = (void *)ext; features->shaderBufferFloat32Atomics = true; features->shaderBufferFloat32AtomicAdd = pdevice->info.has_lsc; - features->shaderBufferFloat64Atomics = pdevice->info.has_lsc; + features->shaderBufferFloat64Atomics = + pdevice->info.has_64bit_float && pdevice->info.has_lsc; features->shaderBufferFloat64AtomicAdd = false; features->shaderSharedFloat32Atomics = true; features->shaderSharedFloat32AtomicAdd = false; @@ -1671,7 +1672,8 @@ void anv_GetPhysicalDeviceFeatures2( features->shaderBufferFloat16AtomicAdd = false; features->shaderBufferFloat16AtomicMinMax = false; features->shaderBufferFloat32AtomicMinMax = pdevice->info.ver >= 9; - features->shaderBufferFloat64AtomicMinMax = pdevice->info.has_lsc; + features->shaderBufferFloat64AtomicMinMax = + pdevice->info.has_64bit_float && pdevice->info.has_lsc; features->shaderSharedFloat16Atomics = false; features->shaderSharedFloat16AtomicAdd = false; features->shaderSharedFloat16AtomicMinMax = false;