Hans-Kristian Arntzen
b3f6e3de8e
Fix CFG::update_common_dominator.
...
The algorithm was too conservative causing lots of unnecessary
temporaries to be created.
2018-01-24 20:32:11 +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
7d223b8987
Fix CFG for forwarded temporaries.
...
Forwarded temporaries would never declare a temporary.
Figure out all result types ahead of time so we can deal with those
temporaries as well.
2018-01-18 12:11:33 +01:00
Hans-Kristian Arntzen
168bcc7b3b
Add unreachable tests for MSL/HLSL.
2018-01-15 09:39:15 +01:00
Hans-Kristian Arntzen
9c3d4e7c60
Rewrite barrier handling in HLSL.
2018-01-09 12:41:13 +01:00
Hans-Kristian Arntzen
27ad8c0922
Add more exhaustive test for barrier handling.
2018-01-09 12:26:46 +01:00
Hans-Kristian Arntzen
23f0abf112
Update tests for struct flattening.
2018-01-09 10:40:34 +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
ffad50b3c2
Remove duplicate swizzles in remap_swizzle.
...
Makes HLSL image-load-store look much nicer.
2017-12-12 13:01:10 +01:00
Hans-Kristian Arntzen
1c7980a778
Swizzle scalars when splatting in HLSL.
2017-12-12 12:52:45 +01:00
Hans-Kristian Arntzen
cc532cb7b6
Use t-namespace for ByteAddressBuffer.
...
FXC caught it, but not glslang, hm ...
2017-12-11 13:55:26 +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
5352615ce1
Update tests.
2017-11-20 21:10:00 +01:00
Hans-Kristian Arntzen
4f88f9750f
Cleanups for HLSL vertex attribute remap.
...
Add CLI support as well.
2017-11-13 09:46:45 +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
2ba7ed1c09
Fix tests after rebase.
2017-10-24 09:56:08 +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
James Ross-Gowan
1f16f0d260
Use 'static const' for spec constants in HLSL
...
If 'const' is used, the shader expects the variable to be backed by a
constant buffer. 'static const' is probably preferred for a value that
is initialized with a constant in the HLSL source code.
FXC also emits a warning for 'const' variables with initializers, since
'static const' was probably intended.
2017-10-21 19:19:32 +11:00
Hans-Kristian Arntzen
d48876ac41
Add test for stripped cbuffer members.
2017-10-10 17:40:37 +02:00
Hans-Kristian Arntzen
94ff355812
Fix some naming issues for stripped and flattened structs.
2017-10-10 17:32:26 +02:00
Hans-Kristian Arntzen
620d01c5d6
Generate decorations for row_major/column_major in HLSL.
2017-10-10 16:11:25 +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
Hans-Kristian Arntzen
d4727fe696
Stamp out all variants for mod().
2017-10-06 13:21:42 +02:00
Hans-Kristian Arntzen
8538b4c9c0
Handle empty struct declarations with best effort.
...
This "feature" is a bit icky as we have no useful representation of it,
so never emit code which has anything to do with empty structs.
2017-10-06 13:05:14 +02:00
Hans-Kristian Arntzen
eb58f67727
Only unroll matrices for vertex input.
...
Bandaid, might have to revisit this later.
2017-10-05 16:31:52 +02:00
Hans-Kristian Arntzen
ecaea50739
Add SPVASM test from clspv.
2017-09-29 12:20:57 +02:00
Hans-Kristian Arntzen
aab3107a3f
Add WorkGroupID/NumWorkGroups to MSL. Fix block name alias.
2017-09-29 12:16:53 +02:00
Hans-Kristian Arntzen
db5d49f04a
Add SPVASM testing support for HLSL/MSL.
2017-09-29 11:07:11 +02:00
Hans-Kristian Arntzen
825f07c04a
Add test for specialization constant workgroup size on HLSL.
2017-09-29 10:21:02 +02:00
Hans-Kristian Arntzen
84f8c9935b
Declare work group size constants in HLSL and MSL.
...
Technically not needed, but it does make compute code easier to read
compared to magical constants being used for work group size.
2017-09-29 10:15:33 +02:00
Hans-Kristian Arntzen
9aa42a87af
Just emit textureSize variants we actually need.
2017-09-20 10:31:56 +02:00
Hans-Kristian Arntzen
1bc5b70752
Add exhaustive image query to HLSL.
...
Need to strip this down somehow ...
2017-09-20 10:00:13 +02:00
James Ross-Gowan
02e6be7288
Fix texture GatherRed/Green/etc. methods for SM 5.0
...
Unlike GLSL, the component is selected by calling a specific method.
2017-09-12 07:20:01 +10:00
Hans-Kristian Arntzen
eab66fcd55
Update HLSL references.
2017-09-08 09:14:00 +02:00
Hans-Kristian Arntzen
e8d2c8e710
Support samplerBuffer as function parameters in HLSL.
2017-08-21 10:26:44 +02:00