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 258b700f5957fc13b0512b3734a1b0e81a1c271d
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
John Kessenich
6020995198
Merge pull request #1127 from xorgy/preprocessor-int-min-mod-negative-one
...
Preprocessor: Evaluate INT_MIN % -1 to 0.
2017-10-24 08:14:38 -06:00
Aaron Muir Hamilton
9d4a1b24e9
Preprocessor: Evaluate INT_MIN % -1 to 0.
2017-10-24 10:59:01 +00:00
John Kessenich
047b65f953
Merge pull request #1125 from greg-lunarg/kg1
...
Update spirv-tools known-good
2017-10-23 22:11:42 -06:00
GregF
cc80d80d8d
Update spirv-tools known-good
2017-10-23 16:48:42 -06:00
Aaron Muir Hamilton
437911af33
GLSL: Check for implicit inner dimension in array of atomic_uint.
2017-10-23 15:31:10 +00:00
John Kessenich
9cfc15513f
Merge pull request #1118 from xorgy/only-swizzle-numbers-and-bools
...
Only try swizzles on vectors, numbers, and booleans.
2017-10-22 23:28:22 -06:00
John Kessenich
016e47f7a3
Merge branch 'only-parse-inf-constant-in-hlsl' of https://github.com/xorgy/glslang into xorgy-only-parse-inf-constant-in-hlsl
2017-10-22 23:20:42 -06:00
John Kessenich
6e33b787d3
Tests: Add test for GLSL +-#INF.
2017-10-22 23:17:18 -06:00
John Kessenich
79a4074047
Merge pull request #1120 from xorgy/overlong-hex-literal
...
Check for hexadecimal literals exceeding MaxTokenLength.
2017-10-22 23:09:32 -06:00
Aaron Muir Hamilton
6031266244
GLSL: Only parse [-]1.#INF in HLSL mode.
2017-10-23 02:56:27 +00:00
Aaron Muir Hamilton
9028ed204d
Check for hexadecimal literals exceeding MaxTokenLength.
2017-10-22 17:55:14 +00:00
Aaron Muir Hamilton
07c0bcea92
Only try swizzles on vectors, numbers, and booleans.
2017-10-21 19:54:37 +00:00
John Kessenich
b1eaf82cc8
Merge pull request #1115 from LoopDawg/stdarray-binding-set
...
Nonfunctional: minor: use std::array for per-set shifts, fix warning.
2017-10-20 16:31:26 -06:00
LoopDawg
2915da303f
Nonfunctional: minor: use std::array for per-set shifts, fix warning.
...
Two unrelated, minor tweaks:
(1) Use std::array for shiftBindingForSet. Now matches shiftBinding.
(2) Add parens in shouldFlatten() to make compiler warning happy.
2017-10-20 12:02:38 -06:00
John Kessenich
573cc9e9aa
Merge pull request #1111 from LoopDawg/per-set-binding-offsets
...
Add per-descriptor-set IO mapping shift values.
2017-10-20 11:35:29 -06:00
John Kessenich
7a9db71f46
SPV: Don't emit StorageImageMultisample capability for subpass images.
2017-10-20 10:56:50 -06:00
John Kessenich
6cfeced8de
Non-functional: missing comments from missed git add.
2017-10-20 10:56:20 -06:00
John Kessenich
1b46f137f7
HLSL: Fix #1106 . Support shader setting of binding/set for $Global.
2017-10-19 16:54:25 -06:00
LoopDawg
08a14422c1
Add per-descriptor-set IO mapping shift values.
...
This PR adds the ability to provide per-descriptor-set IO mapping shift
values. If a particular binding does not land into a per-set value,
then it falls back to the prior behavior (global shifts per resource class).
Because there were already 6 copies of many different methods and internal
variables and functions, and this PR would have added 6 more, a new API is
introduced to cut down on replication and present a cleaner interface.
For the global (non-set-specific) API, the old entry points still exist
for backward compatibility, but are phrased internally in terms of the
following.
// Resource type for IO resolver
enum TResourceType {
EResSampler,
EResTexture,
EResImage,
EResUbo,
EResSsbo,
EResUav,
EResCount
};
Methods on TShader:
void setShiftBinding(TResourceType res, unsigned int base);
void setShiftBindingForSet(TResourceType res, unsigned int set, unsigned int base);
The first method replaces the 6 prior entry points of various spellings, which
exist now in depreciated form. The second provides per-resource-set functionality.
Both accept an enum from the list above.
From the command line, the existing options can accept either a single shift value as
before, or a series of 1 or more [set offset] pairs. Both can be provided, as in:
... --stb 20 --stb 2 25 3 30 ...
which will use the offset 20 for anything except descriptor set 2 (which uses 25) and
3 (which uses 30).
2017-10-19 11:50:30 -06:00
John Kessenich
fe4e572c53
GLSL->SPIR-V: Put precision decorations on imageLoad().
2017-10-19 02:07:30 -06:00
John Kessenich
f0e35bf0ef
GLSL: Make sampling operations have agnostic precision qualifiers for desktop.
...
Desktop defaults to highp for samplers, but this should not apply to the built-in
functions, so make it appy only to user declarations.
2017-10-19 00:32:59 -06:00
John Kessenich
3112b5686d
Merge pull request #1113 from xorgy/preprocessor-int-min-over-negative-one
...
Preprocessor: Evaluate INT_MIN / -1 to 0.
2017-10-19 00:24:05 -06:00
John Kessenich
0b55e0f203
Merge pull request #1102 from KhronosGroup/partially-flatten
...
HLSL: Partially flatten hierarchies, instead of all or nothing.
2017-10-18 14:53:53 -06:00
Aaron Muir Hamilton
dc756a61c8
Preprocessor: Evaluate INT_MIN / -1 to 0.
...
This division is undefined behaviour which raises SIGFPE on x86.
Most C++ preprocessors evaluate this silently to 0.
2017-10-18 19:56:19 +00:00
John Kessenich
a50b107e62
Build: Fix build warning.
2017-10-17 12:27:51 -06:00
John Kessenich
8b555f7458
Merge pull request #1109 from xorgy/never-try-to-swizzle-void
...
GLSL: Don't try to swizzle void.
2017-10-17 09:03:17 -06:00
Aaron Muir Hamilton
5313613dd1
Don't try to swizzle void.
2017-10-17 09:04:38 +00:00
GregF
856502cb1b
Update spirv-tools known-good
2017-10-16 21:05:13 -06:00
John Kessenich
7d67c6cbc2
PP: Fix #1104 : Missing check for #if overflow.
...
Also, rationalized this to generally make it safer and more readable.
It could use a more modern approach, at some point...
2017-10-16 15:29:07 -06:00
John Kessenich
1a4bbc4a95
HLSL: More clip fix: It is more involved than previous commit. Complete.
2017-10-16 13:11:53 -06:00
John Kessenich
4ce5b562bb
Fix #1103 : clip() works on int/uint.
2017-10-16 11:42:35 -06:00
John Kessenich
5889fa03f9
Tests: Add clip(int) tests.
2017-10-16 11:40:32 -06:00
John Kessenich
cf571f7310
Infrastructure: Add a TShader method to publicly expose the intermediate.
...
Fixes #1088 .
2017-10-12 23:12:40 -06:00
John Kessenich
41aa19953f
HLSL: Partially flatten hierarchies, instead of all or nothing.
...
Fixes #1092 . Allows arrays of opaques to keep arrayness, unless
needed by uniform array flattening.
Can handle assignments of mixed amounts of flattening.
2017-10-12 16:52:32 -06:00
John Kessenich
60e9161100
Merge pull request #1098 from LoopDawg/attribute-gets
...
HLSL: nonfunctional: add helper access methods to TAttributeMap
2017-10-11 06:05:06 +03:00
John Kessenich
0d1f63ec83
Merge pull request #1097 from SWIFTingAround/master
...
Set cmake-policy CMP0048 to NEW
2017-10-11 01:54:06 +03:00
John Kessenich
ad2bc097e2
Merge pull request #1094 from LoopDawg/split-shadow-tx
...
HLSL: nonfunctional: rename setId -> switchId, add comment
2017-10-11 01:48:49 +03:00