Lines Matching defs:shader
48 struct anv_shader_bin *shader =
51 anv_state_pool_free(&device->instruction_state_pool, shader->kernel);
52 vk_pipeline_cache_object_finish(&shader->base);
53 vk_free(&device->vk.alloc, shader);
79 VK_MULTIALLOC_DECL(&ma, struct anv_shader_bin, shader, 1);
101 vk_pipeline_cache_object_init(&device->vk, &shader->base,
104 shader->stage = stage;
106 shader->kernel =
108 memcpy(shader->kernel.map, kernel_data, kernel_size);
109 shader->kernel_size = kernel_size;
112 shader->kernel.offset +
127 .value = shader->kernel.offset,
133 shader->kernel.offset +
146 shader->kernel.map, prog_data_in,
156 shader->prog_data = prog_data;
157 shader->prog_data_size = prog_data_size;
159 assert(num_stats <= ARRAY_SIZE(shader->stats));
160 typed_memcpy(shader->stats, stats, num_stats);
161 shader->num_stats = num_stats;
167 shader->xfb_info = xfb_info;
169 shader->xfb_info = NULL;
172 shader->bind_map = *bind_map;
175 shader->bind_map.surface_to_descriptor = surface_to_descriptor;
178 shader->bind_map.sampler_to_descriptor = sampler_to_descriptor;
180 return shader;
187 struct anv_shader_bin *shader =
190 blob_write_uint32(blob, shader->stage);
192 blob_write_uint32(blob, shader->kernel_size);
193 blob_write_bytes(blob, shader->kernel.map, shader->kernel_size);
195 blob_write_uint32(blob, shader->prog_data_size);
196 blob_write_bytes(blob, shader->prog_data, shader->prog_data_size);
197 blob_write_bytes(blob, shader->prog_data->relocs,
198 shader->prog_data->num_relocs *
199 sizeof(shader->prog_data->relocs[0]));
201 blob_write_uint32(blob, shader->num_stats);
202 blob_write_bytes(blob, shader->stats,
203 shader->num_stats * sizeof(shader->stats[0]));
205 if (shader->xfb_info) {
207 nir_xfb_info_size(shader->xfb_info->output_count);
209 blob_write_bytes(blob, shader->xfb_info, xfb_info_size);
214 blob_write_bytes(blob, shader->bind_map.surface_sha1,
215 sizeof(shader->bind_map.surface_sha1));
216 blob_write_bytes(blob, shader->bind_map.sampler_sha1,
217 sizeof(shader->bind_map.sampler_sha1));
218 blob_write_bytes(blob, shader->bind_map.push_sha1,
219 sizeof(shader->bind_map.push_sha1));
220 blob_write_uint32(blob, shader->bind_map.surface_count);
221 blob_write_uint32(blob, shader->bind_map.sampler_count);
222 blob_write_bytes(blob, shader->bind_map.surface_to_descriptor,
223 shader->bind_map.surface_count *
224 sizeof(*shader->bind_map.surface_to_descriptor));
225 blob_write_bytes(blob, shader->bind_map.sampler_to_descriptor,
226 shader->bind_map.sampler_count *
227 sizeof(*shader->bind_map.sampler_to_descriptor));
228 blob_write_bytes(blob, shader->bind_map.push_ranges,
229 sizeof(shader->bind_map.push_ranges));
285 struct anv_shader_bin *shader =
291 if (shader == NULL)
294 return &shader->base;
338 struct anv_shader_bin *shader =
345 if (shader == NULL)
349 vk_pipeline_cache_add_object(cache, &shader->base);