[Mesa-dev] [PATCH 17/24] mesa/main: Add a 'spirv' flag to gl_shader_program_data

Timothy Arceri tarceri at itsqueeze.com
Wed Nov 15 23:23:09 UTC 2017


On 16/11/17 00:22, Eduardo Lima Mitev wrote:
> This will be used by the linker code to dfferentiate between
> programs made out of SPIR-V or GLSL shaders.

So far everywhere this is used it seems you could just do something like:

  if (shProg->_LinkedShaders[stage]->spirv_data)
    ... spriv stuff ...
  else
    ... glsl stuff ...



> ---
>   src/mesa/main/mtypes.h | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index d624f2cbd19..db9c2e1deaa 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -2902,6 +2902,12 @@ struct gl_shader_program_data
>   
>      /* Mask of stages this program was linked against */
>      unsigned linked_stages;
> +
> +   /* Whether the shaders of this program are loaded from SPIR-V binaries
> +    * (all have the SPIR_V_BINARY_ARB state). This was introduced by the
> +    * ARB_gl_spirv extension.
> +    */
> +   bool spirv;
>   };
>   
>   /**
> 


More information about the mesa-dev mailing list