Hans-Kristian Arntzen
2c90ea3acc
Improve handling of block name declaration in GLSL.
...
HLSL UAVs are a bit annoying because they can share block types,
so reflection becomes rather awkward. Sometimes we will need to make
some nasty fallbacks, so add a reflection interface which lets you query
post-shader compile which names was actually declared in the shader.
2017-12-01 14:30:10 +01:00
Hans-Kristian Arntzen
aeeb0e3dd0
Support textureQueryLod in HLSL.
2017-12-01 13:30:31 +01:00
Bill Hollings
c93d44ba3c
For MSL, use {} instead of constructors to init OpUndef values.
2017-11-30 15:03:27 -05:00
Hans-Kristian Arntzen
a02b008ce0
Merge pull request #350 from KhronosGroup/fix-341
...
Fix various HLSL bugs.
2017-11-29 13:57:43 +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
c405274e38
Run format_all.sh.
2017-11-29 12:00:48 +01:00
Hans-Kristian Arntzen
48f3fa4adb
Implement bitfield ops in HLSL.
2017-11-29 11:33:44 +01:00
Hans-Kristian Arntzen
7b73d135f7
Merge pull request #347 from KhronosGroup/fix-340
...
Add packing support to HLSL
2017-11-27 15:37:50 +01:00
Hans-Kristian Arntzen
e27f5775c5
Cannot support packDouble on HLSL, at least for now.
2017-11-27 15:06:15 +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
Hans-Kristian Arntzen
5989540f3e
Merge pull request #336 from KhronosGroup/fix-334
...
Add full testing for spirv-opt output.
2017-11-23 10:21:40 +01:00
Hans-Kristian Arntzen
c64c3de01f
Add new optimized test shaders.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
f929078f1e
Disable --opt for in_block_assign for now.
...
Bug: OpLoad fails when loading an interface struct directly, followed by
OpCompositeExtract. This should be fixed, but not critical enough to
block this PR.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
8e14eadb95
Disable opts for loop on MSL as well.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
65cd417630
Do not hoist OpUndef variables.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
3ce6b2a23b
Make bitfield test noopt for now.
...
SPIRV-Tools trips assertion.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
7238e57933
Enforce stable order for dominated phi variables.
2017-11-23 09:59:25 +01:00
Hans-Kristian Arntzen
c52776af78
Update to correct SPIRV-Tools revision.
2017-11-23 09:59:21 +01:00
Hans-Kristian Arntzen
b39e829fc2
Add reference output for --opt.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
3fac289dea
Do not allow base expressions for arrays either.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
1d63d14155
Run format_all.sh.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
3440263d60
Update MSL tests.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
473787ec0b
Check forwarding in OpImageRead.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
a8df0802db
Clear member name cache in emit_flattened_io_block.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
7e02f7fd62
Check more places where we can potentially read phi variables.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
0758428b52
Pass down entry function in a cleaner way.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
0fd028147f
Hoist all phi-local variables to entry block.
...
We don't have a mechanism to move temporaries to their appropriate
scope, and Phi behavior is weird enough that it will be a heroic effort
to not do this rather ugly codegen :(
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
cdca192a56
Check for usage of phi variables as inputs to other phi variables.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
3088701f59
Hook up --opt tests in Travis.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
5b057f1ee1
More stringent checking for where Phi variables are used.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
230a0120d4
Add --opt option to test_shaders.py.
...
Allows us to create a reference suite of optimized SPIR-V.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
e5b11599b8
Update to latest SPIRV-Tools in Travis.
2017-11-23 09:50:11 +01:00
Hans-Kristian Arntzen
7f438371f9
Merge pull request #339 from KhronosGroup/fixup-pr-338
...
Fixups for PR #338
2017-11-23 00:08:44 +01:00
Hans-Kristian Arntzen
bcdff2d2e1
Fixups for PR #338 review.
2017-11-22 20:51:26 +01:00
Lou Kramer
6671f52334
Add support for new extensions.
2017-11-22 19:05:38 +01:00
Hans-Kristian Arntzen
ac607e5382
Merge pull request #337 from msiglreith/early_fragment_tests
...
HLSL: Support early_fragment_tests attribute
2017-11-21 15:18:03 +01:00
msiglreith
f4bde2b3ef
HLSL: Support early fragment tests attribute
2017-11-21 14:51:03 +01:00
Hans-Kristian Arntzen
d0118af831
Merge pull request #335 from KhronosGroup/fix-330
...
Fix complicated Phi case.
2017-11-21 09:49:40 +01:00
Hans-Kristian Arntzen
b629ca1c33
Fix complicated Phi case.
...
A continue block might have used a temporary which existed only in the
loop body.
2017-11-21 09:27:49 +01:00
Hans-Kristian Arntzen
3cacaf614d
Merge pull request #333 from KhronosGroup/fix-331
...
Do not allow base expressions when extracting struct members.
2017-11-20 23:29:30 +01:00
Hans-Kristian Arntzen
2a8b964847
Merge pull request #332 from KhronosGroup/pr-325-fixup
...
Fixups for PR #325
2017-11-20 22:02:08 +01:00
Hans-Kristian Arntzen
851e584338
Do not allow base expressions when extracting struct members.
2017-11-20 21:32:13 +01:00
Hans-Kristian Arntzen
5352615ce1
Update tests.
2017-11-20 21:10:00 +01:00
Amer Koleci
adebd5ed09
Add samples register space and correct generated string.
2017-11-20 21:06:20 +01:00
Amer Koleci
01c42c739e
Support new hlsl 5.1 space for registers.
2017-11-20 21:06:20 +01:00
Hans-Kristian Arntzen
c05d0571cb
Merge pull request #327 from KhronosGroup/sso-hlsl-vertex-fix
...
Fix SSO for HLSL vertex shaders
2017-11-17 13:54:06 +01:00