summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Briano <ivan.briano@intel.com>2022-02-15 14:30:14 -0800
committerDylan Baker <dylan.c.baker@intel.com>2022-02-24 14:56:51 -0800
commitfa4d9f59348a4e426d51dda022b014fa166bbd6d (patch)
treec2172fda60543a9ecea27c29d55e776c537934e8
parent2a03c296fd78fd25bfcf1b02962b8d49bec0e4b6 (diff)
anv: only advertise 64b atomic floats if 64b floats are supported
Cc: 22.0 <mesa-stable> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15039> (cherry picked from commit 11544435ad69ee75039e9685a6e219395c67d7eb)
-rw-r--r--.pick_status.json2
-rw-r--r--src/intel/vulkan/anv_device.c6
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;