From: Iago Toral Quiroga Date: Tue, 5 Nov 2019 11:25:35 +0000 (+0100) Subject: v3d: disable lowering of indirect inputs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7cee56b1dfde82ae81850fbedc4afc778d911edd;p=mesa.git 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 --- 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: