From beb2d5e0657ce4c4df8956be7ef46ced90fc6994 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 20 Nov 2018 18:16:02 -0800 Subject: [PATCH] iris: Lie about indirects fixes interpolateAt tests --- src/gallium/drivers/iris/iris_screen.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index f2c45e5ec6e..1216933c66d 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -324,13 +324,14 @@ iris_get_shader_param(struct pipe_screen *pscreen, case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: return 0; case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR: - return !compiler->glsl_compiler_options[stage].EmitNoIndirectInput; case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR: - return !compiler->glsl_compiler_options[stage].EmitNoIndirectOutput; case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: - return !compiler->glsl_compiler_options[stage].EmitNoIndirectTemp; case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR: - return 1; + /* Lie about these to avoid st/mesa's GLSL IR lowering of indirects, + * which we don't want. Our compiler backend will check brw_compiler's + * options and call nir_lower_indirect_derefs appropriately anyway. + */ + return true; case PIPE_SHADER_CAP_SUBROUTINES: return 0; case PIPE_SHADER_CAP_INTEGERS: -- 2.30.2