Lines Matching defs:program
44 Program* program;
51 asm_context(Program* program_) : program(program_), gfx_level(program->gfx_level)
106 aco_err(ctx.program, outmem);
789 fix_exports(asm_context& ctx, std::vector<uint32_t>& out, Program* program)
792 for (Block& block : program->blocks) {
799 if (program->stage.hw == HWStage::VS || program->stage.hw == HWStage::NGG) {
806 if (!program->info.ps.has_epilog) {
819 exported |= program->stage.hw == HWStage::FS && program->info.ps.has_epilog;
828 (program->stage.hw == HWStage::VS || program->stage.hw == HWStage::NGG);
829 aco_err(program,
831 aco_print_program(program, stderr);
843 for (Block& block : ctx.program->blocks) {
879 return ((int)ctx.program->blocks[branch.second->block].offset - branch.first - 1) ==
897 Builder bld(ctx.program);
931 /* s_addc_u32 for high 32 bits not needed because the program is in a 32-bit VA range */
956 int offset = (int)ctx.program->blocks[branch.second->block].offset - branch.first - 1;
960 ctx.program->blocks[branch.second->block].offset < (unsigned)branch.first;
972 offset = (int)ctx.program->blocks[branch.second->block].offset - after_getpc;
992 emit_program(Program* program, std::vector<uint32_t>& code)
994 asm_context ctx(program);
996 if (program->stage.hw == HWStage::VS || program->stage.hw == HWStage::FS ||
997 program->stage.hw == HWStage::NGG)
998 fix_exports(ctx, code, program);
1000 for (Block& block : program->blocks) {
1009 if (program->gfx_level >= GFX10) {
1019 while (program->constant_data.size() % 4u)
1020 program->constant_data.push_back(0);
1022 code.insert(code.end(), (uint32_t*)program->constant_data.data(),
1023 (uint32_t*)(program->constant_data.data() + program->constant_data.size()));