Lines Matching refs:prog
71 compile_shaders(struct gl_context *ctx, struct gl_shader_program *prog) {
72 for (unsigned i = 0; i < prog->NumShaders; i++) {
73 _mesa_glsl_compile_shader(ctx, prog->Shaders[i], false, false, true);
86 struct gl_shader_program *prog)
98 static const char zero[sizeof(prog->data->sha1)] = {0};
99 if (memcmp(prog->data->sha1, zero, sizeof(prog->data->sha1)) == 0)
107 struct gl_linked_shader *sh = prog->_LinkedShaders[i];
113 serialize_glsl_program(&metadata, ctx, prog);
118 (cache_key *) malloc(prog->NumShaders * sizeof(cache_key));
119 cache_item_metadata.num_keys = prog->NumShaders;
124 for (unsigned i = 0; i < prog->NumShaders; i++) {
125 memcpy(cache_item_metadata.keys[i], prog->Shaders[i]->sha1,
129 disk_cache_put(cache, prog->data->sha1, metadata.data, metadata.size,
134 _mesa_sha1_format(sha1_buf, prog->data->sha1);
145 struct gl_shader_program *prog)
150 if (prog->Name == 0)
161 prog->AttributeBindings->iterate(create_binding_str, &buf);
163 prog->FragDataBindings->iterate(create_binding_str, &buf);
165 prog->FragDataIndexBindings->iterate(create_binding_str, &buf);
166 ralloc_asprintf_append(&buf, "tf: %d ", prog->TransformFeedback.BufferMode);
167 for (unsigned int i = 0; i < prog->TransformFeedback.NumVarying; i++) {
169 prog->TransformFeedback.VaryingNames[i]);
176 prog->SeparateShader ? "T" : "F");
203 for (unsigned i = 0; i < prog->NumShaders; i++) {
204 struct gl_shader *sh = prog->Shaders[i];
209 disk_cache_compute_key(cache, buf, strlen(buf), prog->data->sha1);
213 uint8_t *buffer = (uint8_t *) disk_cache_get(cache, prog->data->sha1,
226 compile_shaders(ctx, prog);
231 _mesa_sha1_format(sha1buf, prog->data->sha1);
239 bool deserialized = deserialize_glsl_program(&metadata, ctx, prog);
252 disk_cache_remove(cache, prog->data->sha1);
253 compile_shaders(ctx, prog);
259 prog->data->LinkStatus = LINKING_SKIPPED;