Lines Matching refs:compiler
28 #include "compiler/nir/nir.h"
93 struct brw_compiler *compiler = rzalloc(mem_ctx, struct brw_compiler);
95 compiler->devinfo = devinfo;
97 brw_fs_alloc_reg_sets(compiler);
98 brw_vec4_alloc_reg_set(compiler);
101 compiler->precise_trig = env_var_as_boolean("INTEL_PRECISE_TRIG", false);
106 compiler->scalar_stage[i] = true;
108 compiler->scalar_stage[MESA_SHADER_VERTEX] =
110 compiler->scalar_stage[MESA_SHADER_TESS_CTRL] =
112 compiler->scalar_stage[MESA_SHADER_TESS_EVAL] =
114 compiler->scalar_stage[MESA_SHADER_GEOMETRY] =
116 compiler->scalar_stage[MESA_SHADER_FRAGMENT] = true;
117 compiler->scalar_stage[MESA_SHADER_COMPUTE] = true;
156 /* We want the GLSL compiler to emit code that uses condition codes */
158 compiler->glsl_compiler_options[i].MaxUnrollIterations = 0;
159 compiler->glsl_compiler_options[i].MaxIfDepth =
162 compiler->glsl_compiler_options[i].EmitNoIndirectInput = true;
163 compiler->glsl_compiler_options[i].EmitNoIndirectUniform = false;
165 bool is_scalar = compiler->scalar_stage[i];
167 compiler->glsl_compiler_options[i].EmitNoIndirectOutput = is_scalar;
168 compiler->glsl_compiler_options[i].EmitNoIndirectTemp = is_scalar;
169 compiler->glsl_compiler_options[i].OptimizeForAOS = !is_scalar;
172 rzalloc(compiler, struct nir_shader_compiler_options);
195 compiler->glsl_compiler_options[i].NirOptions = nir_options;
197 compiler->glsl_compiler_options[i].ClampBlockIndicesToArrayBounds = true;
200 compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectInput = false;
201 compiler->glsl_compiler_options[MESA_SHADER_TESS_EVAL].EmitNoIndirectInput = false;
202 compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectOutput = false;
204 if (compiler->scalar_stage[MESA_SHADER_GEOMETRY])
205 compiler->glsl_compiler_options[MESA_SHADER_GEOMETRY].EmitNoIndirectInput = false;
207 return compiler;
217 brw_get_compiler_config_value(const struct brw_compiler *compiler)
220 insert_u64_bit(&config, compiler->precise_trig);
221 if (compiler->devinfo->gen >= 8 && compiler->devinfo->gen < 10) {
222 insert_u64_bit(&config, compiler->scalar_stage[MESA_SHADER_VERTEX]);
223 insert_u64_bit(&config, compiler->scalar_stage[MESA_SHADER_TESS_CTRL]);
224 insert_u64_bit(&config, compiler->scalar_stage[MESA_SHADER_TESS_EVAL]);
225 insert_u64_bit(&config, compiler->scalar_stage[MESA_SHADER_GEOMETRY]);