From: Alyssa Rosenzweig Date: Tue, 18 Jun 2019 16:06:25 +0000 (-0700) Subject: panfrost/midgard: Handle negative immediate bias X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b51727ea28f1dbac8dcb519c0d06e64cdfb9974c;p=mesa.git panfrost/midgard: Handle negative immediate bias Signed-off-by: Alyssa Rosenzweig --- 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;