BTW, I don't see any issue with ARB_blend_func_extended in Heaven, but the presence of ARB_shader_bit_encoding breaks shadows. This script for starting Heaven makes it render everything correctly on r600g:
export MESA_EXTENSION_OVERRIDE=-GL_ARB_shader_bit_encoding export force_glsl_extensions_warn=true ./heaven Marek On Sat, Nov 10, 2012 at 12:35 AM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > Intel driver has this for Unigine heaven, so it looks fine to add it for > gallium drivers as well. > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/gallium/include/state_tracker/st_api.h | 1 + > src/gallium/state_trackers/dri/common/dri_context.c | 2 ++ > src/gallium/state_trackers/dri/common/dri_screen.c | 1 + > src/mesa/state_tracker/st_extensions.c | 2 +- > 4 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/include/state_tracker/st_api.h > b/src/gallium/include/state_tracker/st_api.h > index 3a11cd4..2214e34 100644 > --- a/src/gallium/include/state_tracker/st_api.h > +++ b/src/gallium/include/state_tracker/st_api.h > @@ -239,6 +239,7 @@ struct st_visual > struct st_config_options > { > boolean force_glsl_extensions_warn; > + boolean blend_func_extended_disable; > }; > > /** > diff --git a/src/gallium/state_trackers/dri/common/dri_context.c > b/src/gallium/state_trackers/dri/common/dri_context.c > index b91303d..5c3a65a 100644 > --- a/src/gallium/state_trackers/dri/common/dri_context.c > +++ b/src/gallium/state_trackers/dri/common/dri_context.c > @@ -54,6 +54,8 @@ static void dri_fill_st_options(struct st_config_options > *options, > { > options->force_glsl_extensions_warn = > driQueryOptionb(optionCache, "force_glsl_extensions_warn"); > + options->blend_func_extended_disable = > + driQueryOptionb(optionCache, "disable_blend_func_extended"); > } > > GLboolean > diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c > b/src/gallium/state_trackers/dri/common/dri_screen.c > index 70059b9..c1296cd 100644 > --- a/src/gallium/state_trackers/dri/common/dri_screen.c > +++ b/src/gallium/state_trackers/dri/common/dri_screen.c > @@ -64,6 +64,7 @@ PUBLIC const char __driConfigOptions[] = > DRI_CONF_SECTION_END > > DRI_CONF_SECTION_DEBUG > + DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED(false) > DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(false) > DRI_CONF_SECTION_END > > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index 8877005..b213f06 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -622,7 +622,7 @@ void st_init_extensions(struct st_context *st) > } > } > > - if (ctx->Const.MaxDualSourceDrawBuffers > 0) > + if (ctx->Const.MaxDualSourceDrawBuffers > 0 && > !st->options.blend_func_extended_disable) > ctx->Extensions.ARB_blend_func_extended = GL_TRUE; > > if (screen->get_param(screen, PIPE_CAP_TIMER_QUERY) && > -- > 1.7.11.7 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev