On 01/11/2017 07:00 PM, Roland Scheidegger wrote:
I don't think there's any glsl, es or otherwise, specification which
would require denorms (since obviously lots of hw can't do it, d3d10
forbids them), with any precision qualifier. Hence these look like bugs
of the test suite to me?
(Irrespective if it's a good idea or not to enable denormals, which I
don't realy know.)
That test works on NVIDIA hw (both with blob and nouveau) and IIRC it
also works on Intel hw. I don't think it's buggy there.
Roland
Am 11.01.2017 um 18:29 schrieb Samuel Pitoiset:
Only VI can do 32-bit denormals at full rate while previous
generations can do it only for 64-bit and 16-bit.
This fixes some dEQP tests with the highp type qualifier.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99343
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
src/gallium/drivers/radeonsi/si_shader.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 5dfbd6603a..e9cb11883f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -6361,8 +6361,10 @@ int si_compile_llvm(struct si_screen *sscreen,
si_shader_binary_read_config(binary, conf, 0);
- /* Enable 64-bit and 16-bit denormals, because there is no performance
- * cost.
+ /* Enable denormals when there is no performance cost.
+ *
+ * Only VI can do 32-bit denormals at full rate while previous
+ * generations can do it only for 64-bit and 16-bit.
*
* If denormals are enabled, all floating-point output modifiers are
* ignored.
@@ -6373,7 +6375,10 @@ int si_compile_llvm(struct si_screen *sscreen,
* have to stop using those.
* - SI & CI would be very slow.
*/
- conf->float_mode |= V_00B028_FP_64_DENORMS;
+ if (sscreen->b.chip_class >= VI)
+ conf->float_mode |= V_00B028_FP_ALL_DENORMS;
+ else
+ conf->float_mode |= V_00B028_FP_64_DENORMS;
FREE(binary->config);
FREE(binary->global_symbol_offsets);
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev