Lines Matching defs:metadata
43 write_subroutines(struct blob *metadata, struct gl_shader_program *prog)
52 blob_write_uint32(metadata, glprog->sh.NumSubroutineUniforms);
53 blob_write_uint32(metadata, glprog->sh.MaxSubroutineFunctionIndex);
54 blob_write_uint32(metadata, glprog->sh.NumSubroutineFunctions);
58 blob_write_string(metadata, glprog->sh.SubroutineFunctions[j].name.string);
59 blob_write_uint32(metadata, glprog->sh.SubroutineFunctions[j].index);
60 blob_write_uint32(metadata, num_types);
63 encode_type_to_blob(metadata,
71 read_subroutines(struct blob_reader *metadata, struct gl_shader_program *prog)
82 glprog->sh.NumSubroutineUniforms = blob_read_uint32(metadata);
83 glprog->sh.MaxSubroutineFunctionIndex = blob_read_uint32(metadata);
84 glprog->sh.NumSubroutineFunctions = blob_read_uint32(metadata);
91 subs[j].name.string = ralloc_strdup(prog, blob_read_string (metadata));
93 subs[j].index = (int) blob_read_uint32(metadata);
94 subs[j].num_compat_types = (int) blob_read_uint32(metadata);
99 subs[j].types[k] = decode_type_from_blob(metadata);
106 write_buffer_block(struct blob *metadata, struct gl_uniform_block *b)
108 blob_write_string(metadata, b->name.string);
109 blob_write_uint32(metadata, b->NumUniforms);
110 blob_write_uint32(metadata, b->Binding);
111 blob_write_uint32(metadata, b->UniformBufferSize);
112 blob_write_uint32(metadata, b->stageref);
115 blob_write_string(metadata, b->Uniforms[j].Name);
116 blob_write_string(metadata, b->Uniforms[j].IndexName);
117 encode_type_to_blob(metadata, b->Uniforms[j].Type);
118 blob_write_uint32(metadata, b->Uniforms[j].Offset);
123 write_buffer_blocks(struct blob *metadata, struct gl_shader_program *prog)
125 blob_write_uint32(metadata, prog->data->NumUniformBlocks);
126 blob_write_uint32(metadata, prog->data->NumShaderStorageBlocks);
129 write_buffer_block(metadata, &prog->data->UniformBlocks[i]);
133 write_buffer_block(metadata, &prog->data->ShaderStorageBlocks[i]);
143 blob_write_uint32(metadata, glprog->sh.NumUniformBlocks);
144 blob_write_uint32(metadata, glprog->info.num_ssbos);
149 blob_write_uint32(metadata, offset);
155 blob_write_uint32(metadata, offset);
161 read_buffer_block(struct blob_reader *metadata, struct gl_uniform_block *b,
164 b->name.string = ralloc_strdup(prog->data, blob_read_string (metadata));
166 b->NumUniforms = blob_read_uint32(metadata);
167 b->Binding = blob_read_uint32(metadata);
168 b->UniformBufferSize = blob_read_uint32(metadata);
169 b->stageref = blob_read_uint32(metadata);
176 blob_read_string (metadata));
178 char *index_name = blob_read_string(metadata);
185 b->Uniforms[j].Type = decode_type_from_blob(metadata);
186 b->Uniforms[j].Offset = blob_read_uint32(metadata);
191 read_buffer_blocks(struct blob_reader *metadata,
194 prog->data->NumUniformBlocks = blob_read_uint32(metadata);
195 prog->data->NumShaderStorageBlocks = blob_read_uint32(metadata);
206 read_buffer_block(metadata, &prog->data->UniformBlocks[i], prog);
210 read_buffer_block(metadata, &prog->data->ShaderStorageBlocks[i], prog);
220 glprog->sh.NumUniformBlocks = blob_read_uint32(metadata);
221 glprog->info.num_ssbos = blob_read_uint32(metadata);
229 uint32_t offset = blob_read_uint32(metadata);
234 uint32_t offset = blob_read_uint32(metadata);
242 write_atomic_buffers(struct blob *metadata, struct gl_shader_program *prog)
244 blob_write_uint32(metadata, prog->data->NumAtomicBuffers);
249 blob_write_uint32(metadata, glprog->info.num_abos);
254 blob_write_uint32(metadata, prog->data->AtomicBuffers[i].Binding);
255 blob_write_uint32(metadata, prog->data->AtomicBuffers[i].MinimumSize);
256 blob_write_uint32(metadata, prog->data->AtomicBuffers[i].NumUniforms);
258 blob_write_bytes(metadata, prog->data->AtomicBuffers[i].StageReferences,
262 blob_write_uint32(metadata, prog->data->AtomicBuffers[i].Uniforms[j]);
268 read_atomic_buffers(struct blob_reader *metadata,
271 prog->data->NumAtomicBuffers = blob_read_uint32(metadata);
281 glprog->info.num_abos = blob_read_uint32(metadata);
290 prog->data->AtomicBuffers[i].Binding = blob_read_uint32(metadata);
291 prog->data->AtomicBuffers[i].MinimumSize = blob_read_uint32(metadata);
292 prog->data->AtomicBuffers[i].NumUniforms = blob_read_uint32(metadata);
294 blob_copy_bytes(metadata,
302 prog->data->AtomicBuffers[i].Uniforms[j] = blob_read_uint32(metadata);
315 write_xfb(struct blob *metadata, struct gl_shader_program *shProg)
320 blob_write_uint32(metadata, ~0u);
326 blob_write_uint32(metadata, prog->info.stage);
329 blob_write_uint32(metadata, shProg->TransformFeedback.BufferMode);
330 blob_write_bytes(metadata, shProg->TransformFeedback.BufferStride,
332 blob_write_uint32(metadata, shProg->TransformFeedback.NumVarying);
334 blob_write_string(metadata, shProg->TransformFeedback.VaryingNames[i]);
336 blob_write_uint32(metadata, ltf->NumOutputs);
337 blob_write_uint32(metadata, ltf->ActiveBuffers);
338 blob_write_uint32(metadata, ltf->NumVarying);
340 blob_write_bytes(metadata, ltf->Outputs,
345 blob_write_string(metadata, ltf->Varyings[i].name.string);
346 blob_write_uint32(metadata, ltf->Varyings[i].Type);
347 blob_write_uint32(metadata, ltf->Varyings[i].BufferIndex);
348 blob_write_uint32(metadata, ltf->Varyings[i].Size);
349 blob_write_uint32(metadata, ltf->Varyings[i].Offset);
352 blob_write_bytes(metadata, ltf->Buffers,
358 read_xfb(struct blob_reader *metadata, struct gl_shader_program *shProg)
360 unsigned xfb_stage = blob_read_uint32(metadata);
371 shProg->TransformFeedback.BufferMode = blob_read_uint32(metadata);
372 blob_copy_bytes(metadata, &shProg->TransformFeedback.BufferStride,
374 shProg->TransformFeedback.NumVarying = blob_read_uint32(metadata);
382 strdup(blob_read_string(metadata));
391 ltf->NumOutputs = blob_read_uint32(metadata);
392 ltf->ActiveBuffers = blob_read_uint32(metadata);
393 ltf->NumVarying = blob_read_uint32(metadata);
398 blob_copy_bytes(metadata, (uint8_t *) ltf->Outputs,
407 ltf->Varyings[i].name.string = ralloc_strdup(prog, blob_read_string(metadata));
409 ltf->Varyings[i].Type = blob_read_uint32(metadata);
410 ltf->Varyings[i].BufferIndex = blob_read_uint32(metadata);
411 ltf->Varyings[i].Size = blob_read_uint32(metadata);
412 ltf->Varyings[i].Offset = blob_read_uint32(metadata);
415 blob_copy_bytes(metadata, (uint8_t *) ltf->Buffers,
432 write_uniforms(struct blob *metadata, struct gl_shader_program *prog)
434 blob_write_uint32(metadata, prog->SamplersValidated);
435 blob_write_uint32(metadata, prog->data->NumUniformStorage);
436 blob_write_uint32(metadata, prog->data->NumUniformDataSlots);
439 encode_type_to_blob(metadata, prog->data->UniformStorage[i].type);
440 blob_write_uint32(metadata, prog->data->UniformStorage[i].array_elements);
442 blob_write_string(metadata, prog->data->UniformStorage[i].name.string);
444 blob_write_string(metadata, "");
446 blob_write_uint32(metadata, prog->data->UniformStorage[i].builtin);
447 blob_write_uint32(metadata, prog->data->UniformStorage[i].remap_location);
448 blob_write_uint32(metadata, prog->data->UniformStorage[i].block_index);
449 blob_write_uint32(metadata, prog->data->UniformStorage[i].atomic_buffer_index);
450 blob_write_uint32(metadata, prog->data->UniformStorage[i].offset);
451 blob_write_uint32(metadata, prog->data->UniformStorage[i].array_stride);
452 blob_write_uint32(metadata, prog->data->UniformStorage[i].hidden);
453 blob_write_uint32(metadata, prog->data->UniformStorage[i].is_shader_storage);
454 blob_write_uint32(metadata, prog->data->UniformStorage[i].active_shader_mask);
455 blob_write_uint32(metadata, prog->data->UniformStorage[i].matrix_stride);
456 blob_write_uint32(metadata, prog->data->UniformStorage[i].row_major);
457 blob_write_uint32(metadata, prog->data->UniformStorage[i].is_bindless);
458 blob_write_uint32(metadata,
460 blob_write_uint32(metadata,
462 blob_write_uint32(metadata,
466 blob_write_uint32(metadata, prog->data->UniformStorage[i].storage -
470 blob_write_bytes(metadata, prog->data->UniformStorage[i].opaque,
479 blob_write_uint32(metadata, prog->data->NumHiddenUniforms);
488 blob_write_bytes(metadata, &prog->data->UniformDataDefaults[slot],
495 read_uniforms(struct blob_reader *metadata, struct gl_shader_program *prog)
500 prog->SamplersValidated = blob_read_uint32(metadata);
501 prog->data->NumUniformStorage = blob_read_uint32(metadata);
502 prog->data->NumUniformDataSlots = blob_read_uint32(metadata);
518 uniforms[i].type = decode_type_from_blob(metadata);
519 uniforms[i].array_elements = blob_read_uint32(metadata);
520 uniforms[i].name.string = ralloc_strdup(prog, blob_read_string (metadata));
522 uniforms[i].builtin = blob_read_uint32(metadata);
523 uniforms[i].remap_location = blob_read_uint32(metadata);
524 uniforms[i].block_index = blob_read_uint32(metadata);
525 uniforms[i].atomic_buffer_index = blob_read_uint32(metadata);
526 uniforms[i].offset = blob_read_uint32(metadata);
527 uniforms[i].array_stride = blob_read_uint32(metadata);
528 uniforms[i].hidden = blob_read_uint32(metadata);
529 uniforms[i].is_shader_storage = blob_read_uint32(metadata);
530 uniforms[i].active_shader_mask = blob_read_uint32(metadata);
531 uniforms[i].matrix_stride = blob_read_uint32(metadata);
532 uniforms[i].row_major = blob_read_uint32(metadata);
533 uniforms[i].is_bindless = blob_read_uint32(metadata);
534 uniforms[i].num_compatible_subroutines = blob_read_uint32(metadata);
535 uniforms[i].top_level_array_size = blob_read_uint32(metadata);
536 uniforms[i].top_level_array_stride = blob_read_uint32(metadata);
540 uniforms[i].storage = data + blob_read_uint32(metadata);
544 blob_read_bytes(metadata, sizeof(uniforms[i].opaque)),
549 prog->data->NumHiddenUniforms = blob_read_uint32(metadata);
558 blob_copy_bytes(metadata,
580 write_uniform_remap_table(struct blob *metadata,
585 blob_write_uint32(metadata, num_entries);
592 blob_write_uint32(metadata, remap_type_inactive_explicit_location);
594 blob_write_uint32(metadata, remap_type_null_ptr);
596 blob_write_uint32(metadata, remap_type_uniform_offsets_equal);
609 blob_write_uint32(metadata, offset);
610 blob_write_uint32(metadata, count);
613 blob_write_uint32(metadata, remap_type_uniform_offset);
615 blob_write_uint32(metadata, offset);
621 write_uniform_remap_tables(struct blob *metadata,
624 write_uniform_remap_table(metadata, prog->NumUniformRemapTable,
631 write_uniform_remap_table(metadata,
640 read_uniform_remap_table(struct blob_reader *metadata,
645 unsigned num = blob_read_uint32(metadata);
653 (enum uniform_remap_type) blob_read_uint32(metadata);
660 uint32_t uni_offset = blob_read_uint32(metadata);
661 uint32_t count = blob_read_uint32(metadata);
668 uint32_t uni_offset = blob_read_uint32(metadata);
676 read_uniform_remap_tables(struct blob_reader *metadata,
680 read_uniform_remap_table(metadata, prog, &prog->NumUniformRemapTable,
689 read_uniform_remap_table(metadata, prog,
714 write_hash_table(struct blob *metadata, struct string_to_uint_map *hash)
719 whte.blob = metadata;
722 offset = metadata->size;
725 blob_write_uint32 (metadata, 0);
730 blob_overwrite_uint32 (metadata, offset, whte.num_entries);
734 read_hash_table(struct blob_reader *metadata, struct string_to_uint_map *hash)
740 num_entries = blob_read_uint32 (metadata);
743 key = blob_read_string(metadata);
744 value = blob_read_uint32(metadata);
751 write_hash_tables(struct blob *metadata, struct gl_shader_program *prog)
753 write_hash_table(metadata, prog->AttributeBindings);
754 write_hash_table(metadata, prog->FragDataBindings);
755 write_hash_table(metadata, prog->FragDataIndexBindings);
759 read_hash_tables(struct blob_reader *metadata, struct gl_shader_program *prog)
761 read_hash_table(metadata, prog->AttributeBindings);
762 read_hash_table(metadata, prog->FragDataBindings);
763 read_hash_table(metadata, prog->FragDataIndexBindings);
767 write_shader_subroutine_index(struct blob *metadata,
776 blob_write_uint32(metadata, j);
801 write_program_resource_data(struct blob *metadata,
812 encode_type_to_blob(metadata, var->type);
813 encode_type_to_blob(metadata, var->interface_type);
814 encode_type_to_blob(metadata, var->outermost_struct_type);
817 blob_write_string(metadata, var->name.string);
819 blob_write_string(metadata, "");
826 blob_write_bytes(metadata, ((char *)var) + s_var_ptrs,
834 blob_write_uint32(metadata, i);
843 blob_write_uint32(metadata, i);
858 blob_write_uint32(metadata, uniform_not_remapped);
862 blob_write_uint32(metadata, i);
867 blob_write_uint32(metadata, uniform_remapped);
868 blob_write_uint32(metadata, ((gl_uniform_storage *)res->Data)->remap_location);
875 blob_write_uint32(metadata, i);
884 blob_write_uint32(metadata, i);
893 blob_write_uint32(metadata, i);
906 write_shader_subroutine_index(metadata, sh, res);
914 read_program_resource_data(struct blob_reader *metadata,
925 var->type = decode_type_from_blob(metadata);
926 var->interface_type = decode_type_from_blob(metadata);
927 var->outermost_struct_type = decode_type_from_blob(metadata);
929 var->name.string = ralloc_strdup(prog, blob_read_string(metadata));
935 blob_copy_bytes(metadata, ((uint8_t *) var) + s_var_ptrs,
942 res->Data = &prog->data->UniformBlocks[blob_read_uint32(metadata)];
945 res->Data = &prog->data->ShaderStorageBlocks[blob_read_uint32(metadata)];
955 enum uniform_type type = (enum uniform_type) blob_read_uint32(metadata);
957 res->Data = &prog->data->UniformStorage[blob_read_uint32(metadata)];
959 res->Data = prog->UniformRemapTable[blob_read_uint32(metadata)];
964 res->Data = &prog->data->AtomicBuffers[blob_read_uint32(metadata)];
968 sh.LinkedTransformFeedback->Buffers[blob_read_uint32(metadata)];
972 sh.LinkedTransformFeedback->Varyings[blob_read_uint32(metadata)];
983 &sh->Program->sh.SubroutineFunctions[blob_read_uint32(metadata)];
991 write_program_resource_list(struct blob *metadata,
994 blob_write_uint32(metadata, prog->data->NumProgramResourceList);
997 blob_write_uint32(metadata, prog->data->ProgramResourceList[i].Type);
998 write_program_resource_data(metadata, prog,
1000 blob_write_bytes(metadata,
1007 read_program_resource_list(struct blob_reader *metadata,
1010 prog->data->NumProgramResourceList = blob_read_uint32(metadata);
1017 prog->data->ProgramResourceList[i].Type = blob_read_uint32(metadata);
1018 read_program_resource_data(metadata, prog,
1020 blob_copy_bytes(metadata,
1027 write_shader_parameters(struct blob *metadata,
1030 blob_write_uint32(metadata, params->NumParameters);
1035 blob_write_uint32(metadata, param->Type);
1036 blob_write_string(metadata, param->Name);
1037 blob_write_uint32(metadata, param->Size);
1038 blob_write_uint32(metadata, param->Padded);
1039 blob_write_uint32(metadata, param->DataType);
1040 blob_write_bytes(metadata, param->StateIndexes,
1042 blob_write_uint32(metadata, param->UniformStorageIndex);
1043 blob_write_uint32(metadata, param->MainUniformStorageIndex);
1048 blob_write_bytes(metadata, params->ParameterValues,
1051 blob_write_uint32(metadata, params->StateFlags);
1052 blob_write_uint32(metadata, params->UniformBytes);
1053 blob_write_uint32(metadata, params->FirstStateVarIndex);
1054 blob_write_uint32(metadata, params->LastStateVarIndex);
1058 read_shader_parameters(struct blob_reader *metadata,
1063 uint32_t num_parameters = blob_read_uint32(metadata);
1067 gl_register_file type = (gl_register_file) blob_read_uint32(metadata);
1068 const char *name = blob_read_string(metadata);
1069 unsigned size = blob_read_uint32(metadata);
1070 bool padded = blob_read_uint32(metadata);
1071 unsigned data_type = blob_read_uint32(metadata);
1072 blob_copy_bytes(metadata, (uint8_t *) state_indexes,
1079 param->UniformStorageIndex = blob_read_uint32(metadata);
1080 param->MainUniformStorageIndex = blob_read_uint32(metadata);
1085 blob_copy_bytes(metadata, (uint8_t *) params->ParameterValues,
1088 params->StateFlags = blob_read_uint32(metadata);
1089 params->UniformBytes = blob_read_uint32(metadata);
1090 params->FirstStateVarIndex = blob_read_uint32(metadata);
1091 params->LastStateVarIndex = blob_read_uint32(metadata);
1095 write_shader_metadata(struct blob *metadata, gl_linked_shader *shader)
1101 blob_write_uint64(metadata, glprog->DualSlotInputs);
1102 blob_write_bytes(metadata, glprog->TexturesUsed,
1104 blob_write_uint64(metadata, glprog->SamplersUsed);
1106 blob_write_bytes(metadata, glprog->SamplerUnits,
1108 blob_write_bytes(metadata, glprog->sh.SamplerTargets,
1110 blob_write_uint32(metadata, glprog->ShadowSamplers);
1111 blob_write_uint32(metadata, glprog->ExternalSamplersUsed);
1112 blob_write_uint32(metadata, glprog->sh.ShaderStorageBlocksWriteAccess);
1114 blob_write_bytes(metadata, glprog->sh.ImageAccess,
1116 blob_write_bytes(metadata, glprog->sh.ImageUnits,
1121 blob_write_uint32(metadata, glprog->sh.NumBindlessSamplers);
1122 blob_write_uint32(metadata, glprog->sh.HasBoundBindlessSampler);
1124 blob_write_bytes(metadata, &glprog->sh.BindlessSamplers[i],
1128 blob_write_uint32(metadata, glprog->sh.NumBindlessImages);
1129 blob_write_uint32(metadata, glprog->sh.HasBoundBindlessImage);
1131 blob_write_bytes(metadata, &glprog->sh.BindlessImages[i],
1135 write_shader_parameters(metadata, glprog->Parameters);
1139 blob_write_uint32(metadata, (uint32_t)glprog->driver_cache_blob_size);
1141 blob_write_bytes(metadata, glprog->driver_cache_blob,
1147 read_shader_metadata(struct blob_reader *metadata,
1153 glprog->DualSlotInputs = blob_read_uint64(metadata);
1154 blob_copy_bytes(metadata, (uint8_t *) glprog->TexturesUsed,
1156 glprog->SamplersUsed = blob_read_uint64(metadata);
1158 blob_copy_bytes(metadata, (uint8_t *) glprog->SamplerUnits,
1160 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.SamplerTargets,
1162 glprog->ShadowSamplers = blob_read_uint32(metadata);
1163 glprog->ExternalSamplersUsed = blob_read_uint32(metadata);
1164 glprog->sh.ShaderStorageBlocksWriteAccess = blob_read_uint32(metadata);
1166 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageAccess,
1168 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageUnits,
1173 glprog->sh.NumBindlessSamplers = blob_read_uint32(metadata);
1174 glprog->sh.HasBoundBindlessSampler = blob_read_uint32(metadata);
1181 blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.BindlessSamplers[i],
1186 glprog->sh.NumBindlessImages = blob_read_uint32(metadata);
1187 glprog->sh.HasBoundBindlessImage = blob_read_uint32(metadata);
1194 blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.BindlessImages[i],
1200 read_shader_parameters(metadata, glprog->Parameters);
1202 glprog->driver_cache_blob_size = (size_t)blob_read_uint32(metadata);
1206 blob_copy_bytes(metadata, glprog->driver_cache_blob,
1223 struct blob_reader *metadata)
1234 read_shader_metadata(metadata, glprog, linked);
1236 glprog->info.name = ralloc_strdup(glprog, blob_read_string(metadata));
1237 glprog->info.label = ralloc_strdup(glprog, blob_read_string(metadata));
1244 blob_copy_bytes(metadata, ((uint8_t *) &glprog->info) + s_info_ptrs,