From b9e8936bfb5e1ddce73140928342ab34f6a81bd9 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Mon, 20 Dec 2021 15:15:38 -0800 Subject: [PATCH] i915g: Turn off FP16 in the vertex shaders. This ended up being turned on in gallivm, but since we use nir_to_tgsi on the VS and TGSI doesn't have FP16, we can't let that happen. Fixes: f814a2449e2c ("llvmpipe: enable FP16 and update CL + traces piglit results.") Part-of: --- src/gallium/drivers/i915/i915_screen.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index d65d03d4231..d2ab19c4cda 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -283,7 +283,13 @@ i915_get_shader_param(struct pipe_screen *screen, enum pipe_shader_type shader, */ return 0; + /* i915 can't do these, and even if gallivm NIR can we call nir_to_tgsi + * manually and TGSI can't. + */ case PIPE_SHADER_CAP_INT16: + case PIPE_SHADER_CAP_FP16: + case PIPE_SHADER_CAP_FP16_DERIVATIVES: + case PIPE_SHADER_CAP_FP16_CONST_BUFFERS: return 0; case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: @@ -343,9 +349,6 @@ i915_get_shader_param(struct pipe_screen *screen, enum pipe_shader_type shader, case PIPE_SHADER_CAP_SUBROUTINES: return 0; case PIPE_SHADER_CAP_INT64_ATOMICS: - case PIPE_SHADER_CAP_FP16: - case PIPE_SHADER_CAP_FP16_DERIVATIVES: - case PIPE_SHADER_CAP_FP16_CONST_BUFFERS: case PIPE_SHADER_CAP_INT16: case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS: return 0;