mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 23:30:10 +01:00
radeonsi: add a debug option to compile shaders when they're created
Tested-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
parent
99eef3b8b3
commit
b79c620663
3 changed files with 6 additions and 0 deletions
|
|
@ -323,6 +323,7 @@ static const struct debug_named_value common_debug_options[] = {
|
|||
{ "notiling", DBG_NO_TILING, "Disable tiling" },
|
||||
{ "switch_on_eop", DBG_SWITCH_ON_EOP, "Program WD/IA to switch on end-of-packet." },
|
||||
{ "forcedma", DBG_FORCE_DMA, "Use asynchronous DMA for all operations when possible." },
|
||||
{ "precompile", DBG_PRECOMPILE, "Compile one shader variant at shader creation." },
|
||||
|
||||
DEBUG_NAMED_VALUE_END /* must be last */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@
|
|||
#define DBG_NO_TILING (1 << 14)
|
||||
#define DBG_SWITCH_ON_EOP (1 << 15)
|
||||
#define DBG_FORCE_DMA (1 << 16)
|
||||
#define DBG_PRECOMPILE (1 << 17)
|
||||
/* The maximum allowed bit is 20. */
|
||||
|
||||
#define R600_MAP_BUFFER_ALIGNMENT 64
|
||||
|
|
|
|||
|
|
@ -465,6 +465,7 @@ static void *si_create_shader_state(struct pipe_context *ctx,
|
|||
const struct pipe_shader_state *state,
|
||||
unsigned pipe_shader_type)
|
||||
{
|
||||
struct si_screen *sscreen = (struct si_screen *)ctx->screen;
|
||||
struct si_shader_selector *sel = CALLOC_STRUCT(si_shader_selector);
|
||||
int i;
|
||||
|
||||
|
|
@ -494,6 +495,9 @@ static void *si_create_shader_state(struct pipe_context *ctx,
|
|||
}
|
||||
}
|
||||
|
||||
if (sscreen->b.debug_flags & DBG_PRECOMPILE)
|
||||
si_shader_select(ctx, sel);
|
||||
|
||||
return sel;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue