Dejan Mircevski
454796e008
Call addPredecessor() on OpSwitch blocks.
2016-01-19 10:10:15 -05:00
Dejan Mircevski
5fe789b4af
Add Block::successors.
2016-01-19 10:10:15 -05:00
John Kessenich
60a7f3f7ae
Merge branch 'master' of github.com:KhronosGroup/glslang
2016-01-18 11:11:46 -07:00
John Kessenich
28ad350b35
Memory: remove a part of the last merge request that causes crashes in multi-threaded mode.
2016-01-18 11:10:40 -07:00
John Kessenich
5996961bd1
Merge pull request #134 from AWoloszyn/glslangvalidator-memory
...
Freed up some command line memory (not used programmatically).
2016-01-18 11:10:18 -07:00
John Kessenich
3e9add360d
Merge pull request #133 from AWoloszyn/spirv-memory
...
Free memory associated with SPIR-V generation and the pragmaTable.
2016-01-18 10:48:07 -07:00
Andrew Woloszyn
b7946d16bb
Free memory associated with SPIR-V generation.
2016-01-18 10:29:41 -05:00
Andrew Woloszyn
b891c2b827
Freed up some memory when no longer needed in glslangValidator.
2016-01-18 09:26:25 -05:00
John Kessenich
712ecb96a2
Doubles: Add all the missing built-in double-based prototypes.
2016-01-16 20:37:43 -07:00
John Kessenich
c57b2a97fa
Memory/Perf: For link-mode, isolate file I/O so API can be looped over.
...
Separating file I/O from compile/link lets the compile/link be done
repeatedly in a loop for testing and measuring of performance and
memory footprint, including seeing memory growth over time for
functional-level memory-leak testing.
While the older compile-only mode already had this functionality,
and typically showed no memory leaks, SPIR-V uses the link path,
has pending "TODO" for memory freeing, and this shows several
kilobytes of leaking per compile-link. Most likely, pending
merge request 131 will address much of this.
2016-01-16 15:30:03 -07:00
John Kessenich
68f1431a55
Merge pull request #121 from amdrexu/feature
...
Parser & SPV: Implement two extensions regarding GLSL sparse texture.
2016-01-15 00:52:18 -07:00
John Kessenich
863aa667f3
Merge pull request #129 from AWoloszyn/fix-noop-strcpy
...
Preprocessor: Removed strcpy that copied a value to itself.
2016-01-13 19:12:50 -07:00
John Kessenich
5caf936428
Merge pull request #126 from mgadams/win32_warnings
...
Fix several build warnings/error encountered with VS2013
2016-01-13 19:11:05 -07:00
John Kessenich
e95fa5e095
Tests: Update to match previous pull request.
2016-01-13 19:04:19 -07:00
John Kessenich
2619e47502
Merge pull request #130 from jekstrand/fix-std140-struct
...
linkValidate: Round up structure sizes to vec4 in std140
2016-01-13 18:59:31 -07:00
Jason Ekstrand
a76766a434
getBaseAlignment: Use the rowMajor argument for determining matrix strides
...
The argument version is passed in from above and struct handling ensures
that row-majorness gets propagated correctly from one level to the next.
If we just look at the type itself and it's embedded in a struct that's
declared row-major, we may get the wrong stride.
2016-01-13 17:17:39 -08:00
Jason Ekstrand
79b7046a27
getBaseAlignment: Round up structure sizes to max alignment
2016-01-13 17:17:39 -08:00
Andrew Woloszyn
e602d25f09
Removed strcpy that copied to itself.
...
Found by running glslang with -fsanitize=address in clang.
Also fixes a potential buffer-overrun with return from lReadByte.
2016-01-12 15:48:00 -05:00
Mark Adams
364c21c8c0
Fix several build warnings/error encountered with VS2013
...
This also fixes the newlines for spirv.hpp to be consistent with the rest of the files.
2016-01-06 13:41:02 -05:00
Rex Xu
48edadfd24
Parser & SPV: Implement two extensions regarding GLSL sparse texture.
...
Implement extension "GL_ARB_sparse_texture2".
Implement extension "GL_ARB_sparse_texture_clamp".
2016-01-05 16:07:02 +08:00
John Kessenich
e23c9849c2
SPV: Handle type punning in createCompositeCompare().
2016-01-04 23:59:09 -07:00
John Kessenich
f8842e55c0
SPV: Don't do stride decorations for arrays of arrays of blocks.
2016-01-04 19:22:56 -07:00
John Kessenich
c9e0a42b92
SPV: Handle stride decorations for arrays of arrays, and using multiple type instances when strides are used.
2015-12-29 21:27:24 -07:00
John Kessenich
4998789d4e
SPV: Fix array strides by explicitly computing them in the getBaseAlignment() algorithm.
2015-12-29 19:20:55 -07:00
John Kessenich
e0b6cad44f
SPV: Generalize multiple struct-type instances for interpolation/invariant qualifiers.
2015-12-24 10:30:13 -07:00
John Kessenich
69d01eadd6
Semantics: Catch nested types containing 'int' with non-'flat' interpolation.
2015-12-22 16:39:07 -07:00
John Kessenich
50e57560a1
SPV: Don't make MissingFunctionality() exit anymore.
2015-12-21 21:21:11 -07:00
John Kessenich
2211835b4d
SPV: Implement composite comparisons (reductions across hierchical compare).
2015-12-21 20:54:09 -07:00
John Kessenich
59420fd356
SPV: Move to deterministic results for OpEntryPoint, for test stability across platforms.
2015-12-21 11:45:34 -07:00
John Kessenich
7ba6341a05
SPV: Make OpEntryPoint I/O list include all static uses.
...
Before, it was only including explicit interface, sufficient for IO-Block-declared
oriented interface, but not sufficient for all modes GLSL might be used with
SPIR-V.
Two things are accomplished now:
1) each id will appear exactly once
2) the OpEntryPoint list will union static use with declarations
2015-12-20 17:37:07 -07:00
John Kessenich
3ac051e41d
SPV: recursively propagate row/col majorness through nested structures.
...
This includes doing structure uniqueness modulo majorness, for shared nested structures.
2015-12-20 12:25:21 -07:00
John Kessenich
f85e806e44
SPV: Nested layouts: Recursively send around the top-level std140 or std430 packing.
...
This also distinguishes between the same struct included in multiple parent packings.
2015-12-19 15:21:38 -07:00
John Kessenich
b62e693f74
Merge pull request #118 from amdrexu/bugfix
...
SPV: Fix an issue related with imageStore() for 2DMS.
2015-12-19 11:20:25 -07:00
John Kessenich
a3211bfe72
Merge pull request #120 from amdrexu/bugfix2
...
Parser: Correct the storage qualifier of gl_HelperInvocation.
2015-12-19 11:14:32 -07:00
John Kessenich
aa1dd61257
Merge branch 'master' of github.com:KhronosGroup/glslang
2015-12-19 11:10:56 -07:00
John Kessenich
b6d7fa91a1
Merge pull request #117 from amdrexu/feature
...
SPV: Implement GLSL built-in bitcast functions.
2015-12-19 11:08:02 -07:00
John Kessenich
297bb3f2d0
Tests for PR: Fix results for 4f68b83ea1
.
2015-12-19 11:05:44 -07:00
John Kessenich
4f68b83ea1
Merge pull request #119 from thothonegan/master
...
Display the filename if we have output, even if validating a single file
2015-12-19 11:00:49 -07:00
John Kessenich
61c47a951b
Constant folding: Correct result type of non-square matrix folding.
...
This also made the function easier to read by identifying
left and right operands more clearly.
2015-12-16 15:50:25 -07:00
Rex Xu
1934506555
Parser: Correct the storage qualifier of gl_HelperInvocation.
2015-12-16 14:41:39 +08:00
Kenneth Perry
b07e6beb8a
Display the filename if we have output, even if validating a single file.
2015-12-15 10:52:34 -06:00
Rex Xu
7beb44190f
SPV: Fix an issue related with imageStore() for 2DMS.
2015-12-15 17:52:45 +08:00
Rex Xu
cbc426ee62
SPV: Implement GLSL built-in bitcast functions.
2015-12-15 16:03:10 +08:00
John Kessenich
ea0cb2eb11
Merge pull request #116 from mgadams/scan_compile_fix
...
Fix compile warning/error due to assignment in while() loop
2015-12-14 17:47:51 -07:00
Mark Adams
22badee09a
Fix compile warning/error due to assignment in while() loop
...
This causes build failures with -Werror=parentheses
2015-12-14 10:48:04 -05:00
John Kessenich
e7c83cfb8c
SPV GLSL.std.450: Add needed smear operations for min, max, clamp, mix, step, and smoothstep.
2015-12-13 13:34:37 -07:00
John Kessenich
6feb4989fe
SPV texturing: Use comp. 2 as the 3rd comp. for Dref in ImageSampleProjDrefImplicitLod.
2015-12-13 12:23:33 -07:00
John Kessenich
f5ce646546
Fix crash: when no #version for compute shader in es mode.
...
An extra line of error recovery code set a non-sense combination of
es version and core profile.
2015-12-13 11:20:12 -07:00
John Kessenich
61d9fb9048
Semantics: 'invocations' defaults to 1, not 0.
...
'invocations' was using 0 as the "shader never set" flag and as the
default. Formalize this and explicit set to 1 and link time.
2015-12-13 10:59:17 -07:00
John Kessenich
04bb8a01d6
SPV: Implement all matrix operators {+,-,*,/} for {matrix,scalar,vector}.
2015-12-12 12:28:14 -07:00