freedreno/a5xx: fix negative branches
Looks like immed branch offset size increased again.. making what we think is a small negative number look to hw like a huge positive number. And things go badly when shader tries to jump to hyperspace. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
ef30e91fe6
commit
45eef9af03
|
@ -296,6 +296,9 @@ typedef struct PACKED {
|
|||
int32_t immed : 20;
|
||||
uint32_t dummy1 : 12;
|
||||
} a4xx;
|
||||
struct PACKED {
|
||||
uint32_t immed : 32;
|
||||
} a5xx;
|
||||
};
|
||||
|
||||
/* dword1: */
|
||||
|
|
|
@ -129,7 +129,9 @@ static int emit_cat0(struct ir3_instruction *instr, void *ptr,
|
|||
{
|
||||
instr_cat0_t *cat0 = ptr;
|
||||
|
||||
if (info->gpu_id >= 400) {
|
||||
if (info->gpu_id >= 500) {
|
||||
cat0->a5xx.immed = instr->cat0.immed;
|
||||
} else if (info->gpu_id >= 400) {
|
||||
cat0->a4xx.immed = instr->cat0.immed;
|
||||
} else {
|
||||
cat0->a3xx.immed = instr->cat0.immed;
|
||||
|
|
Loading…
Reference in New Issue