Lines Matching defs:shader
45 ir3_alloc(struct ir3 *shader, int sz)
47 return rzalloc_size(shader, sz); /* TODO: don't use rzalloc */
53 struct ir3 *shader = rzalloc(v, struct ir3);
55 shader->compiler = compiler;
56 shader->type = v->type;
58 list_inithead(&shader->block_list);
59 list_inithead(&shader->array_list);
61 return shader;
65 ir3_destroy(struct ir3 *shader)
67 ralloc_free(shader);
196 /* Get the maximum number of waves that could be used even if this shader
214 /* If this is a compute shader, compute the limit based on shared size */
233 /* If we have a compute shader that has a big workgroup, a barrier, and
243 "Compute shader (%s) which has workgroup barrier cannot be used "
269 struct ir3 *shader = v->ir;
280 foreach_block (block, &shader->block_list) {
290 * next stage's shader in turnip)
297 foreach_block (block, &shader->block_list) {
379 mem_delay = soft_sy_delay(instr, shader);
408 reg_create(struct ir3 *shader, int num, int flags)
410 struct ir3_register *reg = ir3_alloc(shader, sizeof(struct ir3_register));
420 struct ir3 *shader = block->shader;
422 instr->serialno = ++shader->instr_count;
427 array_insert(shader, shader->baryfs, instr);
431 ir3_block_create(struct ir3 *shader)
433 struct ir3_block *block = ir3_alloc(shader, sizeof(*block));
435 block->serialno = ++shader->block_count;
437 block->shader = shader;
509 char *ptr = ir3_alloc(block->shader, sz);
588 struct ir3 *shader = instr->block->shader;
592 struct ir3_register *reg = reg_create(shader, num, flags);
600 struct ir3 *shader = instr->block->shader;
604 struct ir3_register *reg = reg_create(shader, num, flags);
610 ir3_reg_clone(struct ir3 *shader, struct ir3_register *reg)
612 struct ir3_register *new_reg = reg_create(shader, 0, 0);
633 struct ir3 *ir = instr->block->shader;
863 struct ir3_compiler *compiler = instr->block->shader->compiler;