intel/compiler: Handle all indirect lowering choices in brw_nir.c
Since everything flows through NIR and we're doing all of our indirect deref lowering there now, there's no reason to keep making those decisions in brw_compiler and stuffing them in the GLSL compiler structs. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5909>
This commit is contained in:

committed by
Marge Bot

parent
9005c9cae4
commit
c897cd0278
@@ -162,13 +162,13 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
|
||||
compiler->glsl_compiler_options[i].MaxIfDepth =
|
||||
devinfo->gen < 6 ? 16 : UINT_MAX;
|
||||
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectInput = true;
|
||||
/* We handle this in NIR */
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectInput = false;
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectOutput = false;
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectUniform = false;
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectTemp = false;
|
||||
|
||||
bool is_scalar = compiler->scalar_stage[i];
|
||||
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectOutput = is_scalar;
|
||||
compiler->glsl_compiler_options[i].EmitNoIndirectTemp = is_scalar;
|
||||
compiler->glsl_compiler_options[i].OptimizeForAOS = !is_scalar;
|
||||
|
||||
struct nir_shader_compiler_options *nir_options =
|
||||
@@ -199,13 +199,6 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
|
||||
compiler->glsl_compiler_options[i].ClampBlockIndicesToArrayBounds = true;
|
||||
}
|
||||
|
||||
compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectInput = false;
|
||||
compiler->glsl_compiler_options[MESA_SHADER_TESS_EVAL].EmitNoIndirectInput = false;
|
||||
compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectOutput = false;
|
||||
|
||||
if (compiler->scalar_stage[MESA_SHADER_GEOMETRY])
|
||||
compiler->glsl_compiler_options[MESA_SHADER_GEOMETRY].EmitNoIndirectInput = false;
|
||||
|
||||
return compiler;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user