Hi,
Il 15/09/21 09:27, Matteo Bruni ha scritto:
Yeah, we do want to have true as ~0u for SM4+ (there is no real bool type in < SM4, so that doesn't matter). There is no reason to do things differently and there might be some other unexpected way for the internal representation of true to leak in a visible manner.
Ok, I got convinced by this:
http://shader-playground.timjones.io/a33fbc87153ccd6774030f11d005ad1a
Which BTW means that either we store true as ~0u, or we convert it when returning a bool from a function, and at that point it's easier to just store ~0u.
On the other hand, the same example means that strictly speaking we also have to canonicalize bools which the shader receives as parameters.
I'll fix my patches.
Giovanni.