Lines Matching defs:glprog

50       struct gl_program *glprog = sh->Program;
52 blob_write_uint32(metadata, glprog->sh.NumSubroutineUniforms);
53 blob_write_uint32(metadata, glprog->sh.MaxSubroutineFunctionIndex);
54 blob_write_uint32(metadata, glprog->sh.NumSubroutineFunctions);
55 for (unsigned j = 0; j < glprog->sh.NumSubroutineFunctions; j++) {
56 int num_types = glprog->sh.SubroutineFunctions[j].num_compat_types;
58 blob_write_string(metadata, glprog->sh.SubroutineFunctions[j].name);
59 blob_write_uint32(metadata, glprog->sh.SubroutineFunctions[j].index);
64 glprog->sh.SubroutineFunctions[j].types[k]);
80 struct gl_program *glprog = sh->Program;
82 glprog->sh.NumSubroutineUniforms = blob_read_uint32(metadata);
83 glprog->sh.MaxSubroutineFunctionIndex = blob_read_uint32(metadata);
84 glprog->sh.NumSubroutineFunctions = blob_read_uint32(metadata);
87 glprog->sh.NumSubroutineFunctions);
88 glprog->sh.SubroutineFunctions = subs;
90 for (unsigned j = 0; j < glprog->sh.NumSubroutineFunctions; j++) {
140 struct gl_program *glprog = sh->Program;
142 blob_write_uint32(metadata, glprog->sh.NumUniformBlocks);
143 blob_write_uint32(metadata, glprog->info.num_ssbos);
145 for (unsigned j = 0; j < glprog->sh.NumUniformBlocks; j++) {
147 glprog->sh.UniformBlocks[j] - prog->data->UniformBlocks;
151 for (unsigned j = 0; j < glprog->info.num_ssbos; j++) {
152 uint32_t offset = glprog->sh.ShaderStorageBlocks[j] -
216 struct gl_program *glprog = sh->Program;
218 glprog->sh.NumUniformBlocks = blob_read_uint32(metadata);
219 glprog->info.num_ssbos = blob_read_uint32(metadata);
221 glprog->sh.UniformBlocks =
222 rzalloc_array(glprog, gl_uniform_block *, glprog->sh.NumUniformBlocks);
223 glprog->sh.ShaderStorageBlocks =
224 rzalloc_array(glprog, gl_uniform_block *, glprog->info.num_ssbos);
226 for (unsigned j = 0; j < glprog->sh.NumUniformBlocks; j++) {
228 glprog->sh.UniformBlocks[j] = prog->data->UniformBlocks + offset;
231 for (unsigned j = 0; j < glprog->info.num_ssbos; j++) {
233 glprog->sh.ShaderStorageBlocks[j] =
246 struct gl_program *glprog = prog->_LinkedShaders[i]->Program;
247 blob_write_uint32(metadata, glprog->info.num_abos);
277 struct gl_program *glprog = prog->_LinkedShaders[i]->Program;
279 glprog->info.num_abos = blob_read_uint32(metadata);
280 glprog->sh.AtomicBuffers =
281 rzalloc_array(glprog, gl_active_atomic_buffer *,
282 glprog->info.num_abos);
283 stage_buff_list[i] = glprog->sh.AtomicBuffers;
682 struct gl_program *glprog = sh->Program;
684 glprog->sh.SubroutineUniformRemapTable =
686 &glprog->sh.NumSubroutineUniformRemapTable,
1093 struct gl_program *glprog = shader->Program;
1096 blob_write_uint64(metadata, glprog->DualSlotInputs);
1097 blob_write_bytes(metadata, glprog->TexturesUsed,
1098 sizeof(glprog->TexturesUsed));
1099 blob_write_uint64(metadata, glprog->SamplersUsed);
1101 blob_write_bytes(metadata, glprog->SamplerUnits,
1102 sizeof(glprog->SamplerUnits));
1103 blob_write_bytes(metadata, glprog->sh.SamplerTargets,
1104 sizeof(glprog->sh.SamplerTargets));
1105 blob_write_uint32(metadata, glprog->ShadowSamplers);
1106 blob_write_uint32(metadata, glprog->ExternalSamplersUsed);
1107 blob_write_uint32(metadata, glprog->sh.ShaderStorageBlocksWriteAccess);
1109 blob_write_bytes(metadata, glprog->sh.ImageAccess,
1110 sizeof(glprog->sh.ImageAccess));
1111 blob_write_bytes(metadata, glprog->sh.ImageUnits,
1112 sizeof(glprog->sh.ImageUnits));
1116 blob_write_uint32(metadata, glprog->sh.NumBindlessSamplers);
1117 blob_write_uint32(metadata, glprog->sh.HasBoundBindlessSampler);
1118 for (i = 0; i < glprog->sh.NumBindlessSamplers; i++) {
1119 blob_write_bytes(metadata, &glprog->sh.BindlessSamplers[i],
1123 blob_write_uint32(metadata, glprog->sh.NumBindlessImages);
1124 blob_write_uint32(metadata, glprog->sh.HasBoundBindlessImage);
1125 for (i = 0; i < glprog->sh.NumBindlessImages; i++) {
1126 blob_write_bytes(metadata, &glprog->sh.BindlessImages[i],
1130 write_shader_parameters(metadata, glprog->Parameters);
1132 assert((glprog->driver_cache_blob == NULL) ==
1133 (glprog->driver_cache_blob_size == 0));
1134 blob_write_uint32(metadata, (uint32_t)glprog->driver_cache_blob_size);
1135 if (glprog->driver_cache_blob_size > 0) {
1136 blob_write_bytes(metadata, glprog->driver_cache_blob,
1137 glprog->driver_cache_blob_size);
1143 struct gl_program *glprog,
1148 glprog->DualSlotInputs = blob_read_uint64(metadata);
1149 blob_copy_bytes(metadata, (uint8_t *) glprog->TexturesUsed,
1150 sizeof(glprog->TexturesUsed));
1151 glprog->SamplersUsed = blob_read_uint64(metadata);
1153 blob_copy_bytes(metadata, (uint8_t *) glprog->SamplerUnits,
1154 sizeof(glprog->SamplerUnits));
1155 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.SamplerTargets,
1156 sizeof(glprog->sh.SamplerTargets));
1157 glprog->ShadowSamplers = blob_read_uint32(metadata);
1158 glprog->ExternalSamplersUsed = blob_read_uint32(metadata);
1159 glprog->sh.ShaderStorageBlocksWriteAccess = blob_read_uint32(metadata);
1161 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageAccess,
1162 sizeof(glprog->sh.ImageAccess));
1163 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageUnits,
1164 sizeof(glprog->sh.ImageUnits));
1168 glprog->sh.NumBindlessSamplers = blob_read_uint32(metadata);
1169 glprog->sh.HasBoundBindlessSampler = blob_read_uint32(metadata);
1170 if (glprog->sh.NumBindlessSamplers > 0) {
1171 glprog->sh.BindlessSamplers =
1172 rzalloc_array(glprog, gl_bindless_sampler,
1173 glprog->sh.NumBindlessSamplers);
1175 for (i = 0; i < glprog->sh.NumBindlessSamplers; i++) {
1176 blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.BindlessSamplers[i],
1181 glprog->sh.NumBindlessImages = blob_read_uint32(metadata);
1182 glprog->sh.HasBoundBindlessImage = blob_read_uint32(metadata);
1183 if (glprog->sh.NumBindlessImages > 0) {
1184 glprog->sh.BindlessImages =
1185 rzalloc_array(glprog, gl_bindless_image,
1186 glprog->sh.NumBindlessImages);
1188 for (i = 0; i < glprog->sh.NumBindlessImages; i++) {
1189 blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.BindlessImages[i],
1194 glprog->Parameters = _mesa_new_parameter_list();
1195 read_shader_parameters(metadata, glprog->Parameters);
1197 glprog->driver_cache_blob_size = (size_t)blob_read_uint32(metadata);
1198 if (glprog->driver_cache_blob_size > 0) {
1199 glprog->driver_cache_blob =
1200 (uint8_t*)ralloc_size(glprog, glprog->driver_cache_blob_size);
1201 blob_copy_bytes(metadata, glprog->driver_cache_blob,
1202 glprog->driver_cache_blob_size);
1220 struct gl_program *glprog;
1225 glprog = ctx->Driver.NewProgram(ctx, stage, prog->Name, false);
1226 glprog->info.stage = stage;
1227 linked->Program = glprog;
1229 read_shader_metadata(metadata, glprog, linked);
1231 glprog->info.name = ralloc_strdup(glprog, blob_read_string(metadata));
1232 glprog->info.label = ralloc_strdup(glprog, blob_read_string(metadata));
1236 &glprog->info);
1239 blob_copy_bytes(metadata, ((uint8_t *) &glprog->info) + s_info_ptrs,
1242 _mesa_reference_shader_program_data(ctx, &glprog->sh.data, prog->data);
1243 _mesa_reference_program(ctx, &linked->Program, glprog);