On Mon Feb 13 21:53:38 2023 +0000, Zebediah Figura wrote:
I don't think it should block this patch, no.
I am not sure I understand the problem. As you said, you can reimplement `isnan()` with something like: ```hlsl bool4 xisnan(float4 x) { return (asuint(x) & 0x7FFFFFFF) > 0x7F800000; } ``` (adapted from [this tweet](https://twitter.com/_humus_/status/1074973351276371968) and [this shader playground](https://shader-playground.timjones.io/0bbe04704caddadb52cd4134daab8ac3) mentioned by Zeb)
Or you can just pass the NaN to `asuint()`, so we can also test the actual NaN bits.
Also, you can constrain the test to SM4 using: ``` [require] shader model >= 4.0 ``` on the test with negative numbers.
It's not important if we still do not support `asuint()` yet. You can leave the test `todo`, but at least have it pinpoint the expected outcome.
This doesn't seem to be particularly difficult or long. Or am I missing something?