From 9ffd05b41ecebc70f2b1b58f4d155a409858ae2a Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Thu, 26 Aug 2021 10:19:59 -0700 Subject: [PATCH] anv: Advertise support for shaderBufferFloat64AtomicMinMax v1: - Just check has_lsc (Jason) Signed-off-by: Sagar Ghuge Reviewed-by: Jason Ekstrand Reviewed-by: Jordan Justen Part-of: --- src/intel/vulkan/anv_device.c | 4 ++-- src/intel/vulkan/anv_pipeline.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 6baf64f46e7..9afc5927fad 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1709,7 +1709,7 @@ void anv_GetPhysicalDeviceFeatures2( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *features = (void *)ext; features->shaderBufferFloat32Atomics = true; features->shaderBufferFloat32AtomicAdd = pdevice->info.has_lsc; - features->shaderBufferFloat64Atomics = false; + features->shaderBufferFloat64Atomics = pdevice->info.has_lsc; features->shaderBufferFloat64AtomicAdd = false; features->shaderSharedFloat32Atomics = true; features->shaderSharedFloat32AtomicAdd = false; @@ -1728,7 +1728,7 @@ void anv_GetPhysicalDeviceFeatures2( features->shaderBufferFloat16AtomicAdd = false; features->shaderBufferFloat16AtomicMinMax = false; features->shaderBufferFloat32AtomicMinMax = pdevice->info.ver >= 9; - features->shaderBufferFloat64AtomicMinMax = false; + features->shaderBufferFloat64AtomicMinMax = pdevice->info.has_lsc; features->shaderSharedFloat16Atomics = false; features->shaderSharedFloat16AtomicAdd = false; features->shaderSharedFloat16AtomicMinMax = false; diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 70eaa0eab37..ebb077fb375 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -115,6 +115,7 @@ anv_shader_compile_to_nir(struct anv_device *device, .float32_atomic_add = pdevice->info.has_lsc, .float32_atomic_min_max = pdevice->info.ver >= 9, .float64 = pdevice->info.ver >= 8, + .float64_atomic_min_max = pdevice->info.has_lsc, .fragment_shader_sample_interlock = pdevice->info.ver >= 9, .fragment_shader_pixel_interlock = pdevice->info.ver >= 9, .geometry_streams = true,