diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/compute/bit-cast.slang | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tests/compute/bit-cast.slang b/tests/compute/bit-cast.slang index 050b84f30..324400a34 100644 --- a/tests/compute/bit-cast.slang +++ b/tests/compute/bit-cast.slang @@ -31,12 +31,19 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) } { - int4 i4 = int4(id, id + 1, id + 2, id + 3); + // Make i4 holds id as floats so we know they are valid float values and not denormals + int4 i4 = int4(asint(float(id)), asint(float(id + 1)), asint(float(id + 2)), asint(float(id + 3))); float4 f4 = asfloat(i4); uint3 u3 = asuint(f4.xyz); float2 f2 = asfloat(u3.xy); - int i1 = asint(id); + uint u1 = asuint(f2.x); + + float f1 = asfloat(u1); + int i1 = asint(f1); + + float f1_ = asfloat(i1); + int i1_ = asint(f1_); - outputBuffer[id + 8] = i1; + outputBuffer[id + 8] = (int)asfloat(i1_); } }
\ No newline at end of file |
