bifrost_compile_shader_nir(s, &program, dev->gpu_id);
} else {
midgard_compile_shader_nir(s, &program, false, 0, dev->gpu_id,
- dev->debug & PAN_DBG_PRECOMPILE);
+ dev->debug & PAN_DBG_PRECOMPILE, false);
}
/* Prepare the compiled binary for upload */
.rt_formats = {format}
};
- midgard_compile_shader_nir(shader, &program, true, rt, dev->gpu_id, false);
+ midgard_compile_shader_nir(shader, &program, true, rt, dev->gpu_id, false, false);
/* Allow us to patch later */
res.patch_index = program.blend_patch_offset;
else
nir_store_var(b, c_out, nir_channel(b, &tex->dest.ssa, 0), 0xFF);
- midgard_compile_shader_nir(shader, program, false, 0, gpu_id, false);
+ midgard_compile_shader_nir(shader, program, false, 0, gpu_id, false, true);
}
/* Compile and upload all possible blit shaders ahead-of-time to reduce draw
}
int
-midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_blend, unsigned blend_rt, unsigned gpu_id, bool shaderdb)
+midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_blend, unsigned blend_rt, unsigned gpu_id, bool shaderdb, bool silent)
{
struct util_dynarray *compiled = &program->compiled;
NIR_PASS_V(nir, midgard_nir_reorder_writeout);
- if (midgard_debug & MIDGARD_DBG_SHADERS) {
+ if ((midgard_debug & MIDGARD_DBG_SHADERS) && !silent) {
nir_print_shader(nir, stdout);
}
program->blend_patch_offset = ctx->blend_constant_offset;
program->tls_size = ctx->tls_size;
- if (midgard_debug & MIDGARD_DBG_SHADERS)
+ if ((midgard_debug & MIDGARD_DBG_SHADERS) && !silent)
disassemble_midgard(stdout, program->compiled.data, program->compiled.size, gpu_id, ctx->stage);
- if (midgard_debug & MIDGARD_DBG_SHADERDB || shaderdb) {
+ if ((midgard_debug & MIDGARD_DBG_SHADERDB || shaderdb) && !silent) {
unsigned nr_bundles = 0, nr_ins = 0;
/* Count instructions and bundles */
#include "panfrost/util/pan_ir.h"
int
-midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_blend, unsigned blend_rt, unsigned gpu_id, bool shaderdb);
+midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_blend, unsigned blend_rt, unsigned gpu_id, bool shaderdb, bool silent);
/* NIR options are shared between the standalone compiler and the online
* compiler. Defining it here is the simplest, though maybe not the Right