Hans-Kristian Arntzen
c266429be9
Partially implement subgroup ops for HLSL SM 6.0.
...
Lots of stuff that needs tons of emulation, which I'm not going to
bother with.
2018-04-11 15:57:41 +02:00
Hans-Kristian Arntzen
146ea76f52
Add test shader for subgroup.
...
Update SPIRV-Tools/glslang commits.
Use vulkan1.1 environment for testing.
Found new "errors" in SPIRV-Tools, so disable validation on those shaders
for now.
2018-04-11 10:29:47 +02:00
Hans-Kristian Arntzen
694b314f87
Support empty structs.
...
Need to fake it by pretending it has one dummy member.
2018-04-05 16:26:54 +02:00
Hans-Kristian Arntzen
e8ca39b7b5
Add test for sampler image arrays.
2018-04-04 09:41:20 +02:00
Hans-Kristian Arntzen
e7bf8d2f48
Refactor out noopt shaders to their own folders.
...
Makes maintenance easier with less clutter.
2018-03-13 10:39:49 +01:00
Hans-Kristian Arntzen
938c7debed
Handle control-dependent temporaries.
...
Derivatives, subgroup and implicit-lod instructions all need to happen
in the block they were created.
2018-03-12 17:34:54 +01:00
Hans-Kristian Arntzen
9fbd8b789e
Update tests for latest SPIRV-Tools and glslang.
2018-03-12 15:11:55 +01:00
Hans-Kristian Arntzen
e3b8e9455c
Add test shader where a phi variable invalidates a temporary.
...
The temporary in question is used to flush a phi variable.
2018-03-09 14:42:26 +01:00
Hans-Kristian Arntzen
922420e346
Disallow arrays and structs from becoming loop variables.
...
Fixes awkward code-gen issue.
2018-03-07 14:54:11 +01:00
Hans-Kristian Arntzen
723bec5d33
frexp/ldexp fails in debug builds, workaround temporarily.
2018-03-07 11:20:53 +01:00
Hans-Kristian Arntzen
47d94ff8d9
Add FP16 to HLSL.
...
Cannot be used in buffer types, similar to mediump in GLSL.
half is useless, because it's 32-bit in FXC.
2018-03-07 10:21:25 +01:00
Hans-Kristian Arntzen
b380a2113a
Implement MatrixInverse on HLSL.
...
Copy-paste implementation from MSL. I assume it's correct.
2018-02-23 16:42:40 +01:00
Hans-Kristian Arntzen
f6d08e6113
Add workaround for PointCoord builtin on HLSL.
2018-02-23 15:58:35 +01:00
Hans-Kristian Arntzen
dd603eab58
Support spec constant array size in blocks.
...
Won't really be correct if the spec constant is changed outside
SPIRV-Cross, but nothing we can do about that, really.
2018-02-23 15:11:45 +01:00
Hans-Kristian Arntzen
a04bdcc7f7
Handle overloaded functions which share the same OpName.
...
Awkward, but legal SPIR-V.
2018-02-23 14:15:51 +01:00
Hans-Kristian Arntzen
047ad7df0f
Support special float constants (NaN/Inf).
2018-02-23 13:06:20 +01:00
Hans-Kristian Arntzen
0673f27b7c
Fix incorrect loop range.
2018-02-22 17:00:41 +01:00
Hans-Kristian Arntzen
114c2c5e37
Add clip/cull-distance support to HLSL.
2018-02-22 16:40:04 +01:00
Hans-Kristian Arntzen
8a3bef2bd6
Add OpFRem tests.
2018-02-15 13:36:59 +01:00
Hans-Kristian Arntzen
843e34b604
Add IsFrontFace support to HLSL.
2018-02-15 12:42:56 +01:00
Hans-Kristian Arntzen
18a594a76b
Implement subpass input support in HLSL.
2018-02-10 10:54:42 +01:00
Hans-Kristian Arntzen
00ccd590ee
Return arrays in HLSL/MSL by writing to an output variable instead.
2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
18e8833eeb
Support gl_NumWorkgroups in HLSL.
2018-02-05 10:29:20 +01:00
Hans-Kristian Arntzen
5d9df6a31c
Do not declare constant composites inline in HLSL.
...
Move arrays and structs out to their own global static constants.
Also, replace illegal names in HLSL as well.
2018-02-02 10:12:26 +01:00
Hans-Kristian Arntzen
988f00fe3c
Fix OpImage on OpSampledImages in HLSL.
2018-02-01 09:22:16 +01:00
Hans-Kristian Arntzen
06041985d0
Fix HLSL regression with struct declaration.
...
It actually worked surprisingly. Fix it properly.
2018-01-23 16:36:20 +01:00
Hans-Kristian Arntzen
168bcc7b3b
Add unreachable tests for MSL/HLSL.
2018-01-15 09:39:15 +01:00
Hans-Kristian Arntzen
27ad8c0922
Add more exhaustive test for barrier handling.
2018-01-09 12:26:46 +01:00
Hans-Kristian Arntzen
c4e787ccf8
Merge pull request #378 from KhronosGroup/fix-371
...
Fix swizzling of scalar integers in HLSL.
2018-01-04 13:42:27 +01:00
Hans-Kristian Arntzen
4590c63b40
Fix swizzling of integers.
...
Add scalar swizzling to constant composites as well.
2018-01-04 13:16:56 +01:00
Hans-Kristian Arntzen
e51b7cd162
Add test for sampler arrays.
2018-01-04 12:28:57 +01:00
Hans-Kristian Arntzen
789fa91987
Support running FXC on Unix-likes as well.
...
Assumes a wine wrapper script is set up, but should be good enough.
2017-12-12 13:23:56 +01:00
Hans-Kristian Arntzen
950732512e
Fix compatibility with FXC.
2017-12-12 12:35:22 +01:00
Hans-Kristian Arntzen
5e9b53e354
Support VertexID/InstanceID in HLSL.
2017-12-06 11:01:32 +01:00
Hans-Kristian Arntzen
aeeb0e3dd0
Support textureQueryLod in HLSL.
2017-12-01 13:30:31 +01:00
Hans-Kristian Arntzen
975cf86892
Test textureProjLodOffset with compare in HLSL as well.
2017-11-29 12:48:06 +01:00
Hans-Kristian Arntzen
dbfa686990
Emit SampleCmpLevelZero for lod/grad variants of SampleCmp.
2017-11-29 12:38:13 +01:00
Hans-Kristian Arntzen
c65248fdce
Support image load-store without format in HLSL.
2017-11-29 12:14:06 +01:00
Hans-Kristian Arntzen
48f3fa4adb
Implement bitfield ops in HLSL.
2017-11-29 11:33:44 +01:00
Hans-Kristian Arntzen
656af7e3ed
Implement unorm16/snorm16 packing in HLSL.
2017-11-27 15:03:40 +01:00
Hans-Kristian Arntzen
719ba63416
Add pack/unpack snorm8/unorm8.
2017-11-27 14:49:47 +01:00
Hans-Kristian Arntzen
6c7c680d01
Implement FP16 unpack/pack on HLSL.
2017-11-27 14:24:30 +01:00
msiglreith
f4bde2b3ef
HLSL: Support early fragment tests attribute
2017-11-21 14:51:03 +01:00
Hans-Kristian Arntzen
22e94913d4
Add test for row/col-major matrix read/write for HLSL.
2017-10-26 17:40:45 +02:00
Hans-Kristian Arntzen
a95295cb23
Remap swizzle for HLSL and RWBuffer.
2017-10-24 09:55:25 +02:00
Hans-Kristian Arntzen
ae236e7056
Add GroupSync() in HLSL.
2017-10-24 09:55:25 +02:00
Hans-Kristian Arntzen
85eb972259
Add some HLSL tests for atomics and image load store.
2017-10-24 09:55:25 +02:00
Hans-Kristian Arntzen
d48876ac41
Add test for stripped cbuffer members.
2017-10-10 17:40:37 +02:00
Hans-Kristian Arntzen
6feff98295
Update HLSL cbuffer tests.
2017-10-10 15:37:53 +02:00
Hans-Kristian Arntzen
c9168cd981
Merge pull request #299 from KhronosGroup/fix-173
...
Stamp out all variants for mod().
2017-10-06 13:53:06 +02:00