summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_pipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c11
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);