John Kessenich
6a14f78061
HLSL: Fix #1163 : treat buffers as references when calling functions.
...
This continues to prevent writing output buffers (out from a function),
but fixes the problem where the copy-in/out was not getting done.
Making everything work will require knowing both in/out-ness and bufferness,
but these are currently mutually exclusive, because both are storage
qualifiers.
2017-12-04 02:48:10 -07:00
John Kessenich
1f89992423
Merge pull request #1171 from greg-lunarg/kg5
...
Update spirv-tools known-good
2017-12-01 22:16:03 -07:00
John Kessenich
531898a48c
Merge pull request #1170 from LoopDawg/matsize-warnings
...
HLSL: minor: add warning for mat() matrix size truncation
2017-12-01 01:27:33 -07:00
GregF
3e72d2658d
Update spirv-tools known-good
...
This fixes spirv-tools issue 989 where if-break can be incorrectly
deleted from a loop.
2017-11-30 19:36:16 -07:00
LoopDawg
8c49f9b4e6
HLSL: minor: add warning for mat() matrix size truncation
...
Minor change to add a compilation warning on implicit matrix size
truncations.
2017-11-30 10:26:21 -07:00
John Kessenich
7199a6d1a9
Add initialization in case it is causing the Apple Clang release failure.
2017-11-29 16:42:42 -07:00
John Kessenich
ffc31cdc5c
Tests: Trigger more texture tests, and hopefully see build failure go away.
...
(This is motivated by wanting to retickle the tests.)
2017-11-28 23:47:08 -07:00
John Kessenich
1ce94b2d68
Merge pull request #1166 from tafuri/#1165-invalid_Store
...
#1165 invalid store
2017-11-28 19:41:52 -07:00
John Kessenich
b2abe2f0a5
Merge pull request #1169 from LoopDawg/cbuffer-identifier
...
HLSL: allow keyword-identifiers as cbuffer/struct names.
2017-11-28 16:51:42 -07:00
John Kessenich
c4372e43a1
Merge pull request #1167 from LoopDawg/matmul-truncate-mxm
...
HLSL: add implicit mat*mat truncations
2017-11-28 11:06:05 -07:00
John Kessenich
72cddd0178
Merge pull request #1168 from greg-lunarg/kg4
...
Update spirv-tools known-good
2017-11-28 11:04:31 -07:00
LoopDawg
7ee29ba730
HLSL: allow keyword-identifiers as cbuffer/struct names.
...
Issue #791 was partially fixed by PR #1161 (the mat mul implicit
truncations were its main point), but it still wouldn't compile due to
the use of ConstantBuffer as an identifier. Apparently those fall into
the same class as "float float", where float is both a type and an
identifier.
This allows struct definitions with such keyword-identifiers,
and adds ConstantBuffer to the set. 'cbuffer int' is legal in HLSL,
and 'struct int' appears to only be rejected due to the redefinition
of the 'int' type.
Fixes #791
2017-11-28 10:17:19 -07:00
GregF
30d92db011
Update spirv-tools known-good
...
This includes an enhancement to propagate through nested structs.
2017-11-27 14:41:55 -07:00
LoopDawg
cee29b04d6
HLSL: add implicit mat*mat truncations
...
Goes with PR #1161 , and completes the space for mul() implicit truncations.
Note that the v*v and scalar cases are already handled by existing code.
2017-11-27 09:42:53 -07:00
Sebastian Tafuri
66b319d30b
Added new test to gtests and updated test data
2017-11-27 17:13:22 +01:00
Sebastian Tafuri
59677daef7
Respect the array type in Store operation
2017-11-27 17:13:21 +01:00
John Kessenich
792a94809b
Merge pull request #1161 from LoopDawg/matmul-truncate
...
WIP: HLSL: matrix and vector truncations for m*v, v*m, m*m
2017-11-24 19:17:10 -07:00
LoopDawg
2e62910633
HLSL: matrix and vector truncations for m*v, v*m, m*m
...
HLSL truncates the vector, or one of the two matrix dimensions if there is a
dimensional mismatch in m*v, v*m, or m*m.
This PR adds that ability. Conversion constructors are added as required.
2017-11-22 12:01:45 -07:00
John Kessenich
698bf7547a
Memory: Mak full explicit destructor functionality, techincally correctly.
...
Completes a TODO from previous commit.
2017-11-21 14:32:39 -07:00
John Kessenich
1cf2b35529
Memory: Fix #705 : don't use pool object after invoking destructor.
2017-11-21 00:12:31 -07:00
John Kessenich
fd1d07daf1
Memory: Put pragma tables in the pool.
...
Fixes #916 (the last change covered by the PR).
3rd list item in #976 .
2017-11-20 17:41:39 -07:00
John Kessenich
cbdf871d7f
SPV: SampleMask does not depend on SampleRateShading.
...
Fixes #1158 .
Fixes #1159 .
2017-11-20 16:32:49 -07:00
John Kessenich
e2c15b4f6e
Memory: Reference count number of clients, to support multiple independent clients in same process.
...
Addresses 2nd item in #976 .
2017-11-16 23:02:14 -07:00
John Kessenich
b63f4a3808
Usage: clarify meaning of -s; fixes #1135 .
2017-11-16 22:32:20 -07:00
John Kessenich
cb421ef991
Test: Add more legalization tests; those effected by flattening.
2017-11-16 15:02:06 -07:00
John Kessenich
ca4ef9f43b
Merge pull request #1156 from LoopDawg/snorm-uav
...
HLSL: Accept unorm and snorm on types
2017-11-15 15:30:59 -07:00
John Kessenich
6e49c76ed9
Merge pull request #1157 from LoopDawg/gs-hs-mix
...
HLSL: ignore geometry attributes on non-GS stages.
2017-11-15 15:30:18 -07:00
LoopDawg
7573a2ab7f
HLSL: ignore geometry attributes on non-GS stages.
...
If a shader includes a mixture of several stages, such as HS and GS,
the non-stage output geometry should be ignored, lest it conflict
with the stage output.
2017-11-15 11:33:25 -07:00
John Kessenich
4036ef154f
Merge pull request #1147 from KhronosGroup/memory1
...
Memory fixes, round 1
2017-11-14 21:26:42 -07:00
John Kessenich
ab9c6a8aeb
Merge pull request #1155 from antiagainst/skip-tags
...
Appveyor: avoid double testing on master commits
2017-11-14 15:43:24 -07:00
John Kessenich
5da8ead703
Memory: Remove redundant pool popAll(), which is potentially confusing.
2017-11-14 15:19:41 -07:00
LoopDawg
fa39cffd6a
HLSL: Accept unorm and snorm on types
...
This is currently parsed and ignored, save for some minor validation.
2017-11-14 14:55:40 -07:00
Lei Zhang
9a65c6a98e
Appveyor: avoid double testing on master commits
2017-11-14 14:36:22 -05:00
LoopDawg
fc3e86472a
Implement OS_DumpMemoryCounters for Linux
2017-11-13 22:22:42 -07:00
John Kessenich
74bde98778
Memory: Restore unused interfaces, in case other tools called them.
2017-11-13 22:19:21 -07:00
John Kessenich
c9e6740503
Merge pull request #1150 from antiagainst/readme-release
...
Update README about the automatic master-tot relase
2017-11-13 21:43:45 -07:00
Lei Zhang
30c60bdfa0
Update README about the automatic master-tot relase
2017-11-13 15:28:52 -05:00
John Kessenich
a9c8cce8e7
Merge pull request #1143 from LoopDawg/texturebuffer
...
WIP: HLSL: implement TextureBuffer<type>
2017-11-13 11:20:34 -07:00
John Kessenich
94f28eb61a
Memory: Add loop around main, to test tear-down and reuse, and monitor memory changes.
2017-11-13 01:52:26 -07:00
John Kessenich
cb42541e51
Memory: Remove the need for per-thread tear down.
...
Make key objects using the memory pool own their own pool and delete it,
such that there is not generic per-thread pool to manage.
2017-11-13 01:52:11 -07:00
John Kessenich
ff8e59f510
Memory: Do process and 1st thread tear down.
...
Addresses #928 , #389 , and 1st item in #976 . Overlaps #916 .
This had been dropped, when moving away from the old Win32 DLL model.
Issue: per-thread tear down for other threads.
2017-11-12 15:55:22 -07:00
John Kessenich
4ceaab166c
Memory: Move to a normal model of ownership of memory pools, for new/delete.
...
Addresses step 4 of #976 , overlaps #916 .
For each pool, now, it is newed, remembered, and freed by the same entity,
rather than having a mix (thread finalize freeing current pool) that could
lead to double freeing of the same pool. It is quite rational and simple now.
This will enable reinstalling process and thread tear down.
2017-11-12 15:46:40 -07:00
John Kessenich
be20905582
Memory: Non-Functional: Rationalize and improve encapsulation of TLS usage.
...
This will make the next (functional) commit easier to see.
2017-11-12 15:28:58 -07:00
John Kessenich
a36997cb4a
Merge pull request #1142 from greg-lunarg/kg3
...
Update spirv-tools known good.
2017-11-10 13:52:00 -07:00
John Kessenich
4abd6b58d4
Merge pull request #1145 from antiagainst/travis-auto-deploy
...
Travis: auto deploy build artifacts to GitHub Releases
2017-11-09 19:19:56 -07:00
Lei Zhang
fba299a25b
Travis: auto deploy build artifacts to GitHub Releases
...
Pushing a commit to the master branch will trigger a build on
Travis. If the build is successful, the artifacts will be
collected and pushed to GitHub Releases, under the "master-tot"
release.
2017-11-09 15:12:09 -05:00
John Kessenich
a0680e6137
Merge pull request #1114 from LoopDawg/validator-script
...
Add script to crank test shaders through spirv-val
2017-11-09 12:10:24 -07:00
John Kessenich
a50a9de356
Merge pull request #1116 from LoopDawg/reverse-shift-args
...
Reverse order of setShiftBindingForSet parameters
2017-11-09 12:08:28 -07:00
John Kessenich
7c2f6d8558
Merge pull request #1144 from antiagainst/appveyor-auto-deploy
...
Appveyor: auto deploy build artifacts to GitHub Releases
2017-11-09 12:07:42 -07:00
LoopDawg
e570955cdc
Reverse order of setShiftBindingForSet parameters
...
Per feedback on PR #1111 , this reverses the order of the parameters for the setShiftBinding API.
It is now:
void TShader::setShiftBindingForSet(TResourceType res, unsigned int base, unsigned int set);
2017-11-09 09:51:15 -07:00