John Kessenich [Wed, 8 Jun 2016 00:07:12 +0000 (18:07 -0600)]
Merge pull request #331 from jherico/jherico-patch-1
Build: Fix Ubuntu 16.10 build
Brad Davis [Tue, 7 Jun 2016 23:23:44 +0000 (16:23 -0700)]
Fix Ubuntu 16.10 build
John Kessenich [Mon, 6 Jun 2016 03:46:33 +0000 (21:46 -0600)]
Merge pull request #128 from dekimir/clang-format
Infrastructure: Add .clang-format.
John Kessenich [Mon, 6 Jun 2016 00:52:05 +0000 (18:52 -0600)]
Front-end: Fix issue #146: which versions allow double in/out.
Dejan Mircevski [Mon, 6 Jun 2016 00:46:33 +0000 (20:46 -0400)]
Revert SpvBuilder.* to master versions.
Dejan Mircevski [Mon, 6 Jun 2016 00:45:34 +0000 (20:45 -0400)]
Increase column limit to 120.
Dejan Mircevski [Mon, 6 Jun 2016 00:42:20 +0000 (20:42 -0400)]
Merge branch 'master' of github.com:KhronosGroup/glslang into clang-format
John Kessenich [Sun, 5 Jun 2016 23:25:34 +0000 (17:25 -0600)]
Front-end: Fix issue #147: ensure layout(index=N) has N in [0,1].
John Kessenich [Sun, 5 Jun 2016 21:44:07 +0000 (15:44 -0600)]
HLSL: Flesh out the loop grammar and productions.
John Kessenich [Sun, 5 Jun 2016 17:23:11 +0000 (11:23 -0600)]
HLSL: Attribute grammar and if-else grammar/productions.
John Kessenich [Sat, 4 Jun 2016 17:46:33 +0000 (11:46 -0600)]
HLSL: Finish skeletan of the "statement" grammar.
John Kessenich [Fri, 3 Jun 2016 22:55:49 +0000 (16:55 -0600)]
HLSL: 1) Implement lookahead buffers/stacks for token advance/recede, 2) use it for cast operation.
The grammar now accepts type casts, like "(int)x", but that
has to be disambiguated from "(a + b)", needed deeper lookahead
and backing up than what existed so far.
John Kessenich [Fri, 3 Jun 2016 22:55:22 +0000 (16:55 -0600)]
Merge pull request #328 from steve-lunarg/intrinsics
HLSL: Add negative intrinsics tests
LoopDawg [Fri, 3 Jun 2016 16:53:28 +0000 (10:53 -0600)]
Add negative intrinsics tests
John Kessenich [Fri, 3 Jun 2016 18:20:49 +0000 (12:20 -0600)]
Merge pull request #327 from steve-lunarg/empty-statement-fix
HLSL: Fix for empty statement segfault
LoopDawg [Fri, 3 Jun 2016 15:17:51 +0000 (09:17 -0600)]
Fix for empty statement segfault.
John Kessenich [Fri, 3 Jun 2016 16:48:12 +0000 (10:48 -0600)]
Merge pull request #326 from greg-lunarg/greg-mr4
remapper: do not eliminate interface variables in dce
John Kessenich [Fri, 3 Jun 2016 16:47:34 +0000 (10:47 -0600)]
Merge pull request #322 from steve-lunarg/intrinsics
HLSL: Initial implementation of direct-mapped subset of HLSL intrinsics
GregF [Fri, 3 Jun 2016 15:53:47 +0000 (09:53 -0600)]
remapper: do not eliminate interface variables in dce by default
this is done by counting op_entrypoint as a use/def
LoopDawg [Thu, 26 May 2016 16:10:16 +0000 (10:10 -0600)]
Initial implementation of direct-mapped subset of HLSL intrinsics with type subset.
This checkin implements about half of the HLSL intrinsics for a subset of their
entire type support (but a useful subset). The uncommented lines in
TBuiltInParseablesHlsl::identifyBuiltIns shows which are connected.
John Kessenich [Fri, 3 Jun 2016 05:51:45 +0000 (23:51 -0600)]
Merge pull request #323 from dneto0/mingw-static-link-against-basic-runtimes
Build: For MinGW, statically link exes against basic runtimes
John Kessenich [Fri, 3 Jun 2016 05:45:21 +0000 (23:45 -0600)]
SPV: Fix issue #320: Fetch needs to extract the image.
GLSL takes a traditional sampler, but SPIR-V wants just the
sampled image, not the combined sampler and image.
David Neto [Thu, 2 Jun 2016 18:37:24 +0000 (14:37 -0400)]
For MinGW, statically link exes against basic runtimes
Avoids the need to ship basic runtimes like libgcc_s_sjlj-1.dll
with the executables.
John Kessenich [Thu, 2 Jun 2016 00:39:18 +0000 (18:39 -0600)]
Merge pull request #311 from jherico/debug_postfix
Build: Produce different names for files in debug builds on MSVC
John Kessenich [Thu, 2 Jun 2016 00:26:52 +0000 (18:26 -0600)]
Merge pull request #317 from iostrowsINTEL/double_matrix_fix
SPV: Fix double matrix creation
iostrows [Wed, 1 Jun 2016 14:40:00 +0000 (16:40 +0200)]
Fix double matrix creation
John Kessenich [Tue, 31 May 2016 01:38:39 +0000 (19:38 -0600)]
Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.
This amends the previous commit, which ommitted barriers in version 420 for compute shader.
John Kessenich [Tue, 31 May 2016 01:29:40 +0000 (19:29 -0600)]
Front-end: Complete GL_ARB_compute_shader implementation.
Core compute shaders were working, but the extension wasn't implemented.
John Kessenich [Mon, 30 May 2016 00:24:31 +0000 (18:24 -0600)]
Fix issue #313: Catch internal attempts to modify built-in symbols that don't exist.
Also beefed up support for running compute shaders is #version 420, but this
work is only partially done.
John Kessenich [Wed, 25 May 2016 23:43:54 +0000 (17:43 -0600)]
Merge pull request #230 from dekimir/incresconst
Make two more IncludeResult members const.
John Kessenich [Wed, 25 May 2016 23:35:54 +0000 (17:35 -0600)]
Merge pull request #309 from jekstrand/sampler-params
SPV: Don't shadow sampler parameters when performing function calls
John Kessenich [Wed, 25 May 2016 23:31:58 +0000 (17:31 -0600)]
Merge pull request #308 from thp/multiple-es-compilation-units
Link: Handle multiple ES profile compilation units for a single shader stage
Jason Ekstrand [Wed, 25 May 2016 18:50:21 +0000 (11:50 -0700)]
SPV: Don't shadow sampler parameters when performing function calls
Fixes #179
Brad Davis [Wed, 25 May 2016 20:08:34 +0000 (13:08 -0700)]
Produce different names for files in debug builds on MSVC
Thomas Perl [Wed, 25 May 2016 07:26:43 +0000 (09:26 +0200)]
Check for linking multiple ES shaders to the same stage
Thomas Perl [Tue, 24 May 2016 11:18:31 +0000 (13:18 +0200)]
Fix test case for the "empty" linker test case
The test result should only give one error about linking
ES and non-ES shading language compilation units:
- empty.frag: No version info, interpreted as 100, ES
- empty2.frag: No version info, interpreted as 100, ES
- empty3.frag: Version declared as 110, non-ES
Previously, because the new intermediate is always created
without version/profile information, there would be two
linker errors:
1.) When merging the new intermediate with empty.frag
2.) When merging (new intermediate + empty.frag + empty2.frag) with empty3.frag
Now, there is only one error; as the error with merging the
new intermediate with empty.frag has been removed.
Thomas Perl [Tue, 24 May 2016 11:16:08 +0000 (13:16 +0200)]
Use version/profile from first compilation stage
When linking multiple compilation units per shader stage,
the code creates a new intermediate, but fails to set its
version and profile.
This change makes it so that the new intermediate inherits
the version and profile of the first compilation unit, so
that two ES SL compilation units can be combined.
Thomas Perl [Tue, 24 May 2016 11:15:01 +0000 (13:15 +0200)]
Add test case: Link 2 ESSL fragment shader units
John Kessenich [Tue, 24 May 2016 05:37:39 +0000 (23:37 -0600)]
Merge pull request #306 from johnkslang/finish-spec-const-semantics
Vulkan: Finish semantics for what creates spec-const-semantics.
John Kessenich [Mon, 23 May 2016 22:07:07 +0000 (16:07 -0600)]
Vulkan: Finish semantics for what creates spec-const-semantics.
Note: This required adding a new test mode to see the AST for vulkan tests.
This also required reworking some deeper parts of type creation, regarding
when storage qualification and constness is deduced bottom-up or dictated
top-down.
John Kessenich [Mon, 23 May 2016 23:55:07 +0000 (17:55 -0600)]
Merge pull request #305 from steve-lunarg/intrinsics
HLSL: Add base class TParseables for intrinsic / builtin generation.
LoopDawg [Fri, 20 May 2016 19:45:20 +0000 (13:45 -0600)]
Add base class TParseables for intrinsic / builtin generation.
Add stubbed HLSL derivation. GLSL derivation is still called TBuiltIns,
for historical compatibility.
John Kessenich [Mon, 23 May 2016 17:43:31 +0000 (11:43 -0600)]
Merge pull request #302 from amdrexu/bugfix
SPV: Fix an issue of interpolation decoration.
Rex Xu [Sat, 21 May 2016 01:40:44 +0000 (09:40 +0800)]
SPV: Fix an issue of interpolation decoration.
GLSL interpolation qualifiers and auxiliary storage qualifiers are not
mutually exclusive. So when they are translated to SPIR-V decorations, two
independent utility methods should be employed to do this job.
John Kessenich [Fri, 20 May 2016 22:59:27 +0000 (16:59 -0600)]
KHR_vulkan_glsl: name mangle distinguish pure textures.
Fixes issue #252.
John Kessenich [Fri, 20 May 2016 21:40:53 +0000 (15:40 -0600)]
SPV: Don't put locations on OpTypeStruct. Related to Issue #291.
John Kessenich [Fri, 20 May 2016 21:14:23 +0000 (15:14 -0600)]
Merge pull request #301 from dneto0/fix-android-build-atoi-in-cstddef
Build: atoi comes from stddef.h or cstddef
David Neto [Fri, 20 May 2016 20:05:21 +0000 (16:05 -0400)]
atoi comes from stddef.h or cstddef
This is required to fix the Android build for ARM.
John Kessenich [Fri, 20 May 2016 19:46:31 +0000 (13:46 -0600)]
Merge pull request #297 from antiagainst/config-tests
Test compiling shaders with given resource limits using GTest.
John Kessenich [Fri, 20 May 2016 19:44:07 +0000 (13:44 -0600)]
Merge pull request #300 from Qining/fix-slow-down-in-no-contraction-propagation
Fix the slow down in noContraction propagation
qining [Fri, 20 May 2016 18:30:38 +0000 (14:30 -0400)]
remove redundant 'return false'
John Kessenich [Fri, 20 May 2016 18:17:26 +0000 (12:17 -0600)]
HLSL: Add more matrix types to the grammar.
John Kessenich [Fri, 20 May 2016 18:06:03 +0000 (12:06 -0600)]
Full stack: distinguish between a scalar and a vector of size 1.
There have been GLSL extensions considering this, and HLSL does it.
This is a fully backward compatible change that allows this distinction.
qining [Fri, 20 May 2016 18:11:28 +0000 (14:11 -0400)]
Fix the slow down in noContraction propagation
John Kessenich [Fri, 20 May 2016 00:26:42 +0000 (18:26 -0600)]
SPV: Don't emit memory barrier for ESSL barrier(), but still do for GLSL barrier().
Addresses issue #205.
Current open Khronos bug for finalizing this.
John Kessenich [Thu, 19 May 2016 22:35:25 +0000 (16:35 -0600)]
Merge pull request #298 from thp/remove-unused-prototype
Nonfunctional: Remove declaration for ShGetPhysicalAttributeBindings
Thomas Perl [Thu, 19 May 2016 20:19:58 +0000 (22:19 +0200)]
Remove declaration for ShGetPhysicalAttributeBindings
The function ShGetPhysicalAttributeBindings() is declared in the
header, but not defined (or referenced) anywhere in the codebase.
Lei Zhang [Thu, 19 May 2016 17:50:49 +0000 (13:50 -0400)]
Test compiling shaders with given resource limits using GTest.
Lei Zhang [Thu, 19 May 2016 17:31:43 +0000 (13:31 -0400)]
Rename DefaultResourceLimits.* to ResourceLimits.*.
John Kessenich [Thu, 19 May 2016 16:13:08 +0000 (10:13 -0600)]
Merge pull request #288 from thp/attribute-reflection
Reflection: Add support for querying vertex attributes in reflection API
Thomas Perl [Thu, 19 May 2016 07:26:20 +0000 (09:26 +0200)]
Update test cases for vertex attribute reflection
Thomas Perl [Tue, 17 May 2016 11:59:13 +0000 (13:59 +0200)]
Add support for querying vertex attributes in reflection API
John Kessenich [Thu, 19 May 2016 06:00:54 +0000 (00:00 -0600)]
Merge pull request #295 from amdrexu/bugfix
Parser: Redeclaration of gl_CullDistance is disallowed mistakenly.
John Kessenich [Thu, 19 May 2016 05:55:54 +0000 (23:55 -0600)]
Merge pull request #293 from antiagainst/link-tests
Testing: Add link tests in the GTest framework
Rex Xu [Wed, 18 May 2016 23:10:01 +0000 (07:10 +0800)]
Parser: Redeclaration of gl_CullDistance is disallowed mistakenly.
Lei Zhang [Wed, 18 May 2016 03:03:28 +0000 (23:03 -0400)]
Run link tests in the GTest framework.
John Kessenich [Thu, 19 May 2016 00:06:53 +0000 (18:06 -0600)]
Merge pull request #294 from scyganINTEL/scygan-fix-io_storage_structs-location
SPV: Fix missing location decoration for structures put directly on input/output interfaces
scygan [Wed, 18 May 2016 16:09:17 +0000 (18:09 +0200)]
Fix missing location decoration for structures put directly on input/output interfaces
Spec for decorating the OpVariable:
"The remaining variables listed by OpEntryPoint with the Input or Output storage class form the user-defined variable interface. These variables must be identified with a Location decoration"
Spec for decorating struct type:
"The layout of a structure type used as an Input or Output depends on whether it is also a Block (i.e. has a Block decoration).
If it is a not a Block, then the structure type must have a Location decoration"
Lei Zhang [Tue, 17 May 2016 20:43:05 +0000 (16:43 -0400)]
Fix several comments in GTest fixture.
John Kessenich [Tue, 17 May 2016 16:24:00 +0000 (10:24 -0600)]
Non-functional: Fix some comments English and brace formatting in recent merges.
John Kessenich [Tue, 17 May 2016 16:04:05 +0000 (10:04 -0600)]
Merge branch 'scyganINTEL-struct_member_decorations'
John Kessenich [Tue, 17 May 2016 16:03:37 +0000 (10:03 -0600)]
Merge branch 'struct_member_decorations' of https://github.com/scyganINTEL/glslang into scyganINTEL-struct_member_decorations
John Kessenich [Tue, 17 May 2016 15:59:39 +0000 (09:59 -0600)]
Merge pull request #286 from amdrexu/bugfix
SPV: Correct an issue in createUnaryMatrixOperation().
Rex Xu [Tue, 17 May 2016 10:57:18 +0000 (18:57 +0800)]
SPV: Correct an issue in createUnaryMatrixOperation().
Type of the source is not necessarily the same as that of the destination.
John Kessenich [Tue, 17 May 2016 06:31:36 +0000 (00:31 -0600)]
Merge pull request #285 from baldurk/vs2010-fixes
VS2010 compilation fixes
John Kessenich [Tue, 17 May 2016 01:22:05 +0000 (19:22 -0600)]
SPV: Don't add clip/cull distance capabilities unless used.
These capabalities were added on declaration of the members, but
that is considered too aggressive, as those members are automatically
declared in some shaders that don't use them. Now, actual access
is needed to make the capabalities be declared.
John Kessenich [Mon, 16 May 2016 23:39:50 +0000 (17:39 -0600)]
Tests: Add a set of gtest-file-based HLSL tests.
baldurk [Mon, 16 May 2016 23:38:56 +0000 (01:38 +0200)]
Compile fix - if _MSC_VER is undefined, _MSC_VER < 1700 is true!
baldurk [Mon, 16 May 2016 23:28:44 +0000 (01:28 +0200)]
[VS2010] Define strtoll() and atoll() functions
baldurk [Mon, 16 May 2016 23:23:57 +0000 (01:23 +0200)]
[VS2010] Locally define std::to_string on VS2010 as well as android
baldurk [Mon, 16 May 2016 23:19:23 +0000 (01:19 +0200)]
[VS2010] Remove use of ranged-for loops
baldurk [Mon, 16 May 2016 23:17:06 +0000 (01:17 +0200)]
[VS2010] Remove use of "= default" and "= delete"
baldurk [Mon, 16 May 2016 23:16:46 +0000 (01:16 +0200)]
[VS2010] Change "using X = Y;" to "typedef Y X;"
John Kessenich [Mon, 16 May 2016 22:56:40 +0000 (16:56 -0600)]
Merge pull request #284 from antiagainst/gtest-hlsl
Tests: Add support for testing file-based HLSL source code in GTest.
John Kessenich [Mon, 16 May 2016 22:49:20 +0000 (16:49 -0600)]
Merge pull request #253 from amdrexu/bugfix2
SPV: Handle matrix's OpFConvert vector by vector.
John Kessenich [Mon, 16 May 2016 22:47:51 +0000 (16:47 -0600)]
Merge pull request #281 from amdrexu/bugfix
Parser: Add missing vector relational functions for double type.
John Kessenich [Mon, 16 May 2016 22:47:01 +0000 (16:47 -0600)]
Merge pull request #282 from baldurk/android-warning-fix
Build: Minor android compile warning fix
Lei Zhang [Mon, 16 May 2016 16:50:30 +0000 (12:50 -0400)]
Add support for testing file-based HLSL source code in GTest.
baldurk [Sat, 14 May 2016 12:57:41 +0000 (14:57 +0200)]
Use DetachThreadLinux wrapper on android
* Fixes a warning - static function being defined but not used.
* Just in case any more code is added to DetachThreadLinux, this will go
through the same path on both platforms.
Rex Xu [Sat, 14 May 2016 06:21:16 +0000 (14:21 +0800)]
Parser: Add missing vector relational functions for double type.
Rex Xu [Wed, 27 Apr 2016 10:48:17 +0000 (18:48 +0800)]
SPV: Handle matrix's OpFConvert vector by vector.
John Kessenich [Fri, 13 May 2016 15:33:42 +0000 (09:33 -0600)]
HLSL: Add function call syntax and AST building.
John Kessenich [Thu, 12 May 2016 22:51:15 +0000 (16:51 -0600)]
Merge pull request #278 from greg-lunarg/greg-mr3
Build: fix for -Werror=non-virtual-dtor for Android system builds
John Kessenich [Thu, 12 May 2016 20:22:56 +0000 (14:22 -0600)]
Merge pull request #276 from amdrexu/bugfix
Parser: Redeclare gl_ClipDistance/gl_CullDistance should update their array sizes.
John Kessenich [Thu, 12 May 2016 20:18:13 +0000 (14:18 -0600)]
Merge pull request #277 from amdrexu/bugfix3
SPV: Add capability ImageGatherExtended if necessary.
GregF [Wed, 11 May 2016 20:46:48 +0000 (14:46 -0600)]
fix for -Werror=non-virtual-dtor for Android system builds
Rex Xu [Wed, 11 May 2016 08:38:50 +0000 (16:38 +0800)]
SPV: Add capability ImageGatherExtended if necessary.
Rex Xu [Wed, 11 May 2016 07:50:41 +0000 (15:50 +0800)]
Parser: Redeclare gl_ClipDistance/gl_CullDistance should update their array sizes.
John Kessenich [Tue, 10 May 2016 18:30:26 +0000 (12:30 -0600)]
Merge pull request #274 from antiagainst/stoul-strtoul
Use strtoul instead of stoul for Android.
Lei Zhang [Tue, 10 May 2016 17:38:08 +0000 (13:38 -0400)]
Use strtoul instead of stoul for Android.