uint32_t *bytecode;
int i, j, r, fs_size;
struct r600_fetch_shader *shader;
- unsigned sb_disasm = rctx->screen->debug_flags & (DBG_SB_DISASM | DBG_SB);
+ unsigned no_sb = rctx->screen->debug_flags & DBG_NO_SB;
+ unsigned sb_disasm = !no_sb || (rctx->screen->debug_flags & DBG_SB_DISASM);
assert(count < 32);
{ "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" },
+ { "nosb", DBG_NO_SB, "Disable sb backend for graphics shaders" },
+ { "sbcl", DBG_SB_CS, "Enable sb backend for 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" },
#define DBG_NO_ASYNC_DMA (1 << 19)
#define DBG_NO_DISCARD_RANGE (1 << 20)
/* shader backend */
-#define DBG_SB (1 << 21)
+#define DBG_NO_SB (1 << 21)
#define DBG_SB_CS (1 << 22)
#define DBG_SB_DRY_RUN (1 << 23)
#define DBG_SB_STAT (1 << 24)
int r, i;
uint32_t *ptr;
bool dump = r600_can_dump_shader(rctx->screen, tgsi_get_processor_type(sel->tokens));
- unsigned use_sb = rctx->screen->debug_flags & DBG_SB;
+ unsigned use_sb = !(rctx->screen->debug_flags & DBG_NO_SB);
unsigned sb_disasm = use_sb || (rctx->screen->debug_flags & DBG_SB_DISASM);
shader->shader.bc.isa = rctx->isa;