[Mesa-dev] [PATCH 2/2] main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED
Timothy Arceri
tarceri at itsqueeze.com
Mon Mar 12 21:51:56 UTC 2018
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 <tarceri at itsqueeze.com>
> Signed-off-by: Jordan Justen <jordan.l.justen at 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;
> }
>
More information about the mesa-dev
mailing list