mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
freedreno/ir3: Extend debug helpers to support TCS/TES/GS
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
3da9a24f35
commit
1e6c873f1f
3 changed files with 19 additions and 7 deletions
|
|
@ -30,6 +30,9 @@
|
|||
|
||||
static const struct debug_named_value shader_debug_options[] = {
|
||||
{"vs", IR3_DBG_SHADER_VS, "Print shader disasm for vertex shaders"},
|
||||
{"tcs", IR3_DBG_SHADER_TCS, "Print shader disasm for tess ctrl shaders"},
|
||||
{"tes", IR3_DBG_SHADER_TES, "Print shader disasm for tess eval shaders"},
|
||||
{"gs", IR3_DBG_SHADER_GS, "Print shader disasm for geometry shaders"},
|
||||
{"fs", IR3_DBG_SHADER_FS, "Print shader disasm for fragment shaders"},
|
||||
{"cs", IR3_DBG_SHADER_CS, "Print shader disasm for compute shaders"},
|
||||
{"disasm", IR3_DBG_DISASM, "Dump NIR and adreno shader disassembly"},
|
||||
|
|
|
|||
|
|
@ -82,13 +82,16 @@ unsigned ir3_pointer_size(struct ir3_compiler *compiler)
|
|||
}
|
||||
|
||||
enum ir3_shader_debug {
|
||||
IR3_DBG_SHADER_VS = 0x01,
|
||||
IR3_DBG_SHADER_FS = 0x02,
|
||||
IR3_DBG_SHADER_CS = 0x04,
|
||||
IR3_DBG_DISASM = 0x08,
|
||||
IR3_DBG_OPTMSGS = 0x10,
|
||||
IR3_DBG_FORCES2EN = 0x20,
|
||||
IR3_DBG_NOUBOOPT = 0x40,
|
||||
IR3_DBG_SHADER_VS = 0x001,
|
||||
IR3_DBG_SHADER_TCS = 0x002,
|
||||
IR3_DBG_SHADER_TES = 0x004,
|
||||
IR3_DBG_SHADER_GS = 0x008,
|
||||
IR3_DBG_SHADER_FS = 0x010,
|
||||
IR3_DBG_SHADER_CS = 0x020,
|
||||
IR3_DBG_DISASM = 0x040,
|
||||
IR3_DBG_OPTMSGS = 0x080,
|
||||
IR3_DBG_FORCES2EN = 0x100,
|
||||
IR3_DBG_NOUBOOPT = 0x200,
|
||||
};
|
||||
|
||||
extern enum ir3_shader_debug ir3_shader_debug;
|
||||
|
|
@ -98,6 +101,9 @@ shader_debug_enabled(gl_shader_stage type)
|
|||
{
|
||||
switch (type) {
|
||||
case MESA_SHADER_VERTEX: return !!(ir3_shader_debug & IR3_DBG_SHADER_VS);
|
||||
case MESA_SHADER_TESS_CTRL: return !!(ir3_shader_debug & IR3_DBG_SHADER_TCS);
|
||||
case MESA_SHADER_TESS_EVAL: return !!(ir3_shader_debug & IR3_DBG_SHADER_TES);
|
||||
case MESA_SHADER_GEOMETRY: return !!(ir3_shader_debug & IR3_DBG_SHADER_GS);
|
||||
case MESA_SHADER_FRAGMENT: return !!(ir3_shader_debug & IR3_DBG_SHADER_FS);
|
||||
case MESA_SHADER_COMPUTE: return !!(ir3_shader_debug & IR3_DBG_SHADER_CS);
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -567,6 +567,9 @@ ir3_shader_stage(struct ir3_shader *shader)
|
|||
{
|
||||
switch (shader->type) {
|
||||
case MESA_SHADER_VERTEX: return "VERT";
|
||||
case MESA_SHADER_TESS_CTRL: return "TCS";
|
||||
case MESA_SHADER_TESS_EVAL: return "TES";
|
||||
case MESA_SHADER_GEOMETRY: return "GEOM";
|
||||
case MESA_SHADER_FRAGMENT: return "FRAG";
|
||||
case MESA_SHADER_COMPUTE: return "CL";
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue