src[i] = qpu_acc(3);
break;
-
- case QFILE_TLB:
- case QFILE_TLBU:
- unreachable("bad vir src file");
}
}
dst = qpu_magic(V3D_QPU_WADDR_VPM);
break;
- case QFILE_TLB:
- dst = qpu_magic(V3D_QPU_WADDR_TLB);
- break;
-
- case QFILE_TLBU:
- dst = qpu_magic(V3D_QPU_WADDR_TLBU);
- break;
-
case QFILE_SMALL_IMM:
case QFILE_LOAD_IMM:
assert(!"not reached");
reads_uniform(const struct v3d_device_info *devinfo, uint64_t instruction)
{
struct v3d_qpu_instr qpu;
- MAYBE_UNUSED bool ok = v3d_qpu_instr_unpack(devinfo, instruction, &qpu);
+ ASSERTED bool ok = v3d_qpu_instr_unpack(devinfo, instruction, &qpu);
assert(ok);
if (qpu.sig.ldunif ||
qpu.sig.ldunifrf ||
+ qpu.sig.ldtlbu ||
qpu.sig.wrtmuc) {
return true;
}
vir_for_each_block(block, c)
v3d_generate_code_block(c, block, temp_registers);
- uint32_t cycles = v3d_qpu_schedule_instructions(c);
+ v3d_qpu_schedule_instructions(c);
c->qpu_insts = rzalloc_array(c, uint64_t, c->qpu_inst_count);
int i = 0;
}
assert(i == c->qpu_inst_count);
- if (V3D_DEBUG & V3D_DEBUG_SHADERDB) {
- fprintf(stderr, "SHADER-DB: %s prog %d/%d: %d instructions\n",
- vir_get_stage_name(c),
- c->program_id, c->variant_id,
- c->qpu_inst_count);
- }
-
- /* The QPU cycle estimates are pretty broken (see waddr_latency()), so
- * don't report them for now.
- */
- if (false) {
- fprintf(stderr, "SHADER-DB: %s prog %d/%d: %d estimated cycles\n",
- vir_get_stage_name(c),
- c->program_id, c->variant_id,
- cycles);
- }
-
if (V3D_DEBUG & (V3D_DEBUG_QPU |
v3d_debug_flag_for_shader_stage(c->s->info.stage))) {
v3d_dump_qpu(c);