freedreno: limit fp16 to frag and compute
authorRob Clark <robdclark@chromium.org>
Thu, 2 Apr 2020 21:07:51 +0000 (14:07 -0700)
committerMarge Bot <eric+marge@anholt.net>
Sat, 4 Apr 2020 00:07:10 +0000 (00:07 +0000)
To avoid dealing w/ some backend varying linking issues when mixing
precision vs geom/tess.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4423>

src/gallium/drivers/freedreno/freedreno_screen.c

index a0abeb1a7b41c64ad635daae4b039eabfb64ecd9..0838412138f1c72029f24a6a932edba88027f000 100644 (file)
@@ -558,6 +558,8 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
                return 0;
        case PIPE_SHADER_CAP_FP16:
                return ((is_a5xx(screen) || is_a6xx(screen)) &&
+                               (shader == PIPE_SHADER_COMPUTE ||
+                                       shader == PIPE_SHADER_FRAGMENT) &&
                                !(fd_mesa_debug & FD_DBG_NOFP16));
        case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
        case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS: