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