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
Regarding this patch, do you agree that this is perhaps a more
accurate status than LINKING_SUCCESS?
> 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