v3d: Hook up some shader-db output to GL_ARB_debug_output.

This allows the original shader-db project's run.c runner to parse things
easily, and is probably a good thing to have for GL_ARB_debug_output in
general.  I formatted it more like Intel's so I can mostly reuse their
report script.
This commit is contained in:
Eric Anholt
2018-12-20 07:45:58 -08:00
parent 87b251a940
commit 696f63f1b4
4 changed files with 55 additions and 2 deletions

View File

@@ -457,6 +457,10 @@ struct v3d_compile {
struct exec_list *cf_node_list;
const struct v3d_compiler *compiler;
void (*debug_output)(const char *msg,
void *debug_output_data);
void *debug_output_data;
/**
* Mapping from nir_register * or nir_ssa_def * to array of struct
* qreg for the values.
@@ -529,8 +533,8 @@ struct v3d_compile {
* space needs to be available in the spill BO per thread per QPU.
*/
uint32_t spill_size;
/* Shader-db stats for register spilling. */
uint32_t spills, fills;
/* Shader-db stats */
uint32_t spills, fills, loops;
/**
* Register spilling's per-thread base address, shared between each
* spill/fill's addressing calculations.
@@ -706,6 +710,9 @@ uint64_t *v3d_compile_vs(const struct v3d_compiler *compiler,
struct v3d_vs_key *key,
struct v3d_vs_prog_data *prog_data,
nir_shader *s,
void (*debug_output)(const char *msg,
void *debug_output_data),
void *debug_output_data,
int program_id, int variant_id,
uint32_t *final_assembly_size);
@@ -713,6 +720,9 @@ uint64_t *v3d_compile_fs(const struct v3d_compiler *compiler,
struct v3d_fs_key *key,
struct v3d_fs_prog_data *prog_data,
nir_shader *s,
void (*debug_output)(const char *msg,
void *debug_output_data),
void *debug_output_data,
int program_id, int variant_id,
uint32_t *final_assembly_size);