Lines Matching defs:shader
130 struct tu_shader *shader,
143 assert(base >= shader->push_consts.lo * 4);
144 base -= shader->push_consts.lo * 4;
160 struct tu_shader *shader,
172 shader->active_desc_sets |= 1u << set;
281 nir_intrinsic_instr_create(b->shader, intrin->intrinsic);
326 struct tu_shader *shader,
342 BITSET_SET_RANGE_INSIDE_WORD(b->shader->info.textures_used, idx * 2, ((idx * 2) + (bind_layout->array_size * 2)) - 1);
356 shader->active_desc_sets |= 1u << set;
386 nir_intrinsic_instr *instr, struct tu_shader *shader,
390 nir_ssa_def *bindless = build_bindless(dev, b, deref, false, shader, layout);
397 struct tu_shader *shader,
402 lower_load_push_constant(dev, b, instr, shader, layout);
410 lower_vulkan_resource_index(b, instr, shader, layout);
451 lower_image_deref(dev, b, instr, shader, layout);
531 struct tu_shader *shader, const struct tu_pipeline_layout *layout)
538 nir_ssa_def *bindless = build_bindless(dev, b, deref, true, shader, layout);
547 nir_ssa_def *bindless = build_bindless(dev, b, deref, false, shader, layout);
562 struct tu_shader *shader;
573 return lower_tex(b, nir_instr_as_tex(instr), params->dev, params->shader, params->layout);
575 return lower_intrinsic(b, nir_instr_as_intrinsic(instr), params->dev, params->shader, params->layout);
582 * the shader, and tell the backend to reserve this range when pushing UBO
587 gather_push_constants(nir_shader *shader, struct tu_shader *tu_shader)
590 nir_foreach_function(function, shader) {
632 tu_lower_io(nir_shader *shader, struct tu_device *dev,
637 gather_push_constants(shader, tu_shader);
641 .shader = tu_shader,
645 bool progress = nir_shader_instructions_pass(shader,
650 /* Remove now-unused variables so that when we gather the shader info later
655 nir_opt_dce(shader);
658 nir_remove_dead_variables(shader,
726 struct tu_shader *shader;
728 shader = vk_zalloc2(
730 sizeof(*shader),
732 if (!shader)
763 &shader->multi_pos_output, dev);
794 * extension only requires us to initialize the memory that the shader
823 NIR_PASS_V(nir, tu_lower_io, dev, shader, layout);
829 uint32_t reserved_consts_vec4 = align(shader->push_consts.dwords, 16) / 4;
832 assert(!shader->push_consts.dwords);
834 shader->ir3_shader =
842 return shader;
847 struct tu_shader *shader,
850 ir3_shader_destroy(shader->ir3_shader);
852 vk_free2(&dev->vk.alloc, alloc, shader);