From: Alyssa Rosenzweig Date: Fri, 2 Aug 2019 21:26:33 +0000 (-0700) Subject: pan/midgard: Print texture outmod X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ddb38209d51c53d6e5792b04b97814dfce9bce6;p=mesa.git pan/midgard: Print texture outmod I have no idea who thought this was a good idea. Signed-off-by: Alyssa Rosenzweig --- 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;