diff options
Diffstat (limited to 'src/panfrost')
-rw-r--r-- | src/panfrost/midgard/disassemble.c | 7 | ||||
-rw-r--r-- | src/panfrost/midgard/midgard.h | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c index 4cfb281b714..d83855aef31 100644 --- a/src/panfrost/midgard/disassemble.c +++ b/src/panfrost/midgard/disassemble.c @@ -1151,6 +1151,9 @@ print_texture_word(uint32_t *word, unsigned tabs) if (texture->last) printf(".last"); + /* Output modifiers are always interpreted floatly */ + print_outmod(texture->outmod, false); + printf(" "); print_texture_reg(texture->out_full, texture->out_reg_select, texture->out_upper); @@ -1263,11 +1266,9 @@ print_texture_word(uint32_t *word, unsigned tabs) /* While not zero in general, for these simple instructions the * following unknowns are zero, so we don't include them */ - if (texture->unknown2 || - texture->unknown4 || + if (texture->unknown4 || texture->unknownA || texture->unknown8) { - printf("// unknown2 = 0x%x\n", texture->unknown2); printf("// unknown4 = 0x%x\n", texture->unknown4); printf("// unknownA = 0x%x\n", texture->unknownA); printf("// unknown8 = 0x%x\n", texture->unknown8); diff --git a/src/panfrost/midgard/midgard.h b/src/panfrost/midgard/midgard.h index 8a71934a683..41b57a108a0 100644 --- a/src/panfrost/midgard/midgard.h +++ b/src/panfrost/midgard/midgard.h @@ -642,7 +642,10 @@ __attribute__((__packed__)) unsigned mask : 4; - unsigned unknown2 : 2; + /* Intriguingly, textures can take an outmod just like textures. Int + * outmods are not supported as far as I can tell, so this is only + * meaningful for float samplers */ + midgard_outmod_float outmod : 2; unsigned swizzle : 8; unsigned unknown4 : 8; |