On 2018-03-12 14:51:56, Timothy Arceri wrote:
> This only seems to be needed by i965. Alternative can't you just remove the:
> 
>     if (prog->sh.data->LinkStatus != LINKING_SKIPPED)
>        goto fail;
> 
> from brw_disk_cache_upload_program() and let the cache search do its job?
> 
> I believe its possible to end up linking the GLSL IR i.e. 
> prog->sh.data->LinkStatus == LINKING_SUCCESS but still have the i965 
> binary in the cache (although I guess that's a pretty big corner case).

In the cover letter I mentioned that possibility, and why I decided to
start with this instead. I would like to cover this corner case
eventually, but I thought maybe tackling xform feedback might be good
next step.

Regarding this patch, do you agree that this is perhaps a more
accurate status than LINKING_SUCCESS?

-Jordan

> On 12/03/18 11:25, Jordan Justen wrote:
> > This change allows the disk shader cache to work with programs loaded
> > with ProgramBinary. Drivers check for LINKING_SKIPPED, and if set,
> > then they try to use the shader cache.
> > 
> > Since the program loaded by ProgramBinary is similar to loading the
> > shader from the disk cache, this is probably more appropriate.
> > 
> > Cc: Timothy Arceri <tarc...@itsqueeze.com>
> > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
> > ---
> >   src/mesa/main/program_binary.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/src/mesa/main/program_binary.c b/src/mesa/main/program_binary.c
> > index 3df70059342..021f6315e72 100644
> > --- a/src/mesa/main/program_binary.c
> > +++ b/src/mesa/main/program_binary.c
> > @@ -287,5 +287,5 @@ _mesa_program_binary(struct gl_context *ctx, struct 
> > gl_shader_program *sh_prog,
> >         return;
> >      }
> >   
> > -   sh_prog->data->LinkStatus = LINKING_SUCCESS;
> > +   sh_prog->data->LinkStatus = LINKING_SKIPPED;
> >   }
> > 
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to