radv: fix VK_KHR_shader_float_controls dependency on GFX6-7
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 24 Oct 2019 13:16:07 +0000 (15:16 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 25 Oct 2019 05:49:20 +0000 (07:49 +0200)
From the Vulkan spec 1.1.126 :
   "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR specifies
    that shader float controls for 32-bit floating point can be set
    independently; other bit widths must be set identically to each
    other."

Forgot to update this when I enabled that extension recently.

Fixes dEQP-VK.spirv_assembly.instruction.compute.float_controls.independence_settings.independence_setting

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_device.c

index aa466844ec42a0d093ed52ffb2f525bc42118a4b..b7dddd27a3a70a0e7843f2f6ac50d4f0dbc28789 100644 (file)
@@ -1520,10 +1520,10 @@ void radv_GetPhysicalDeviceProperties2(
                        properties->shaderSignedZeroInfNanPreserveFloat16 = pdevice->rad_info.chip_class >= GFX8;
 
                        properties->shaderDenormFlushToZeroFloat64 = false;
-                       properties->shaderDenormPreserveFloat64 = true;
-                       properties->shaderRoundingModeRTEFloat64 = true;
+                       properties->shaderDenormPreserveFloat64 = pdevice->rad_info.chip_class >= GFX8;
+                       properties->shaderRoundingModeRTEFloat64 = pdevice->rad_info.chip_class >= GFX8;
                        properties->shaderRoundingModeRTZFloat64 = false;
-                       properties->shaderSignedZeroInfNanPreserveFloat64 = true;
+                       properties->shaderSignedZeroInfNanPreserveFloat64 = pdevice->rad_info.chip_class >= GFX8;
                        break;
                }
                default: