1470 Commits

Author SHA1 Message Date
John Kessenich
ba018e6762 SPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand 2018-06-05 08:53:36 -06:00
John Kessenich
14b85d3ff3 Fix #1395: GLSL volatile maps to SPIR-V Volatile and Coherent.
The major version number was bumped in the previous commit to support
this.
2018-06-04 15:36:03 -06:00
John Kessenich
d6c975572e Change the major revision number for next commit. 2018-06-04 15:33:31 -06:00
John Kessenich
a7eb582ac5 Bump revision. 2018-06-04 15:30:54 -06:00
LoopDawg
470a68cfd4 Fix several signed/unsigned comparison compile warnings. 2018-06-01 20:23:50 -06:00
John Kessenich
4f88853412 Fix #1391: Remove use of nonportable strnlen(). 2018-05-27 19:53:20 -06:00
John Kessenich
b91189dbe5
Merge pull request #876 from ligfx/cmaketargetincludedirectories
CMake: use target_include_directories to expose includes
2018-05-27 19:29:42 -06:00
Michael Maltese
a895f378ee CMake: use target_include_directories to expose includes
This makes glslang simpler to embed in larger projects.
2018-05-27 11:36:32 -07:00
John Kessenich
92d05c0c83
Merge pull request #1386 from zeux/master
Fix TextureUpgradeAndSamplerRemovalTransform when used with qualifiers
2018-05-25 16:10:58 -06:00
John Kessenich
3e8e9f7bbd PP: Implement locale-independent strtod, using istringstream and a fast path.
Fixes #1228. Fixes #234.

This uses imbue() to be locale independent.  Notes:

- 'sstream >> double' is much slower than strtod()
  * this was measurable in the test suite as a whole, despite being
    a tiny fraction of what the test suite does
- so, this embeds a fast path that bypasses sstream most of the time
  => the test suite is faster than before
- sstream is probably slower, because it does more accurate rounding than strtod()
- sstream does not create INFINITY by itself, this was done based on failure inferencing
2018-05-24 22:08:30 -06:00
John Kessenich
6c52f8968c PP: Remove second parsing of numbers recorded in macros; save/use original.
This partly addresses #1228 and #234 by reducing usage of strtod (or atof).
There is now only place to parse a floating-point number.
2018-05-24 18:24:06 -06:00
John Kessenich
1ea1b13f38 Testing: Add new tests, and new ways of testing, for floating-point.
- Adds a pragma to see binary output of double values (not portable)
- Print decimals that show more values, but in a portable way
  (lots of portability issues)
- Expand the tests to test more double values

Note: it is quite difficult to have 100% portable tests for floating point.
The current situation works by not printing full precision, and working around
several portability issues.
2018-05-24 18:18:22 -06:00
Arseny Kapoulkine
b239d22f7b Fix TextureUpgradeAndSamplerRemovalTransform when used with qualifiers
The transform removes sampler arguments from functions and function
calls; this causes function arguments to change their indices. When some
function arguments have an output qualifier, this qualifier can get lost
because of the removal which can lead to incorrect results (e.g. out
qualifier not having effect).

To fix this we iterate through both seq & qual arrays in lock-step and
manually remove/replace entries as appropriate.
2018-05-21 15:27:07 -07:00
John Kessenich
2aaef1221f Bump revision. 2018-05-17 11:26:36 -06:00
John Kessenich
ebec909487 GLSL: Fix #1279: refract does not have a double-type eta. 2018-05-17 10:43:21 -06:00
Neil Roberts
22b71f9af9 Skip outermost array when assigning locations to auto-array interfaces
When assigning a location to an interface whose stage automatically
converts the interfaces to an array, it now strips off the outermost
array from the type before calculating how many locations it consumes.
2018-05-10 16:53:49 +02:00
John Kessenich
fd9d9ef436 Bump version. 2018-05-04 21:35:05 -06:00
John Kessenich
25bef9300d
Merge pull request #1363 from mattparks/patch4
Fixed install for SPIRV, glslang, and hlsl when building shared libs
2018-05-03 01:18:37 -06:00
danginsburg
fb6924d23b Fix issue #1367 - change the I/O remapper to ignore push constants so it does not apply a binding/descriptor set to them. 2018-05-02 16:42:22 -04:00
John Kessenich
9cf275bb9e Build: Add missing break statements. Fixes #1052. 2018-04-26 14:12:29 -06:00
Matthew Albrecht
1199cf92f7 Fixed install for SPIRV, glslang, and hlsl when building shared libs 2018-04-26 14:07:46 -05:00
John Kessenich
46e07313f9 GLSL/Vulkan: Warn about arrays of arrays of resources that need bindings.
Initial way of addressing #1362.
2018-04-24 13:29:12 -06:00
John Kessenich
b4cb70fcd9 GLSL: Fix #1359: don't allow unsized arrays as initializers. 2018-04-23 15:32:47 -06:00
John Kessenich
c325f43646 GLSL: Fix #1300: Can redeclare without size a sized built-in block array. 2018-04-19 19:42:50 -06:00
John Kessenich
4c57470872 Bump revision. 2018-04-17 17:46:33 -06:00
John Kessenich
3bb4c48cd9 Bump revision. 2018-04-16 16:02:21 -06:00
John Kessenich
6cf7645c6d Bump revision. 2018-04-13 21:01:01 -06:00
John Kessenich
0f8d43e505 GLSL/Vulkan: Enforce no location aliasing in vertex inputs. 2018-04-12 11:37:57 -06:00
John Kessenich
5d3babdbdf Build: Fix #1347: Compile with NV_EXTENSIONS disabled. 2018-04-12 01:03:25 -06:00
John Kessenich
b9e9e57f12
Merge pull request #1326 from mattparks/patch1
Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL
2018-04-11 18:14:46 -06:00
John Kessenich
461ea09943 Non-functional: Fix tabs. 2018-04-11 00:03:47 -06:00
John Kessenich
e891afacf4 GLSL: Fix #1330: default outputs for GL_NV_geometry_shader_passthrough 2018-04-10 22:01:19 -06:00
John Kessenich
9de57c815b Bump revision. 2018-04-10 14:20:01 -06:00
John Kessenich
c3a370db1d
Merge pull request #1341 from St0fF-NPL-ToM/master
fix VS2012 compile issues
2018-04-10 14:16:39 -06:00
St0fF
1aaa3567d9 Revert "add ability to record accessed and declared "named defines""
This reverts commit e7350423067442f616431c1cdf4f18dd7990a491.
2018-04-10 14:44:23 +02:00
John Kessenich
619dc89684
Merge pull request #1338 from cgmb/minor-shaderlang-fixups
Minor cleanup in ShaderLang.cpp
2018-04-09 17:40:23 -06:00
John Kessenich
1dcd162399 GLSL/SPV: no location on atomic_uint; Fix #1339. 2018-04-09 17:21:30 -06:00
Cory Bloor
39bbad5a00 Minor cleanup in ShaderLang.cpp
Use unique_ptr to simplify memory management in ProcessDeferred.
2018-04-09 16:18:37 -06:00
St0fF
e735042306 add ability to record accessed and declared "named defines"
Added the needed 2 sets to TIntermediate, added accessor-functions, inserter functions.  Implemented recording of such named defines inside the preprocessor parser.
2018-04-09 19:28:45 +02:00
St0fF
77d04598d3 fix VS2012 compile issues
small fixes needed to compile under Win8.1/VS2012/static_lib
2018-04-09 17:37:01 +02:00
John Kessenich
b92ce60fc7 GLSL/SPV: Fix #1310: don't create unnecessary integer matrices. 2018-04-07 18:49:54 -06:00
John Kessenich
11b5c31108 Update revision. 2018-04-05 19:57:40 -06:00
John Kessenich
7f0bcfd8d8 Fix #1333: Protect against -g for non-generating code. 2018-04-05 19:00:01 -06:00
John Kessenich
a89f8cf76b Merge branch 'nonuniform-dynindex' 2018-04-05 13:53:31 -06:00
John Kessenich
4597fea82e Update revision. 2018-04-05 13:50:02 -06:00
John Kessenich
6a8a678c4f Revision/Version update. 2018-04-05 13:45:52 -06:00
John Kessenich
5611c6d27b GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier 2018-04-05 11:25:02 -06:00
John Kessenich
0b5e5da7e7 Update revision. 2018-04-02 15:04:19 -06:00
John Kessenich
6a4a427efe GLSL: Implement correct semantic checking for run-time sized arrays. 2018-04-02 14:52:15 -06:00
John Kessenich
5a867acad5 Linker: Fix #1329: correctly merge unsized arrays, and fix link tests. 2018-04-01 21:22:34 -06:00