Hi,

On 17-04-16 22:27, Pierre Moreau wrote:
On 04:17 PM - Apr 17 2016, Ilia Mirkin wrote:
On Sun, Apr 17, 2016 at 4:07 PM, Pierre Moreau <pierre.mor...@free.fr> wrote:
Ping :-)

On 10:56 PM - Mar 19 2016, Pierre Moreau wrote:
Generating a `cvt u32 $r0 u64 $r1d` or a `cvt u64 $r0d u32 $r2` makes the GPU
unhappy. Instead, manually handle the conversion between 64-bit and 32-bit
values, and use `cvt` to convert between the original target (resp. source)
and 32-bit value. This happens to be the behaviour of NVIDIA's driver.

Signed-off-by: Pierre Moreau <pierre.mor...@free.fr>
---
  .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp      | 59 ++++++++++++++++++++++
  .../nouveau/codegen/nv50_ir_lowering_nvc0.h        |  1 +
  2 files changed, 60 insertions(+)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
index 2719f2c..c419a68 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
@@ -1859,6 +1859,63 @@ NVC0LoweringPass::handleOUT(Instruction *i)
     return true;
  }

+bool
+NVC0LoweringPass::handleCVT(Instruction *i)
+{
+   if (isFloatType(i->dType) || isFloatType(i->sType) ||
+         isSignedIntType(i->dType) xor isSignedIntType(i->sType))

I know pre-C89 features are cool, but let's avoid using them. I know
characters like ^ were uncommon on the 1960's and 1970's teletypes,
but I think we're past those days now.

Yeah… Will fix that.

So "xor" or "^" is bitwise not logical, since isSignedIntType() returns
a bool, which when cast to an int is guaranteed to be 0 or 1, this
should work fine.

And being a bitwise op its presedence means it will get evaluated
before the "||" operators in your condition which I believe is what
we want here, but can we please have a pair of parenthesis around the
"^" and its operands to make this more clear ?

Regards,

Hans
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to