On Wed, Apr 16, 2014 at 2:12 AM, Michel Dänzer <[email protected]> wrote: > From: Michel Dänzer <[email protected]> > > For graphics, the LLVM compiler backend currently has many shortcomings > compared to the non-LLVM one. E.g. it can't handle geometry shaders yet, > but that's just the tip of the iceberg. > > So building Mesa with --enable-r600-llvm-compiler is currently not > recommended for anyone who doesn't want to work on fixing those issues. > However, for protection of users who end up enabling it anyway for some > reason, let's disable the LLVM backend at runtime by default. It can be > enabled with the environment variable R600_DEBUG=llvm. > > Cc: "10.1" <[email protected]> > Signed-off-by: Michel Dänzer <[email protected]>
Reviewed-by: Alex Deucher <[email protected]> > --- > src/gallium/drivers/r600/r600_pipe.c | 6 +++--- > src/gallium/drivers/r600/r600_pipe.h | 2 +- > src/gallium/drivers/r600/r600_shader.c | 2 +- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/src/gallium/drivers/r600/r600_pipe.c > b/src/gallium/drivers/r600/r600_pipe.c > index c037662..7d254a9 100644 > --- a/src/gallium/drivers/r600/r600_pipe.c > +++ b/src/gallium/drivers/r600/r600_pipe.c > @@ -45,7 +45,7 @@ > static const struct debug_named_value r600_debug_options[] = { > /* features */ > #if defined(R600_USE_LLVM) > - { "nollvm", DBG_NO_LLVM, "Disable the LLVM shader compiler" }, > + { "llvm", DBG_LLVM, "Enable the LLVM shader compiler" }, > #endif > { "nocpdma", DBG_NO_CP_DMA, "Disable CP DMA" }, > > @@ -569,8 +569,8 @@ struct pipe_screen *r600_screen_create(struct > radeon_winsys *ws) > rscreen->b.debug_flags |= DBG_FS | DBG_VS | DBG_GS | DBG_PS | > DBG_CS; > if (debug_get_bool_option("R600_HYPERZ", FALSE)) > rscreen->b.debug_flags |= DBG_HYPERZ; > - if (!debug_get_bool_option("R600_LLVM", TRUE)) > - rscreen->b.debug_flags |= DBG_NO_LLVM; > + if (debug_get_bool_option("R600_LLVM", FALSE)) > + rscreen->b.debug_flags |= DBG_LLVM; > > if (rscreen->b.family == CHIP_UNKNOWN) { > fprintf(stderr, "r600: Unknown chipset 0x%04X\n", > rscreen->b.info.pci_id); > diff --git a/src/gallium/drivers/r600/r600_pipe.h > b/src/gallium/drivers/r600/r600_pipe.h > index 0a3fa42..6787d98 100644 > --- a/src/gallium/drivers/r600/r600_pipe.h > +++ b/src/gallium/drivers/r600/r600_pipe.h > @@ -195,7 +195,7 @@ struct r600_gs_rings_state { > > /* This must start from 16. */ > /* features */ > -#define DBG_NO_LLVM (1 << 17) > +#define DBG_LLVM (1 << 17) > #define DBG_NO_CP_DMA (1 << 18) > /* shader backend */ > #define DBG_NO_SB (1 << 21) > diff --git a/src/gallium/drivers/r600/r600_shader.c > b/src/gallium/drivers/r600/r600_shader.c > index b4b357e..81d879a 100644 > --- a/src/gallium/drivers/r600/r600_shader.c > +++ b/src/gallium/drivers/r600/r600_shader.c > @@ -1538,7 +1538,7 @@ static int r600_shader_from_tgsi(struct r600_context > *rctx, > bool pos_emitted = false; > > #ifdef R600_USE_LLVM > - use_llvm = !(rscreen->b.debug_flags & DBG_NO_LLVM); > + use_llvm = rscreen->b.debug_flags & DBG_LLVM; > #endif > ctx.bc = &shader->bc; > ctx.shader = shader; > -- > 1.9.0 > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
