diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 19c673eb1dc..0dfff313966 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2893,6 +2893,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; }; /** diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 60fb24bf664..2908819d28e 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -3153,6 +3153,7 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) "SPIR_V_BINARY_ARB state"); } } + prog->data->spirv = spirv; if (prog->data->LinkStatus) { if (!spirv)