r600g: enable SB backend by default
authorVadim Girlin <vadimgirlin@gmail.com>
Fri, 23 Aug 2013 20:54:54 +0000 (00:54 +0400)
committerVadim Girlin <vadimgirlin@gmail.com>
Fri, 30 Aug 2013 11:51:11 +0000 (15:51 +0400)
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_shader.c

index b8eedae457bbabd845f1a2070057d43e002ed530..a0492a66e19e8c0d360577ef08d78e1d72e1f833 100644 (file)
@@ -2281,7 +2281,8 @@ void *r600_create_vertex_fetch_shader(struct pipe_context *ctx,
        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);
 
index 2be5910fcb2e04b32b1ff1e6c317b3dda65f5ca9..edd50f00b6d647c7c27b7a9ff0713194a395419b 100644 (file)
@@ -67,8 +67,8 @@ static const struct debug_named_value debug_options[] = {
        { "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" },
index 21d68c9387b258233f9df1e654b670902434c6f3..398ac89d0ae458901f501c2dc43957800a315e4f 100644 (file)
@@ -249,7 +249,7 @@ typedef boolean (*r600g_dma_blit_t)(struct pipe_context *ctx,
 #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)
index f7eab761bb04efd05820c993676fbbc1c7a25a43..9a23f01731a9ad6f15ce0e35bea07faed9d40c84 100644 (file)
@@ -140,7 +140,7 @@ int r600_pipe_shader_create(struct pipe_context *ctx,
        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;