Lines Matching refs:prog
69 compile_shaders(struct gl_context *ctx, struct gl_shader_program *prog) { in compile_shaders() argument
70 for (unsigned i = 0; i < prog->NumShaders; i++) { in compile_shaders()
71 _mesa_glsl_compile_shader(ctx, prog->Shaders[i], NULL, in compile_shaders()
85 struct gl_shader_program *prog) in shader_cache_write_program_metadata() argument
97 static const char zero[sizeof(prog->data->sha1)] = {0}; in shader_cache_write_program_metadata()
98 if (memcmp(prog->data->sha1, zero, sizeof(prog->data->sha1)) == 0) in shader_cache_write_program_metadata()
106 struct gl_linked_shader *sh = prog->_LinkedShaders[i]; in shader_cache_write_program_metadata()
112 serialize_glsl_program(&metadata, ctx, prog); in shader_cache_write_program_metadata()
117 (cache_key *) malloc(prog->NumShaders * sizeof(cache_key)); in shader_cache_write_program_metadata()
118 cache_item_metadata.num_keys = prog->NumShaders; in shader_cache_write_program_metadata()
123 for (unsigned i = 0; i < prog->NumShaders; i++) { in shader_cache_write_program_metadata()
124 memcpy(cache_item_metadata.keys[i], prog->Shaders[i]->disk_cache_sha1, in shader_cache_write_program_metadata()
128 disk_cache_put(cache, prog->data->sha1, metadata.data, metadata.size, in shader_cache_write_program_metadata()
133 _mesa_sha1_format(sha1_buf, prog->data->sha1); in shader_cache_write_program_metadata()
144 struct gl_shader_program *prog) in shader_cache_read_program_metadata() argument
149 if (prog->Name == 0 || prog->data->spirv) in shader_cache_read_program_metadata()
160 prog->AttributeBindings->iterate(create_binding_str, &buf); in shader_cache_read_program_metadata()
162 prog->FragDataBindings->iterate(create_binding_str, &buf); in shader_cache_read_program_metadata()
164 prog->FragDataIndexBindings->iterate(create_binding_str, &buf); in shader_cache_read_program_metadata()
165 ralloc_asprintf_append(&buf, "tf: %d ", prog->TransformFeedback.BufferMode); in shader_cache_read_program_metadata()
166 for (unsigned int i = 0; i < prog->TransformFeedback.NumVarying; i++) { in shader_cache_read_program_metadata()
168 prog->TransformFeedback.VaryingNames[i]); in shader_cache_read_program_metadata()
175 prog->SeparateShader ? "T" : "F"); in shader_cache_read_program_metadata()
202 for (unsigned i = 0; i < prog->NumShaders; i++) { in shader_cache_read_program_metadata()
203 struct gl_shader *sh = prog->Shaders[i]; in shader_cache_read_program_metadata()
208 disk_cache_compute_key(cache, buf, strlen(buf), prog->data->sha1); in shader_cache_read_program_metadata()
212 uint8_t *buffer = (uint8_t *) disk_cache_get(cache, prog->data->sha1, in shader_cache_read_program_metadata()
225 compile_shaders(ctx, prog); in shader_cache_read_program_metadata()
230 _mesa_sha1_format(sha1buf, prog->data->sha1); in shader_cache_read_program_metadata()
238 bool deserialized = deserialize_glsl_program(&metadata, ctx, prog); in shader_cache_read_program_metadata()
251 disk_cache_remove(cache, prog->data->sha1); in shader_cache_read_program_metadata()
252 compile_shaders(ctx, prog); in shader_cache_read_program_metadata()
258 prog->data->LinkStatus = LINKING_SKIPPED; in shader_cache_read_program_metadata()