intel/compiler: Make visitors take debug_enabled as a parameter

The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779>
This commit is contained in:
Caio Marcelo de Oliveira Filho
2021-03-23 11:31:51 -07:00
committed by Marge Bot
parent 758eb18c6f
commit 7fb1e58651
25 changed files with 80 additions and 53 deletions

View File

@@ -682,7 +682,7 @@ fs_visitor::vfail(const char *format, va_list va)
this->fail_msg = msg;
if (debug_enabled) {
if (unlikely(debug_enabled)) {
fprintf(stderr, "%s", msg);
}
}
@@ -9104,7 +9104,8 @@ brw_compile_fs(const struct brw_compiler *compiler,
v8 = new fs_visitor(compiler, params->log_data, mem_ctx, &key->base,
&prog_data->base, nir, 8,
params->shader_time ? params->shader_time_index8 : -1);
params->shader_time ? params->shader_time_index8 : -1,
debug_enabled);
if (!v8->run_fs(allow_spilling, false /* do_rep_send */)) {
params->error_str = ralloc_strdup(mem_ctx, v8->fail_msg);
delete v8;
@@ -9135,7 +9136,8 @@ brw_compile_fs(const struct brw_compiler *compiler,
/* Try a SIMD16 compile */
v16 = new fs_visitor(compiler, params->log_data, mem_ctx, &key->base,
&prog_data->base, nir, 16,
params->shader_time ? params->shader_time_index16 : -1);
params->shader_time ? params->shader_time_index16 : -1,
debug_enabled);
v16->import_uniforms(v8);
if (!v16->run_fs(allow_spilling, params->use_rep_send)) {
compiler->shader_perf_log(params->log_data,
@@ -9162,7 +9164,8 @@ brw_compile_fs(const struct brw_compiler *compiler,
/* Try a SIMD32 compile */
v32 = new fs_visitor(compiler, params->log_data, mem_ctx, &key->base,
&prog_data->base, nir, 32,
params->shader_time ? params->shader_time_index32 : -1);
params->shader_time ? params->shader_time_index32 : -1,
debug_enabled);
v32->import_uniforms(v8);
if (!v32->run_fs(allow_spilling, false)) {
compiler->shader_perf_log(params->log_data,
@@ -9498,7 +9501,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
nir, 8, debug_enabled);
v8 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
&prog_data->base,
nir8, 8, shader_time_index);
nir8, 8, shader_time_index, debug_enabled);
if (!v8->run_cs(true /* allow_spilling */)) {
if (error_str)
*error_str = ralloc_strdup(mem_ctx, v8->fail_msg);
@@ -9524,7 +9527,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
nir, 16, debug_enabled);
v16 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
&prog_data->base,
nir16, 16, shader_time_index);
nir16, 16, shader_time_index, debug_enabled);
if (v8)
v16->import_uniforms(v8);
@@ -9572,7 +9575,7 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
nir, 32, debug_enabled);
v32 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
&prog_data->base,
nir32, 32, shader_time_index);
nir32, 32, shader_time_index, debug_enabled);
if (v8)
v32->import_uniforms(v8);
else if (v16)
@@ -9729,7 +9732,7 @@ brw_compile_bs(const struct brw_compiler *compiler, void *log_data,
if (likely(!(INTEL_DEBUG & DEBUG_NO8))) {
v8 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
&prog_data->base, shader,
8, -1 /* shader time */);
8, -1 /* shader time */, debug_enabled);
const bool allow_spilling = true;
if (!v8->run_bs(allow_spilling)) {
if (error_str)
@@ -9747,7 +9750,7 @@ brw_compile_bs(const struct brw_compiler *compiler, void *log_data,
if (!has_spilled && likely(!(INTEL_DEBUG & DEBUG_NO16))) {
v16 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
&prog_data->base, shader,
16, -1 /* shader time */);
16, -1 /* shader time */, debug_enabled);
const bool allow_spilling = (v == NULL);
if (!v16->run_bs(allow_spilling)) {
compiler->shader_perf_log(log_data,

View File

@@ -100,13 +100,15 @@ public:
const nir_shader *shader,
unsigned dispatch_width,
int shader_time_index,
bool debug_enabled,
const struct brw_vue_map *input_vue_map = NULL);
fs_visitor(const struct brw_compiler *compiler, void *log_data,
void *mem_ctx,
struct brw_gs_compile *gs_compile,
struct brw_gs_prog_data *prog_data,
const nir_shader *shader,
int shader_time_index);
int shader_time_index,
bool debug_enabled);
void init();
~fs_visitor();

View File

@@ -901,8 +901,10 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
const nir_shader *shader,
unsigned dispatch_width,
int shader_time_index,
bool debug_enabled,
const struct brw_vue_map *input_vue_map)
: backend_shader(compiler, log_data, mem_ctx, shader, prog_data),
: backend_shader(compiler, log_data, mem_ctx, shader, prog_data,
debug_enabled),
key(key), gs_compile(NULL), prog_data(prog_data),
input_vue_map(input_vue_map),
live_analysis(this), regpressure_analysis(this),
@@ -919,9 +921,10 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
struct brw_gs_compile *c,
struct brw_gs_prog_data *prog_data,
const nir_shader *shader,
int shader_time_index)
int shader_time_index,
bool debug_enabled)
: backend_shader(compiler, log_data, mem_ctx, shader,
&prog_data->base.base),
&prog_data->base.base, debug_enabled),
key(&c->key.base), gs_compile(c),
prog_data(&prog_data->base.base),
live_analysis(this), regpressure_analysis(this),

View File

@@ -719,7 +719,8 @@ backend_shader::backend_shader(const struct brw_compiler *compiler,
void *log_data,
void *mem_ctx,
const nir_shader *shader,
struct brw_stage_prog_data *stage_prog_data)
struct brw_stage_prog_data *stage_prog_data,
bool debug_enabled)
: compiler(compiler),
log_data(log_data),
devinfo(compiler->devinfo),
@@ -727,9 +728,9 @@ backend_shader::backend_shader(const struct brw_compiler *compiler,
stage_prog_data(stage_prog_data),
mem_ctx(mem_ctx),
cfg(NULL), idom_analysis(this),
stage(shader->info.stage)
stage(shader->info.stage),
debug_enabled(debug_enabled)
{
debug_enabled = INTEL_DEBUG & intel_debug_flag_for_shader_stage(stage);
stage_name = _mesa_shader_stage_to_string(stage);
stage_abbrev = _mesa_shader_stage_to_abbrev(stage);
}
@@ -1422,7 +1423,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
assembly = g.get_assembly();
} else {
brw::vec4_tes_visitor v(compiler, log_data, key, prog_data,
nir, mem_ctx, shader_time_index);
nir, mem_ctx, shader_time_index, debug_enabled);
if (!v.run()) {
if (error_str)
*error_str = ralloc_strdup(mem_ctx, v.fail_msg);

View File

@@ -47,7 +47,8 @@ protected:
void *log_data,
void *mem_ctx,
const nir_shader *shader,
struct brw_stage_prog_data *stage_prog_data);
struct brw_stage_prog_data *stage_prog_data,
bool debug_enabled);
public:
virtual ~backend_shader();

View File

@@ -2946,7 +2946,8 @@ brw_compile_vs(const struct brw_compiler *compiler,
fs_visitor v(compiler, params->log_data, mem_ctx, &key->base,
&prog_data->base.base, nir, 8,
params->shader_time ? params->shader_time_index : -1);
params->shader_time ? params->shader_time_index : -1,
debug_enabled);
if (!v.run_vs()) {
params->error_str = ralloc_strdup(mem_ctx, v.fail_msg);
return NULL;
@@ -2977,7 +2978,8 @@ brw_compile_vs(const struct brw_compiler *compiler,
vec4_vs_visitor v(compiler, params->log_data, key, prog_data,
nir, mem_ctx,
params->shader_time ? params->shader_time_index : -1);
params->shader_time ? params->shader_time_index : -1,
debug_enabled);
if (!v.run()) {
params->error_str = ralloc_strdup(mem_ctx, v.fail_msg);
return NULL;

View File

@@ -72,7 +72,8 @@ public:
const nir_shader *shader,
void *mem_ctx,
bool no_spills,
int shader_time_index);
int shader_time_index,
bool debug_enabled);
dst_reg dst_null_f()
{

View File

@@ -43,10 +43,11 @@ vec4_gs_visitor::vec4_gs_visitor(const struct brw_compiler *compiler,
const nir_shader *shader,
void *mem_ctx,
bool no_spills,
int shader_time_index)
int shader_time_index,
bool debug_enabled)
: vec4_visitor(compiler, log_data, &c->key.base.tex,
&prog_data->base, shader, mem_ctx,
no_spills, shader_time_index),
no_spills, shader_time_index, debug_enabled),
c(c),
gs_prog_data(prog_data)
{
@@ -820,7 +821,7 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
if (is_scalar) {
fs_visitor v(compiler, log_data, mem_ctx, &c, prog_data, nir,
shader_time_index);
shader_time_index, debug_enabled);
if (v.run_gs()) {
prog_data->base.dispatch_mode = DISPATCH_MODE_SIMD8;
prog_data->base.base.dispatch_grf_start_reg = v.payload.num_regs;
@@ -856,7 +857,8 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
prog_data->base.dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
brw::vec4_gs_visitor v(compiler, log_data, &c, prog_data, nir,
mem_ctx, true /* no_spills */, shader_time_index);
mem_ctx, true /* no_spills */,
shader_time_index, debug_enabled);
/* Backup 'nr_params' and 'param' as they can be modified by the
* the DUAL_OBJECT visitor. If it fails, we will run the fallback
@@ -926,12 +928,12 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
if (compiler->devinfo->gen >= 7)
gs = new brw::vec4_gs_visitor(compiler, log_data, &c, prog_data,
nir, mem_ctx, false /* no_spills */,
shader_time_index);
nir, mem_ctx, false /* no_spills */,
shader_time_index, debug_enabled);
else
gs = new brw::gen6_gs_visitor(compiler, log_data, &c, prog_data, prog,
nir, mem_ctx, false /* no_spills */,
shader_time_index);
nir, mem_ctx, false /* no_spills */,
shader_time_index, debug_enabled);
if (!gs->run()) {
if (error_str)

View File

@@ -47,7 +47,8 @@ public:
const nir_shader *shader,
void *mem_ctx,
bool no_spills,
int shader_time_index);
int shader_time_index,
bool debug_enabled);
virtual void nir_setup_inputs();

View File

@@ -41,9 +41,10 @@ vec4_tcs_visitor::vec4_tcs_visitor(const struct brw_compiler *compiler,
const nir_shader *nir,
void *mem_ctx,
int shader_time_index,
bool debug_enabled,
const struct brw_vue_map *input_vue_map)
: vec4_visitor(compiler, log_data, &key->base.tex, &prog_data->base,
nir, mem_ctx, false, shader_time_index),
nir, mem_ctx, false, shader_time_index, debug_enabled),
input_vue_map(input_vue_map), key(key)
{
}
@@ -459,7 +460,7 @@ brw_compile_tcs(const struct brw_compiler *compiler,
if (is_scalar) {
fs_visitor v(compiler, log_data, mem_ctx, &key->base,
&prog_data->base.base, nir, 8,
shader_time_index, &input_vue_map);
shader_time_index, debug_enabled, &input_vue_map);
if (!v.run_tcs()) {
if (error_str)
*error_str = ralloc_strdup(mem_ctx, v.fail_msg);
@@ -470,7 +471,7 @@ brw_compile_tcs(const struct brw_compiler *compiler,
fs_generator g(compiler, log_data, mem_ctx,
&prog_data->base.base, false, MESA_SHADER_TESS_CTRL);
if (INTEL_DEBUG & DEBUG_TCS) {
if (unlikely(debug_enabled)) {
g.enable_debug(ralloc_asprintf(mem_ctx,
"%s tessellation control shader %s",
nir->info.label ? nir->info.label
@@ -486,7 +487,8 @@ brw_compile_tcs(const struct brw_compiler *compiler,
assembly = g.get_assembly();
} else {
brw::vec4_tcs_visitor v(compiler, log_data, key, prog_data,
nir, mem_ctx, shader_time_index, &input_vue_map);
nir, mem_ctx, shader_time_index,
debug_enabled, &input_vue_map);
if (!v.run()) {
if (error_str)
*error_str = ralloc_strdup(mem_ctx, v.fail_msg);

View File

@@ -46,6 +46,7 @@ public:
const nir_shader *nir,
void *mem_ctx,
int shader_time_index,
bool debug_enabled,
const struct brw_vue_map *input_vue_map);
protected:

View File

@@ -39,9 +39,10 @@ vec4_tes_visitor::vec4_tes_visitor(const struct brw_compiler *compiler,
struct brw_tes_prog_data *prog_data,
const nir_shader *shader,
void *mem_ctx,
int shader_time_index)
int shader_time_index,
bool debug_enabled)
: vec4_visitor(compiler, log_data, &key->base.tex, &prog_data->base,
shader, mem_ctx, false, shader_time_index)
shader, mem_ctx, false, shader_time_index, debug_enabled)
{
}

View File

@@ -44,7 +44,8 @@ public:
struct brw_tes_prog_data *prog_data,
const nir_shader *nir,
void *mem_ctx,
int shader_time_index);
int shader_time_index,
bool debug_enabled);
protected:
virtual void nir_emit_intrinsic(nir_intrinsic_instr *instr);

View File

@@ -1763,8 +1763,10 @@ vec4_visitor::vec4_visitor(const struct brw_compiler *compiler,
const nir_shader *shader,
void *mem_ctx,
bool no_spills,
int shader_time_index)
: backend_shader(compiler, log_data, mem_ctx, shader, &prog_data->base),
int shader_time_index,
bool debug_enabled)
: backend_shader(compiler, log_data, mem_ctx, shader, &prog_data->base,
debug_enabled),
key_tex(key_tex),
prog_data(prog_data),
fail_msg(NULL),
@@ -1810,7 +1812,7 @@ vec4_visitor::fail(const char *format, ...)
this->fail_msg = msg;
if (debug_enabled) {
if (unlikely(debug_enabled)) {
fprintf(stderr, "%s", msg);
}
}

View File

@@ -37,7 +37,8 @@ public:
struct brw_vs_prog_data *vs_prog_data,
const nir_shader *shader,
void *mem_ctx,
int shader_time_index);
int shader_time_index,
bool debug_enabled);
protected:
virtual void setup_payload();

View File

@@ -103,9 +103,11 @@ vec4_vs_visitor::vec4_vs_visitor(const struct brw_compiler *compiler,
struct brw_vs_prog_data *vs_prog_data,
const nir_shader *shader,
void *mem_ctx,
int shader_time_index)
int shader_time_index,
bool debug_enabled)
: vec4_visitor(compiler, log_data, &key->base.tex, &vs_prog_data->base,
shader, mem_ctx, false /* no_spills */, shader_time_index),
shader, mem_ctx, false /* no_spills */, shader_time_index,
debug_enabled),
key(key),
vs_prog_data(vs_prog_data)
{

View File

@@ -43,9 +43,10 @@ public:
const nir_shader *shader,
void *mem_ctx,
bool no_spills,
int shader_time_index) :
int shader_time_index,
bool debug_enabled) :
vec4_gs_visitor(comp, log_data, c, prog_data, shader, mem_ctx, no_spills,
shader_time_index),
shader_time_index, debug_enabled),
prog(prog)
{
}

View File

@@ -59,7 +59,7 @@ public:
struct brw_wm_prog_data *prog_data,
nir_shader *shader)
: fs_visitor(compiler, NULL, mem_ctx, NULL,
&prog_data->base, shader, 8, -1) {}
&prog_data->base, shader, 8, -1, false) {}
};

View File

@@ -49,7 +49,7 @@ public:
struct brw_wm_prog_data *prog_data,
nir_shader *shader)
: fs_visitor(compiler, NULL, mem_ctx, NULL,
&prog_data->base, shader, 8, -1) {}
&prog_data->base, shader, 8, -1, false) {}
};

View File

@@ -49,7 +49,7 @@ public:
struct brw_wm_prog_data *prog_data,
nir_shader *shader)
: fs_visitor(compiler, NULL, mem_ctx, NULL,
&prog_data->base, shader, 16, -1) {}
&prog_data->base, shader, 16, -1, false) {}
};

View File

@@ -52,7 +52,7 @@ void scoreboard_test::SetUp()
nir_shader *shader =
nir_shader_create(ctx, MESA_SHADER_FRAGMENT, NULL, NULL);
v = new fs_visitor(compiler, NULL, ctx, NULL, &prog_data->base, shader, 8, -1);
v = new fs_visitor(compiler, NULL, ctx, NULL, &prog_data->base, shader, 8, -1, false);
devinfo->gen = 12;
devinfo->genx10 = devinfo->gen * 10;

View File

@@ -52,7 +52,7 @@ public:
nir_shader *shader,
struct brw_vue_prog_data *prog_data)
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, mem_ctx,
false, -1)
false, -1, false)
{
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
}

View File

@@ -50,7 +50,7 @@ public:
nir_shader *shader,
struct brw_vue_prog_data *prog_data)
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, mem_ctx,
false /* no_spills */, -1)
false /* no_spills */, -1, false)
{
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
}

View File

@@ -48,7 +48,7 @@ public:
nir_shader *shader,
struct brw_vue_prog_data *prog_data)
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, mem_ctx,
false /* no_spills */, -1)
false /* no_spills */, -1, false)
{
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
}

View File

@@ -53,7 +53,7 @@ public:
nir_shader *shader,
struct brw_vue_prog_data *prog_data)
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, mem_ctx,
false /* no_spills */, -1)
false /* no_spills */, -1, false)
{
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
}