mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 09:10:11 +01:00
radeonsi: Add option for SI scheduler
Add a debug option to select the LLVM SI Machine Scheduler. R600_DEBUG=sisched Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
f9c43dd22f
commit
dda7a84986
3 changed files with 7 additions and 1 deletions
|
|
@ -409,6 +409,7 @@ static const struct debug_named_value common_debug_options[] = {
|
||||||
{ "nodcc", DBG_NO_DCC, "Disable DCC." },
|
{ "nodcc", DBG_NO_DCC, "Disable DCC." },
|
||||||
{ "nodccclear", DBG_NO_DCC_CLEAR, "Disable DCC fast clear." },
|
{ "nodccclear", DBG_NO_DCC_CLEAR, "Disable DCC fast clear." },
|
||||||
{ "norbplus", DBG_NO_RB_PLUS, "Disable RB+ on Stoney." },
|
{ "norbplus", DBG_NO_RB_PLUS, "Disable RB+ on Stoney." },
|
||||||
|
{ "sisched", DBG_SI_SCHED, "Enable LLVM SI Machine Instruction Scheduler." },
|
||||||
|
|
||||||
DEBUG_NAMED_VALUE_END /* must be last */
|
DEBUG_NAMED_VALUE_END /* must be last */
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@
|
||||||
#define DBG_NO_DCC (1llu << 43)
|
#define DBG_NO_DCC (1llu << 43)
|
||||||
#define DBG_NO_DCC_CLEAR (1llu << 44)
|
#define DBG_NO_DCC_CLEAR (1llu << 44)
|
||||||
#define DBG_NO_RB_PLUS (1llu << 45)
|
#define DBG_NO_RB_PLUS (1llu << 45)
|
||||||
|
#define DBG_SI_SCHED (1llu << 46)
|
||||||
|
|
||||||
#define R600_MAP_BUFFER_ALIGNMENT 64
|
#define R600_MAP_BUFFER_ALIGNMENT 64
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,11 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
|
||||||
r600_target = radeon_llvm_get_r600_target(triple);
|
r600_target = radeon_llvm_get_r600_target(triple);
|
||||||
sctx->tm = LLVMCreateTargetMachine(r600_target, triple,
|
sctx->tm = LLVMCreateTargetMachine(r600_target, triple,
|
||||||
r600_get_llvm_processor_name(sscreen->b.family),
|
r600_get_llvm_processor_name(sscreen->b.family),
|
||||||
"+DumpCode,+vgpr-spilling",
|
#if HAVE_LLVM >= 0x0308
|
||||||
|
sscreen->b.debug_flags & DBG_SI_SCHED ?
|
||||||
|
"+DumpCode,+vgpr-spilling,+si-scheduler" :
|
||||||
|
#endif
|
||||||
|
"+DumpCode,+vgpr-spilling",
|
||||||
LLVMCodeGenLevelDefault,
|
LLVMCodeGenLevelDefault,
|
||||||
LLVMRelocDefault,
|
LLVMRelocDefault,
|
||||||
LLVMCodeModelDefault);
|
LLVMCodeModelDefault);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue