John Kessenich
8317e6c683
SPV: Support SPIR-V 1.5; five extensions no longer need OpExtension.
...
The generalization to addIncorporatedExtension() also fixed a 1.3
corner case with SPV_KHR_16bit_storage.
2019-09-16 07:14:10 -06:00
John Kessenich
deec1933e9
Web: Turn off includes, independent preprocessing path, fine tune all.
...
Saved about 21K, size down to 380K of MSVC x86 code.
Fixed one bug that needs to be looked at on the master branch:
The test for needing a Vulkan binding has a bug in it, "!layoutAttachment"
which does not mean "no layoutAttachment", because that is non-zero.
This is why some test and test results changed.
2019-08-20 23:21:56 -06:00
John Kessenich
155d351f86
Web: Remove unused stage functionality, SPIR-V logger, and hex_utils
...
Saves another 20K.
2019-08-20 23:21:56 -06:00
John Kessenich
b6d3ee5aca
Web: Turn off bracket-style attributes, reflection, and IO mapping.
2019-08-20 23:21:55 -06:00
John Kessenich
7015bd658e
Web: Remove/rationalize a set of *_EXTENSIONS, using GLSLANG_WEB.
...
Focus was on the front end (not SPIR-V), minus the grammar.
Reduces #ifdef count by around 320 and makes the web build 270K smaller,
which is about 90% the target size.
The grammar and scanner will be another step, as will the SPIR-V backend.
This makes heavy use of methods #ifdef'd to return false as a global way
of turning off code, relying on C++ DCE to do the rest.
2019-08-20 23:21:55 -06:00
John Kessenich
23d27751e8
Web: Selectively remove a few key features, using #ifndef GLSLANG_WEB
...
Save about 100K.
N.B.: This is done by eliminating a function call, at a high level,
not by #ifdef'ing a bunch of code.
Also, removed no longer needed *_EXTENSION #ifdef in the code not
needed by GLSLANG_WEB.
2019-08-20 23:21:55 -06:00
John Kessenich
d4ed5158d1
Web: Remove a few additional HLSL constructs with ENABLE_HLSL.
...
Saves about 3K.
2019-08-20 23:21:55 -06:00
John Kessenich
e5c394bcba
Standalone: Fix #1814 : Check that linkage was specified for reflection.
2019-07-02 09:47:42 -06:00
John Kessenich
605afc7b1b
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
2019-06-17 23:33:09 -06:00
Christoph Kubisch
412ff6ea6a
minor naming cleanup
2019-04-13 22:57:33 +02:00
Christoph Kubisch
55ba3eaf89
introduce new --dump-builtin-symbols command line
...
add corresponding EShMsgBuiltinSymbolTable
TSymbol::dump functions have option to do "complete" print
bugfix in TType::getCompleteString, structure can be null for block
2019-04-13 22:18:16 +02:00
baldurk
1905069857
Add option to unwrap I/O block aggregates in reflection
...
* We follow similar rules to uniform block exploding.
2019-02-11 11:53:52 +00:00
baldurk
4513df9175
Reflow for better readability
2019-02-08 10:48:48 +00:00
baldurk
a972e73ad7
Add option to reflect all block members, inactive or active.
...
* The stages mask is more fine-grained, and each variable or block's mask
indicates which stages it's active in.
2019-02-04 12:02:59 +00:00
baldurk
657acc0c40
Add option to reflect buffer blocks & variables separately to uniforms
...
* Also note the uniform indices of atomic counter buffers
2019-02-04 12:02:59 +00:00
baldurk
0af5e3e346
Reflect pipeline outputs as well as inputs, optionally from other stages
...
* We add an option to reflect inputs from other stages than vertex, if only a
later subset of the stages is linked into the program.
2019-02-04 12:02:59 +00:00
baldurk
edf8212ab8
Add an option to report array variables with trailing [0] suffix
...
* This is as expected by ARB_program_interface_query
2019-02-04 11:21:09 +00:00
baldurk
15c37f79a9
Include array index in reflected uniform names more consistently
...
* This comes from the resolution of issues 4, 5 & 6 in
ARB_program_interface_query, stating that uniform buffers should have their
members expanded out as normal and arrays should have elements added.
* If a buffer block has a large array e.g. [10000] we don't want to iterate over
every array element. Instead we should only expand out the first [0] element,
then expand as normal from there.
* The array name should still be appended with [0] to indicate that it's an
array.
2019-02-04 11:21:09 +00:00
baldurk
6d47785825
Add options to control how reflection information is built
2019-02-04 11:21:09 +00:00
Rémi Verschelde
ebfd91a719
Remove Unix executable permission from text files
2018-12-10 10:49:16 +01:00
John Kessenich
bd1c1831d5
Manually merge ClemensRognerSD-dx9-sampler and resolve conflicts.
2018-12-07 18:38:26 -07:00
John Kessenich
8717a5d39a
SPV/Standalone: Support specifying arbitrary versions of SPIR-V.
2018-10-26 10:16:47 -06:00
John Kessenich
086febc448
PP: Fix #155 : Don't give error on HLSL PP-only parsing.
2018-10-25 12:43:02 -06:00
John Kessenich
c374030e80
Merge pull request #1523 from sparmarNV/fix-SPV_NV_mesh_shader
...
Allow redeclaration of builtin interface blocks in mesh shader
2018-10-04 23:46:21 -06:00
Sahil Parmar
035cbbe3d0
Allow redeclaration of builtin interface blocks in mesh shader
...
Apart from allowing redeclaration of gl_MeshPerVertexNV and gl_MeshPerPrimitiveNV blocks, this change also -
- Resize clip/cull perview distances based on static index use
- Error out use of both single-view and per-view builtins
- Add new gtests with redeclared blocks and edit existing test output
- Fix couple of typos
2018-10-04 16:39:18 -07:00
Neil Roberts
b0f3d794c8
Add an option to set the base uniform location
...
This will be used to generate uniform locations with --aml
2018-10-02 12:15:22 +02:00
Neil Roberts
16f53474c8
Add a command-line option to override uniform locations
2018-10-02 12:15:22 +02:00
Chao Chen
b50c02ef53
Add-support-for-SPV_NVX_raytracing
2018-09-19 13:07:43 -07:00
Chao Chen
3c3669904c
Add-support-for-SPV_NV_mesh_shader
2018-09-19 13:07:43 -07:00
John Kessenich
97068d8b30
Merge pull request #1465 from otakuto/remove-execute-permissions
...
Remove execute permissions
2018-08-31 08:14:47 -07:00
John Kessenich
c340425bb2
SPV: Add option for controling when the SPIRV-Tools validator is used.
2018-08-23 15:29:08 -06:00
John Kessenich
717c80a9de
SPV: Isolate SPIRV-tools glue to its own file.
2018-08-23 15:17:10 -06:00
John Kessenich
251901ac8a
Fix #1471 : Merge shift amounts for different sets: --stb ... --std ...
2018-08-12 22:08:53 -06:00
John Kessenich
ade8bbbf5f
Fix #1393 : rationalize usage, in the spirit of #1393 .
...
Order is kept about the same.
2018-08-12 21:24:55 -06:00
John Kessenich
640bd0964f
Fix #1468 : Add command-line --entry-point support, same as existing -e.
2018-08-09 14:15:00 -06:00
otakuto
d03da06ac1
Remove execute permissions
2018-08-07 03:16:20 +09:00
John Kessenich
e7f9caeac4
Errors and Build: Fix build warnings, which also improved error messages.
2018-07-12 15:11:07 -06:00
John Kessenich
e2156222d3
SPV: Add option to print disassembly in standard form using SPIRV-Tools.
2018-07-02 15:54:12 -06:00
John Kessenich
3beac945ff
Infrastructure: If using .hlsl suffix, default is -D.
2018-04-17 21:02:19 -06:00
John Kessenich
2ead40ffa8
Tests: Add usage and tests for previous commit.
2018-04-17 17:44:11 -06:00
John Kessenich
fccbb8b40a
Merge branch 'nicebyte-glsl-ext'
2018-04-17 17:30:20 -06:00
Grigory Dzhavadyan
33ddaaafc1
Make FindLanguage use the entire name if parseStageName is false
2018-04-12 20:31:27 -07:00
Grigory Dzhavadyan
ef203bfa38
Fix build error
2018-04-12 19:29:26 -07:00
Grigory Dzhavadyan
3350741e24
Make glslang validator support files ending in .glsl
...
This patch makes the validator accept *.<stage name>.[g/h]lsl pattern
for file names.
This patch preserves previous behavior (i.e. *.vert/*.frag/etc. in file
names still work).
2018-04-12 14:35:24 -07:00
John Kessenich
7f0bcfd8d8
Fix #1333 : Protect against -g for non-generating code.
2018-04-05 19:00:01 -06:00
GregF
fb03a55e0f
Only print legalization warning if optimizer disabled
2018-03-29 13:17:54 -06:00
John Kessenich
7cec64fc42
Non functional: add EshTargetClientVersion alias for EShTargetClientVersion.
...
Fixes #1304 .
2018-03-22 23:54:04 -06:00
John Kessenich
5d610ee1dc
Implement SPV_GOOGLE_hlsl_functionality1.
...
Enabled via -fhlsl_functionality1
2018-03-16 20:21:44 -06:00
John Kessenich
fb97d25c98
Merge branch 'feature' of https://github.com/amdrexu/glslang into amdrexu-feature
2018-03-07 14:29:45 -07:00
Rex Xu
cb61eec948
HLSL: Map min types to GLSL 16-bit types
2018-03-07 13:10:01 +08:00