diff --git a/src/freedreno/decode/cffdec.c b/src/freedreno/decode/cffdec.c index 57d8a66addd..17b43eca3de 100644 --- a/src/freedreno/decode/cffdec.c +++ b/src/freedreno/decode/cffdec.c @@ -2764,11 +2764,15 @@ cp_compute_checkpoint(uint32_t *dwords, uint32_t sizedwords, int level) assert(is_64b()); assert(options->gpu_id >= 500); - assert(sizedwords == 8); - - addr = dwords[5]; - addr |= ((uint64_t)dwords[6]) << 32; - len = dwords[7]; + if (sizedwords == 8) { + addr = dwords[5]; + addr |= ((uint64_t)dwords[6]) << 32; + len = dwords[7]; + } else { + addr = dwords[5]; + addr |= ((uint64_t)dwords[6]) << 32; + len = dwords[4]; + } printl(3, "%saddr: 0x%016" PRIx64 "\n", levels[level], addr); printl(3, "%slen: 0x%x\n", levels[level], len); diff --git a/src/freedreno/registers/adreno/adreno_pm4.xml b/src/freedreno/registers/adreno/adreno_pm4.xml index 2450929ddcb..0857c5aada4 100644 --- a/src/freedreno/registers/adreno/adreno_pm4.xml +++ b/src/freedreno/registers/adreno/adreno_pm4.xml @@ -1580,11 +1580,11 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords) + - + -