Lines Matching defs:sh_prog
174 struct gl_shader_program *sh_prog)
177 struct gl_linked_shader *shader = sh_prog->_LinkedShaders[stage];
179 ctx->Driver.ProgramBinarySerializeDriverBlob(ctx, sh_prog,
183 blob_write_uint32(blob, sh_prog->SeparateShader);
185 serialize_glsl_program(blob, ctx, sh_prog);
188 struct gl_linked_shader *shader = sh_prog->_LinkedShaders[stage];
190 struct gl_program *prog = sh_prog->_LinkedShaders[stage]->Program;
200 GLenum binary_format, struct gl_shader_program *sh_prog)
202 sh_prog->SeparateShader = blob_read_uint32(blob);
204 if (!deserialize_glsl_program(blob, ctx, sh_prog))
208 for (stage = 0; stage < ARRAY_SIZE(sh_prog->_LinkedShaders); stage++) {
209 struct gl_linked_shader *shader = sh_prog->_LinkedShaders[stage];
213 ctx->Driver.ProgramBinaryDeserializeDriverBlob(ctx, sh_prog,
222 struct gl_shader_program *sh_prog,
227 write_program_payload(ctx, &blob, sh_prog);
234 struct gl_shader_program *sh_prog,
249 write_program_payload(ctx, &blob, sh_prog);
272 _mesa_program_binary(struct gl_context *ctx, struct gl_shader_program *sh_prog,
285 sh_prog->data->LinkStatus = LINKING_FAILURE;
296 ctx->_Shader->CurrentProgram[stage]->Id == sh_prog->Name) {
301 if (!read_program_payload(ctx, &blob, binary_format, sh_prog)) {
302 sh_prog->data->LinkStatus = LINKING_FAILURE;
306 _mesa_create_program_resource_hash(sh_prog);
322 if (sh_prog->_LinkedShaders[stage])
323 prog = sh_prog->_LinkedShaders[stage]->Program;
325 _mesa_use_program(ctx, stage, sh_prog, prog, ctx->_Shader);
328 sh_prog->data->LinkStatus = LINKING_SKIPPED;