aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2019-11-05 12:25:35 +0100
committerIago Toral Quiroga <[email protected]>2019-12-16 08:42:37 +0100
commit7cee56b1dfde82ae81850fbedc4afc778d911edd (patch)
treee5ff90988d2338494ee1d6eb0aff3d3519f91785
parenta1b7c0844ddcbdc5ab773cbe2f6312f34111bdd9 (diff)
v3d: disable lowering of indirect inputs
V3D can do indirect inputs so we don't need it. Also, the lowering produces horrible if-ladder code that is particularly bad for geometry shaders where inputs are always arrays and shader bodies usually have a loop indexing into them. This fixes a couple of geometry shader tests in CTS that would fail to register allocate otherwise. There are no changes in shader-db. Reviewed-by: Alejandro PiƱeiro <[email protected]>
-rw-r--r--src/gallium/drivers/v3d/v3d_screen.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c
index 935f3207239..a3eef791a42 100644
--- a/src/gallium/drivers/v3d/v3d_screen.c
+++ b/src/gallium/drivers/v3d/v3d_screen.c
@@ -334,6 +334,7 @@ v3d_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED:
return 0;
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
+ return 1;
case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
return 0;
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: