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