[Mesa-stable] [Mesa-dev] [PATCH] program: Don't reset SamplersValidated when restoring from shader cache
Juan A. Suarez Romero
jasuarez at igalia.com
Thu Mar 8 11:54:32 UTC 2018
On Tue, 2018-02-20 at 13:47 -0800, Jordan Justen wrote:
> On 2018-02-20 06:46:24, Andres Gomez wrote:
> > Jordan, this looks like a good candidate to nominate for inclusion in
> > the 17.3 stable queue.
> >
> > What do you think?
>
> I saw this on i965, which does not have shader cache support in 17.3.
> I'm not certain it also happens on the other drivers that do support
> the shader cache in 17.3, but yeah, it does seem reasonable to add it
> to 17.3.
>
Thanks.
Including it in 17.3 next release.
J.A.
> -Jordan
>
> >
> > On Tue, 2017-12-12 at 14:20 -0800, Jordan Justen wrote:
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103988
> > > Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
> > > ---
> > > src/mesa/program/ir_to_mesa.cpp | 16 +++++++++-------
> > > 1 file changed, 9 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
> > > index 5f663b3d09f..051ed2225b7 100644
> > > --- a/src/mesa/program/ir_to_mesa.cpp
> > > +++ b/src/mesa/program/ir_to_mesa.cpp
> > > @@ -3115,15 +3115,17 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
> > > link_shaders(ctx, prog);
> > > }
> > >
> > > - if (prog->data->LinkStatus) {
> > > - /* Reset sampler validated to true, validation happens via the
> > > - * LinkShader call below.
> > > - */
> > > + /* If LinkStatus is linking_success, then reset sampler validated to true,
> > > + * validation happens via the LinkShader call below. If LinkStatus is
> > > + * linking_skipped, then SamplersValidated will have been restored from the
> > > + * shader cache.
> > > + */
> > > + if (prog->data->LinkStatus == linking_success) {
> > > prog->SamplersValidated = GL_TRUE;
> > > + }
> > >
> > > - if (!ctx->Driver.LinkShader(ctx, prog)) {
> > > - prog->data->LinkStatus = linking_failure;
> > > - }
> > > + if (prog->data->LinkStatus && !ctx->Driver.LinkShader(ctx, prog)) {
> > > + prog->data->LinkStatus = linking_failure;
> > > }
> > >
> > > /* Return early if we are loading the shader from on-disk cache */
> >
> > --
> > Br,
> >
> > Andres
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable
More information about the mesa-stable
mailing list