On Wed, 2012-08-22 at 11:31 -0400, Alex Deucher wrote:
> On Wed, Aug 22, 2012 at 11:24 AM, Vadim Girlin <vadimgir...@gmail.com> wrote:
> > On Wed, 2012-08-22 at 11:23 +0300, Maxim Levitsky wrote:
> >> Currently Gallium has no way to activate the
> >> 'force_glsl_extensions_warn' workaround that allows
> >> buggy apps that use GLSL extensions without asking for them to work.
> >>
> >> Since gallium mesa state tracker is essentially split into two,
> >> (dri (src/gallium/state_trackers/dri) and mesa (src/mesa/state_tracker))
> >> and only former has access to driconf options while later knows nothing
> >> about dri, I added this support by reading an environment variable.
> >>
> >> export force_glsl_extensions_warn=true
> >>
> >
> > I just remembered that I sent some patches for passing the driconf
> > options to the state tracker but then forgot about them completely.
> >
> > Feel free to reuse anything from that series if it might help:
> >
> > http://lists.freedesktop.org/archives/mesa-dev/2012-April/020729.html
> 
> Series looks good to me.  Looks like Michel added his reviewed-by at
> the time as well.  

Yes, it was reviewed, but then I found that it breaks swrast build due
to missing driver descriptor, so I asked if it's OK to simply add the
descriptor to swrast and it seems I'm still waiting for the answer... :)

> If it still applies, I'd say go ahead and commit it.

I'll check if it still works and if it's enough to run Unigine apps
correctly with current mesa. IIRC it doesn't contain GLSL version hacks
as in Maxim's patch 3, so possibly it should be included too, and maybe
something else.

Vadim


> 
> Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
> 
> Alex
> 
> 
> >
> > Vadim
> >
> >>
> >> Signed-off-by: Maxim Levitsky <maximlevit...@gmail.com>
> >> ---
> >>  src/mesa/state_tracker/st_context.c |    9 +++++++++
> >>  src/mesa/state_tracker/st_context.h |    3 +++
> >>  2 files changed, 12 insertions(+)
> >>
> >> diff --git a/src/mesa/state_tracker/st_context.c 
> >> b/src/mesa/state_tracker/st_context.c
> >> index 2e14da2..b5786b9 100644
> >> --- a/src/mesa/state_tracker/st_context.c
> >> +++ b/src/mesa/state_tracker/st_context.c
> >> @@ -110,6 +110,13 @@ st_get_msaa(void)
> >>     return 0;
> >>  }
> >>
> >> +bool
> >> +st_get_glsl_warn(void)
> >> +{
> >> +   const char *env = _mesa_getenv("force_glsl_extensions_warn");
> >> +   return env && !strcmp(env, "true");
> >> +}
> >> +
> >>
> >>
> >>
> >> @@ -193,6 +200,8 @@ st_create_context_priv( struct gl_context *ctx, struct 
> >> pipe_context *pipe )
> >>     st->has_stencil_export =
> >>        screen->get_param(screen, PIPE_CAP_SHADER_STENCIL_EXPORT);
> >>
> >> +   st->ctx->Const.ForceGLSLExtensionsWarn = st_get_glsl_warn();
> >> +
> >>     /* GL limits and extensions */
> >>     st_init_limits(st);
> >>     st_init_extensions(st);
> >> diff --git a/src/mesa/state_tracker/st_context.h 
> >> b/src/mesa/state_tracker/st_context.h
> >> index 47d3af5..67accd3 100644
> >> --- a/src/mesa/state_tracker/st_context.h
> >> +++ b/src/mesa/state_tracker/st_context.h
> >> @@ -263,6 +263,9 @@ st_fb_orientation(const struct gl_framebuffer *fb)
> >>  extern int
> >>  st_get_msaa(void);
> >>
> >> +extern bool
> >> +st_get_glsl_warn(void);
> >> +
> >>  extern struct st_context *
> >>  st_create_context(gl_api api, struct pipe_context *pipe,
> >>                    const struct gl_config *visual,
> >
> >
> >
> > _______________________________________________
> > 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

Reply via email to