pan/midgard: Pass shader stage to disassembler
Vertex texturing behaves differently from fragment texturing on some GPUs. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
committed by
Tomeu Vizoso
parent
515941202d
commit
ac14facf7a
@@ -1464,7 +1464,7 @@ print_texture_word(uint32_t *word, unsigned tabs)
|
||||
}
|
||||
|
||||
struct midgard_disasm_stats
|
||||
disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id)
|
||||
disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage stage)
|
||||
{
|
||||
uint32_t *words = (uint32_t *) code;
|
||||
unsigned num_words = size / 4;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <stddef.h>
|
||||
#include "compiler/shader_enums.h"
|
||||
|
||||
struct midgard_disasm_stats {
|
||||
/* Counts gleaned from disassembly, or negative if the field cannot be
|
||||
@@ -23,4 +24,4 @@ struct midgard_disasm_stats {
|
||||
};
|
||||
|
||||
struct midgard_disasm_stats
|
||||
disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id);
|
||||
disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage stage);
|
||||
|
||||
@@ -2697,7 +2697,7 @@ midgard_compile_shader_nir(struct midgard_screen *screen, nir_shader *nir, midga
|
||||
program->tls_size = ctx->tls_size;
|
||||
|
||||
if (midgard_debug & MIDGARD_DBG_SHADERS)
|
||||
disassemble_midgard(program->compiled.data, program->compiled.size, gpu_id);
|
||||
disassemble_midgard(program->compiled.data, program->compiled.size, gpu_id, ctx->stage);
|
||||
|
||||
if (midgard_debug & MIDGARD_DBG_SHADERDB) {
|
||||
unsigned nr_bundles = 0, nr_ins = 0;
|
||||
|
||||
@@ -1860,7 +1860,9 @@ pandecode_shader_disassemble(mali_ptr shader_ptr, int shader_no, int type,
|
||||
stats.quadword_count = 0;
|
||||
stats.helper_invocations = false;
|
||||
} else {
|
||||
stats = disassemble_midgard(code, sz, gpu_id);
|
||||
stats = disassemble_midgard(code, sz, gpu_id,
|
||||
type == JOB_TYPE_TILER ?
|
||||
MESA_SHADER_FRAGMENT : MESA_SHADER_VERTEX);
|
||||
}
|
||||
|
||||
/* Print shader-db stats */
|
||||
|
||||
Reference in New Issue
Block a user