dawn-cmake/test/intrinsics/gen
Ben Clayton 03c8393213 [writer/msl]: Implement modf and frexp
And remove the u32 overload of frexp (it's not in the spec).

Brings the number of failing tint end to end tests for MSL down to 19/1098.

The WG still haven't found consensus on reworking these two intrinsics.
It's very likely that their signature will change so that they return a structure instead of returning a value and outputing another as a pointer.

Until the WG makes a decision, let's implement these according to the current spec.
Some overloads are still failing due to MSL missing overloads of the pointer parameter being in the `threadgroup` address space.

I'm holding off fixing these until we know what's happening with these intrinsics.

See also:
https://github.com/gpuweb/gpuweb/issues/1480
https://github.com/gpuweb/gpuweb/issues/1846

Change-Id: Ib6764e6659d840db41bc65fed2b8b283d1056c3d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57421
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-07-08 21:21:27 +00:00
..
abs validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
acos validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
all validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
any validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
arrayLength validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
asin validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atan validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atan2 validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicAdd validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicAnd validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicCompareExchangeWeak validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicExchange validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicLoad validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicMax validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicMin validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicOr validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicStore validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
atomicXor validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
ceil validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
clamp validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
cos validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
cosh validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
countOneBits validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
cross validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
determinant validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
distance validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
dot validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
dpdx writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
dpdxCoarse writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
dpdxFine writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
dpdy writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
dpdyCoarse writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
dpdyFine writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
exp validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
exp2 validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
faceForward [intrinsics] rm f32 overloads of reflect, faceForward 2021-07-08 15:08:53 +00:00
floor validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
fma validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
fract validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
frexp [writer/msl]: Implement modf and frexp 2021-07-08 21:21:27 +00:00
fwidth writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
fwidthCoarse writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
fwidthFine writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
ignore validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
inverseSqrt validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
isFinite validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
isInf validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
isNan validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
isNormal validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
ldexp validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
length validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
log validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
log2 validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
max validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
min validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
mix validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
modf [writer/msl]: Implement modf and frexp 2021-07-08 21:21:27 +00:00
normalize validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pack2x16float validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pack2x16snorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pack2x16unorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pack4x8snorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pack4x8unorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
pow validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
reflect [intrinsics] rm f32 overloads of reflect, faceForward 2021-07-08 15:08:53 +00:00
refract Add refract intrinsic 2021-07-05 16:47:37 +00:00
reverseBits validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
round validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
select validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
sign validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
sin validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
sinh validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
smoothStep validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
sqrt validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
step validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
storageBarrier validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
tan validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
tanh validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureDimensions test/intrinsics/gen: Use '0' for level parameters 2021-07-08 21:04:53 +00:00
textureLoad test/intrinsics/gen: Use '0' for level parameters 2021-07-08 21:04:53 +00:00
textureNumLayers validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureNumLevels validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureNumSamples validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureSample Remove texture_external overload for textureSample 2021-07-08 20:58:18 +00:00
textureSampleBias test/intrinsics: Include overload signature in test case 2021-06-17 20:04:45 +00:00
textureSampleCompare test/intrinsics: Include overload signature in test case 2021-06-17 20:04:45 +00:00
textureSampleCompareLevel validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureSampleGrad validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
textureSampleLevel test/intrinsics/gen: Use '0' for level parameters 2021-07-08 21:04:53 +00:00
textureStore validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
transpose validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
trunc validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
unpack2x16float validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
unpack2x16snorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
unpack2x16unorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
unpack4x8snorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
unpack4x8unorm validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
workgroupBarrier validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00