Re: [Mesa-dev] [PATCH 2/2] main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED

2018-03-12 Thread Jordan Justen
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


Re: [Mesa-dev] [PATCH 2/2] main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED

2018-03-12 Thread Timothy Arceri

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).


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


[Mesa-dev] [PATCH 2/2] main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED

2018-03-11 Thread Jordan Justen
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;
 }
-- 
2.16.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev