diff options
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index b0128928857..8f6d59b3e6a 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -26,6 +26,8 @@ #include "evergreen_compute.h" #include "r600d.h" +#include "sb/sb_public.h" + #include <errno.h> #include "pipe/p_shader_tokens.h" #include "util/u_blitter.h" @@ -64,6 +66,13 @@ static const struct debug_named_value debug_options[] = { /* GL uses the word INVALIDATE, gallium uses the word DISCARD */ { "noinvalrange", DBG_NO_DISCARD_RANGE, "Disable handling of INVALIDATE_RANGE map flags" }, + /* shader backend */ + { "sb", DBG_SB, "Enable optimization of graphics shaders" }, + { "sbcl", DBG_SB_CS, "Enable optimization of compute shaders" }, + { "sbdry", DBG_SB_DRY_RUN, "Don't use optimized bytecode (just print the dumps)" }, + { "sbstat", DBG_SB_STAT, "Print optimization statistics for shaders" }, + { "sbdump", DBG_SB_DUMP, "Print IR dumps after some optimization passes" }, + DEBUG_NAMED_VALUE_END /* must be last */ }; @@ -305,6 +314,8 @@ static void r600_destroy_context(struct pipe_context *context) r600_isa_destroy(rctx->isa); + r600_sb_context_destroy(rctx->sb_context); + pipe_resource_reference((struct pipe_resource**)&rctx->dummy_cmask, NULL); pipe_resource_reference((struct pipe_resource**)&rctx->dummy_fmask, NULL); |