Lines Matching refs:prog

73 compile_shaders(struct gl_context *ctx, struct gl_shader_program *prog) {
74 for (unsigned i = 0; i < prog->NumShaders; i++) {
75 _mesa_glsl_compile_shader(ctx, prog->Shaders[i], false, false, true);
88 struct gl_shader_program *prog)
100 static const char zero[sizeof(prog->data->sha1)] = {0};
101 if (memcmp(prog->data->sha1, zero, sizeof(prog->data->sha1)) == 0)
109 struct gl_linked_shader *sh = prog->_LinkedShaders[i];
115 serialize_glsl_program(&metadata, ctx, prog);
120 (cache_key *) malloc(prog->NumShaders * sizeof(cache_key));
121 cache_item_metadata.num_keys = prog->NumShaders;
126 for (unsigned i = 0; i < prog->NumShaders; i++) {
127 memcpy(cache_item_metadata.keys[i], prog->Shaders[i]->sha1,
131 disk_cache_put(cache, prog->data->sha1, metadata.data, metadata.size,
136 _mesa_sha1_format(sha1_buf, prog->data->sha1);
147 struct gl_shader_program *prog)
152 if (prog->Name == 0 || prog->data->spirv)
163 prog->AttributeBindings->iterate(create_binding_str, &buf);
165 prog->FragDataBindings->iterate(create_binding_str, &buf);
167 prog->FragDataIndexBindings->iterate(create_binding_str, &buf);
168 ralloc_asprintf_append(&buf, "tf: %d ", prog->TransformFeedback.BufferMode);
169 for (unsigned int i = 0; i < prog->TransformFeedback.NumVarying; i++) {
171 prog->TransformFeedback.VaryingNames[i]);
178 prog->SeparateShader ? "T" : "F");
205 for (unsigned i = 0; i < prog->NumShaders; i++) {
206 struct gl_shader *sh = prog->Shaders[i];
211 disk_cache_compute_key(cache, buf, strlen(buf), prog->data->sha1);
215 uint8_t *buffer = (uint8_t *) disk_cache_get(cache, prog->data->sha1,
228 compile_shaders(ctx, prog);
233 _mesa_sha1_format(sha1buf, prog->data->sha1);
241 bool deserialized = deserialize_glsl_program(&metadata, ctx, prog);
254 disk_cache_remove(cache, prog->data->sha1);
255 compile_shaders(ctx, prog);
261 prog->data->LinkStatus = LINKING_SKIPPED;