[Mesa-dev] [PATCH v2 21/25] mesa: Add a reference to gl_shader_spirv_data to gl_linked_shader

Timothy Arceri tarceri at itsqueeze.com
Thu Dec 7 04:52:35 UTC 2017


Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 01/12/17 04:28, Eduardo Lima Mitev wrote:
> This is a reference to the spirv_data object stored in gl_shader, which
> stores shader SPIR-V data that is needed during linking too.
> ---
>   src/mesa/main/mtypes.h    | 8 ++++++++
>   src/mesa/main/shaderobj.c | 1 +
>   2 files changed, 9 insertions(+)
> 
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index d74bf10daa0..1c8de9542e8 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -2542,6 +2542,14 @@ struct gl_linked_shader
>      struct exec_list *packed_varyings;
>      struct exec_list *fragdata_arrays;
>      struct glsl_symbol_table *symbols;
> +
> +   /**
> +    * ARB_gl_spirv related data.
> +    *
> +    * This is actually a reference to the gl_shader::spirv_data, which
> +    * stores information that is also needed during linking.
> +    */
> +   struct gl_shader_spirv_data *spirv_data;
>   };
>   
>   
> diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c
> index 5c1cdd6b27a..834e2a92ec4 100644
> --- a/src/mesa/main/shaderobj.c
> +++ b/src/mesa/main/shaderobj.c
> @@ -137,6 +137,7 @@ void
>   _mesa_delete_linked_shader(struct gl_context *ctx,
>                              struct gl_linked_shader *sh)
>   {
> +   _mesa_shader_spirv_data_reference(&sh->spirv_data, NULL);
>      _mesa_reference_program(ctx, &sh->Program, NULL);
>      ralloc_free(sh);
>   }
> 


More information about the mesa-dev mailing list