Mesa (master): panfrost/midgard: Handle negative immediate bias

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 26 16:09:33 UTC 2019


Module: Mesa
Branch: master
Commit: b51727ea28f1dbac8dcb519c0d06e64cdfb9974c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b51727ea28f1dbac8dcb519c0d06e64cdfb9974c

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Jun 18 09:06:25 2019 -0700

panfrost/midgard: Handle negative immediate bias

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>

---

 src/gallium/drivers/panfrost/midgard/disassemble.c | 7 ++++---
 src/gallium/drivers/panfrost/midgard/midgard.h     | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c
index 58cfa131be5..ee1634430a1 100644
--- a/src/gallium/drivers/panfrost/midgard/disassemble.c
+++ b/src/gallium/drivers/panfrost/midgard/disassemble.c
@@ -1208,14 +1208,15 @@ print_texture_word(uint32_t *word, unsigned tabs)
 
                 printf("lod = %d, ", texture->bias);
         } else if (texture->bias || texture->bias_int) {
-                int bias_int = texture->bias_int;
+                signed bias_int = texture->bias_int;
                 float bias_frac = texture->bias / 256.0f;
                 float bias = bias_int + bias_frac;
 
                 bool is_bias = texture_op_takes_bias(texture->op);
-                char operand = is_bias ? '+' : '=';
+                char sign = (bias >= 0.0) ? '+' : '-';
+                char operand = is_bias ? sign : '=';
 
-                printf("lod %c %f, ", operand, bias);
+                printf("lod %c %f, ", operand, fabsf(bias));
         }
 
         printf("\n");
diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers/panfrost/midgard/midgard.h
index 43fc3a64774..3d11126d953 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard.h
+++ b/src/gallium/drivers/panfrost/midgard/midgard.h
@@ -624,7 +624,7 @@ __attribute__((__packed__))
          * structure and bias_int is zero */
 
         unsigned bias : 8;
-        unsigned bias_int  : 8;
+        signed bias_int  : 8;
 
         unsigned texture_handle : 16;
         unsigned sampler_handle : 16;




More information about the mesa-commit mailing list