Commit Graph

2447 Commits

Author SHA1 Message Date
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
LoopDawg
4ec680e15f Add script to crank test shaders through spirv-val
This script will crank a supplied set of glslang test shaders through the
spirv-val tool, reporting on the results.

There are some important things to note:

* Like 'runtests', this must be invoked from the 'Test' subdirectory.

* This is mostly useful on the hlsl.* tests, although it is not strictly
limited to those.  The reason is that most of the glsl tests either contain
validation error cases, and so fail to compile, or are not using a #version
compatible with producing SPIR-V modules.

* Some tests, such as negative tests, or most of the glsl tests, have
intentional compilation errors.  This script treats that as OK.  Failures
are successfully compiling shaders which proceed to fail spirv-val.

* spirv-val is looked for in either the External directory, or if not
found there, in a sibling directory of glslang, and if not found there
either, in /usr/local/bin.

* There are a bunch of command line options.  ./validate-shaders.sh --help
will describe them.

Some examples to try:

   ./validate-shaders.sh hlsl.*   # exercise all hlsl.* tests.
   ./validate-shaders.sh --terse hlsl.*  # same, but tersely.

   # dump validator results for problems in something.frag:
   ./validate-shaders.sh --quiet --dump-val something.frag
2017-11-09 09:40:29 -07:00
Lei Zhang
a7eab9b308 Appveyor: auto deploy build artifacts to GitHub Releases
Pushing a commit to the master branch will trigger a build on
Appveyor. If the build is successful, the artifacts will be
collected and pushed to GitHub Releases, under the "master-tot"
release.
2017-11-09 09:20:46 -05:00
LoopDawg
e5530b92ce HLSL: implement TextureBuffer<type>
Almost equivalent to tbuffer, except members not at global scope.
So, reference is "TextureBuffer_var.member", not simply "member".
2017-11-08 19:48:11 -07:00
GregF
c77da685be Update spirv-tools known good. 2017-11-08 13:56:08 -07:00
John Kessenich
2edde6665d SPV: Don't support noise*() when generating SPV. 2017-11-03 03:39:48 -06:00
John Kessenich
af52799c2d Errors: Have a whole set of tool-level error messages report to stderr. 2017-11-02 22:48:15 -06:00
John Kessenich
a372a3ed1e Versioning: Update some version strings. Still need better overall version. 2017-11-02 22:34:43 -06:00
John Kessenich
9f0b6fa4f0
Merge pull request #1139 from greg-lunarg/remap2
Remapper: Fix strip algo when strip ranges overlap
2017-11-02 21:53:25 -06:00
GregF
e86b4c84d6 Remapper: Fix strip algo when strip ranges overlap 2017-11-02 14:01:57 -06:00
John Kessenich
88e22a6090 Fix #1079: don't give error when macro() name used without open (. 2017-11-02 06:48:32 -06:00
John Kessenich
e8d21388ed Fix nondeterminism discussed in 258b700f59 2017-11-02 00:05:53 -06:00
John Kessenich
ac51602455 Fix #1065: don't validate Vulkan binding numbers.
To handle sparse assignments, don't check maxCombinedTextureImageUnits.
2017-11-01 22:37:24 -06:00
John Kessenich
715c353a15 Non-functional: copyright update, to help with non-determinism test. 2017-10-28 14:42:44 -06:00
John Kessenich
5866e67b8d Tests: Non-determinancy: Add back in the IntMin tests. 2017-10-28 13:03:49 -06:00
John Kessenich
a63622286f
Merge pull request #1133 from greg-lunarg/kg2
Add python3 compatibility to update_glslang_sources.py
2017-10-28 02:03:09 -06:00
GregF
3f9c03bd82 Add python3 compatibility to update_glslang_sources.py 2017-10-27 15:39:45 -06:00
John Kessenich
258b700f59 Non-determinant tests: Remove recent tests, to see if things stabelize.
Both debug and release clang builds have segfaulted on recent
changes, non deterministically, while doing the single/multi-thread
test all test files. Removing recent test files, to see if it gives
a clue.
2017-10-27 04:15:57 -06:00
John Kessenich
e9173b19a9 Non-functional: Add {} expected by convention; retrigger failed bot tests. 2017-10-27 03:10:21 -06:00
John Kessenich
0501e7c8f8 Merge pull request #1129 from xorgy/const-fold-int-min-modulo-negative-one
GLSL: Fold constant SHRT_MIN/INT_MIN/LLONG_MIN % -1 to 0.
2017-10-27 01:30:03 -06:00
Aaron Muir Hamilton
f83e2f0690 GLSL: Fold constant SHRT_MIN/INT_MIN/LLONG_MIN % -1 to 0. 2017-10-25 01:32:20 +00:00
John Kessenich
b5b0846244 Merge pull request #1124 from xorgy/check-inner-implicit-atomic-uint
GLSL: Check for implicit inner dimension in array of atomic_uint.
2017-10-24 08:18:09 -06:00