mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 03:20:09 +01:00
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:
parent
515941202d
commit
ac14facf7a
4 changed files with 7 additions and 4 deletions
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue