From: Kenneth Graunke Date: Wed, 21 Nov 2018 02:16:02 +0000 (-0800) Subject: iris: Lie about indirects X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=beb2d5e0657ce4c4df8956be7ef46ced90fc6994;p=mesa.git iris: Lie about indirects fixes interpolateAt tests --- 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: