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.string);
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++) {
141 struct gl_program *glprog = sh->Program;
143 blob_write_uint32(metadata, glprog->sh.NumUniformBlocks);
144 blob_write_uint32(metadata, glprog->info.num_ssbos);
146 for (unsigned j = 0; j < glprog->sh.NumUniformBlocks; j++) {
148 glprog->sh.UniformBlocks[j] - prog->data->UniformBlocks;
152 for (unsigned j = 0; j < glprog->info.num_ssbos; j++) {
153 uint32_t offset = glprog->sh.ShaderStorageBlocks[j] -
218 struct gl_program *glprog = sh->Program;
220 glprog->sh.NumUniformBlocks = blob_read_uint32(metadata);
221 glprog->info.num_ssbos = blob_read_uint32(metadata);
223 glprog->sh.UniformBlocks =
224 rzalloc_array(glprog, gl_uniform_block *, glprog->sh.NumUniformBlocks);
225 glprog->sh.ShaderStorageBlocks =
226 rzalloc_array(glprog, gl_uniform_block *, glprog->info.num_ssbos);
228 for (unsigned j = 0; j < glprog->sh.NumUniformBlocks; j++) {
230 glprog->sh.UniformBlocks[j] = prog->data->UniformBlocks + offset;
233 for (unsigned j = 0; j < glprog->info.num_ssbos; j++) {
235 glprog->sh.ShaderStorageBlocks[j] =
248 struct gl_program *glprog = prog->_LinkedShaders[i]->Program;
249 blob_write_uint32(metadata, glprog->info.num_abos);
279 struct gl_program *glprog = prog->_LinkedShaders[i]->Program;
281 glprog->info.num_abos = blob_read_uint32(metadata);
282 glprog->sh.AtomicBuffers =
283 rzalloc_array(glprog, gl_active_atomic_buffer *,
284 glprog->info.num_abos);
285 stage_buff_list[i] = glprog->sh.AtomicBuffers;
686 struct gl_program *glprog = sh->Program;
688 glprog->sh.SubroutineUniformRemapTable =
690 &glprog->sh.NumSubroutineUniformRemapTable,
1098 struct gl_program *glprog = shader->Program;
1101 blob_write_uint64(metadata, glprog->DualSlotInputs);
1102 blob_write_bytes(metadata, glprog->TexturesUsed,
1103 sizeof(glprog->TexturesUsed));
1104 blob_write_uint64(metadata, glprog->SamplersUsed);
1106 blob_write_bytes(metadata, glprog->SamplerUnits,
1107 sizeof(glprog->SamplerUnits));
1108 blob_write_bytes(metadata, glprog->sh.SamplerTargets,
1109 sizeof(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,
1115 sizeof(glprog->sh.ImageAccess));
1116 blob_write_bytes(metadata, glprog->sh.ImageUnits,
1117 sizeof(glprog->sh.ImageUnits));
1121 blob_write_uint32(metadata, glprog->sh.NumBindlessSamplers);
1122 blob_write_uint32(metadata, glprog->sh.HasBoundBindlessSampler);
1123 for (i = 0; i < glprog->sh.NumBindlessSamplers; i++) {
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);
1130 for (i = 0; i < glprog->sh.NumBindlessImages; i++) {
1131 blob_write_bytes(metadata, &glprog->sh.BindlessImages[i],
1135 write_shader_parameters(metadata, glprog->Parameters);
1137 assert((glprog->driver_cache_blob == NULL) ==
1138 (glprog->driver_cache_blob_size == 0));
1139 blob_write_uint32(metadata, (uint32_t)glprog->driver_cache_blob_size);
1140 if (glprog->driver_cache_blob_size > 0) {
1141 blob_write_bytes(metadata, glprog->driver_cache_blob,
1142 glprog->driver_cache_blob_size);
1148 struct gl_program *glprog,
1153 glprog->DualSlotInputs = blob_read_uint64(metadata);
1154 blob_copy_bytes(metadata, (uint8_t *) glprog->TexturesUsed,
1155 sizeof(glprog->TexturesUsed));
1156 glprog->SamplersUsed = blob_read_uint64(metadata);
1158 blob_copy_bytes(metadata, (uint8_t *) glprog->SamplerUnits,
1159 sizeof(glprog->SamplerUnits));
1160 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.SamplerTargets,
1161 sizeof(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,
1167 sizeof(glprog->sh.ImageAccess));
1168 blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageUnits,
1169 sizeof(glprog->sh.ImageUnits));
1173 glprog->sh.NumBindlessSamplers = blob_read_uint32(metadata);
1174 glprog->sh.HasBoundBindlessSampler = blob_read_uint32(metadata);
1175 if (glprog->sh.NumBindlessSamplers > 0) {
1176 glprog->sh.BindlessSamplers =
1177 rzalloc_array(glprog, gl_bindless_sampler,
1178 glprog->sh.NumBindlessSamplers);
1180 for (i = 0; i < glprog->sh.NumBindlessSamplers; i++) {
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);
1188 if (glprog->sh.NumBindlessImages > 0) {
1189 glprog->sh.BindlessImages =
1190 rzalloc_array(glprog, gl_bindless_image,
1191 glprog->sh.NumBindlessImages);
1193 for (i = 0; i < glprog->sh.NumBindlessImages; i++) {
1194 blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.BindlessImages[i],
1199 glprog->Parameters = _mesa_new_parameter_list();
1200 read_shader_parameters(metadata, glprog->Parameters);
1202 glprog->driver_cache_blob_size = (size_t)blob_read_uint32(metadata);
1203 if (glprog->driver_cache_blob_size > 0) {
1204 glprog->driver_cache_blob =
1205 (uint8_t*)ralloc_size(glprog, glprog->driver_cache_blob_size);
1206 blob_copy_bytes(metadata, glprog->driver_cache_blob,
1207 glprog->driver_cache_blob_size);
1225 struct gl_program *glprog;
1230 glprog = ctx->Driver.NewProgram(ctx, stage, prog->Name, false);
1231 glprog->info.stage = stage;
1232 linked->Program = glprog;
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));
1241 &glprog->info);
1244 blob_copy_bytes(metadata, ((uint8_t *) &glprog->info) + s_info_ptrs,
1247 _mesa_reference_shader_program_data(&glprog->sh.data, prog->data);
1248 _mesa_reference_program(ctx, &linked->Program, glprog);