[Mesa-dev] [PATCH 13/18] panfrost/midgard/disasm: Print LOD for texelFetch

Alyssa Rosenzweig alyssa.rosenzweig at collabora.com
Mon Jun 10 22:01:41 UTC 2019


Its encoding differs slightly from the LOD used in normal texture calls.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
---
 src/gallium/drivers/panfrost/midgard/disassemble.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c
index 327a6e8435c..4ef82140b7f 100644
--- a/src/gallium/drivers/panfrost/midgard/disassemble.c
+++ b/src/gallium/drivers/panfrost/midgard/disassemble.c
@@ -1141,6 +1141,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;
-- 
2.20.1



More information about the mesa-dev mailing list