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
> > Signed-off-by: Jordan Justen
> > ---
> > 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