panfrost/midgard/disasm: Print LOD for texelFetch
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 10 Jun 2019 20:13:51 +0000 (13:13 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 11 Jun 2019 15:44:19 +0000 (08:44 -0700)
Its encoding differs slightly from the LOD used in normal texture calls.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/midgard/disassemble.c

index fafa2d4e74ab14ae99f812a8750e1fcd680dece2..7b0972efb8c16bc6dafb9fa700cf23055c21fd50 100644 (file)
@@ -1137,6 +1137,15 @@ print_texture_word(uint32_t *word, unsigned tabs)
         if (texture->lod_register) {
                 /* TODO: Decode */
                 printf("lod/bias/grad reg 0x%X (%X), ", texture->bias, texture->bias_int);
+        } else if (texture->op == TEXTURE_OP_TEXEL_FETCH) {
+                /* For texel fetch, the int LOD is in the fractional place and
+                 * there is no fraction / possibility of bias. We *always* have
+                 * an explicit LOD, even if it's zero. */
+
+                if (texture->bias_int)
+                        printf(" /* bias_int = 0x%X */ ", texture->bias_int);
+
+                printf("lod = %d, ", texture->bias);
         } else if (texture->bias || texture->bias_int) {
                 int bias_int = texture->bias_int;
                 float bias_frac = texture->bias / 256.0f;