hasvk: Don't claim shaderDenormPreserveFloat32 on gfx7
authorVäinö Mäkelä <vaino.o.makela@gmail.com>
Thu, 8 Dec 2022 15:53:03 +0000 (17:53 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 10 Feb 2023 16:34:01 +0000 (16:34 +0000)
From the Haswell PRM Vol. 7, "IEEE Floating Point Mode":
     "Single precision (F, Float) denorms are flushed to sign-preserved
      zero on input and output of any floating-point mathematical
      operation."

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20232>

src/intel/vulkan_hasvk/anv_device.c

index 037bc2c..c78416a 100644 (file)
@@ -1880,7 +1880,7 @@ anv_get_physical_device_properties_1_2(struct anv_physical_device *pdevice,
    p->shaderSignedZeroInfNanPreserveFloat16  = true;
 
    p->shaderDenormFlushToZeroFloat32         = true;
-   p->shaderDenormPreserveFloat32            = true;
+   p->shaderDenormPreserveFloat32            = pdevice->info.ver >= 8;
    p->shaderRoundingModeRTEFloat32           = true;
    p->shaderRoundingModeRTZFloat32           = true;
    p->shaderSignedZeroInfNanPreserveFloat32  = true;