platform/upstream/glslang.git
8 years agoMerge pull request #363 from cdwfs/vertex_instance_id
John Kessenich [Fri, 1 Jul 2016 00:15:24 +0000 (18:15 -0600)]
Merge pull request #363 from cdwfs/vertex_instance_id

Suggest gl_[Vertex,Instance]Index when gl_[Vertex,Instance]ID is encountered in Vulkan GLSL

8 years agoFront-end: Don't lower precision of bit operations taking highp inputs.
John Kessenich [Thu, 30 Jun 2016 22:46:24 +0000 (16:46 -0600)]
Front-end: Don't lower precision of bit operations taking highp inputs.

See issue #350 for detail.  This may be an ESSL specification issue.

8 years agoMerge pull request #364 from steve-lunarg/test-entrypoints
John Kessenich [Thu, 30 Jun 2016 21:41:25 +0000 (15:41 -0600)]
Merge pull request #364 from steve-lunarg/test-entrypoints

HLSL: Change intrinsics tests to not use overloaded entry points

8 years agoHLSL: Change intrinsics tests to not use overloaded entry points
LoopDawg [Thu, 30 Jun 2016 20:13:03 +0000 (14:13 -0600)]
HLSL: Change intrinsics tests to not use overloaded entry points

8 years agoWhen parsing Vulkan GLSL, suggest gl_VertexIndex/gl_InstanceIndex instead of gl_Verte...
Cort Stratton [Thu, 30 Jun 2016 19:51:10 +0000 (12:51 -0700)]
When parsing Vulkan GLSL, suggest gl_VertexIndex/gl_InstanceIndex instead of gl_VertexID/gl_InstanceID.

8 years agoMerge pull request #358 from amdrexu/bugfix
John Kessenich [Thu, 30 Jun 2016 17:08:17 +0000 (11:08 -0600)]
Merge pull request #358 from amdrexu/bugfix

SPV: Certain decorations are missing for structure-typed in/out variables

8 years agoSPV: Certain decorations are missing for structure-typed in/out variables.
Rex Xu [Wed, 29 Jun 2016 07:03:44 +0000 (15:03 +0800)]
SPV: Certain decorations are missing for structure-typed in/out variables.

8 years agoMerge pull request #357 from steve-lunarg/intrinsics
John Kessenich [Wed, 29 Jun 2016 16:50:33 +0000 (10:50 -0600)]
Merge pull request #357 from steve-lunarg/intrinsics

HLSL: Add asdouble, fma, & mad intrinsics

8 years agoMerge pull request #267 from antiagainst/rm-test-dup
John Kessenich [Wed, 29 Jun 2016 16:47:47 +0000 (10:47 -0600)]
Merge pull request #267 from antiagainst/rm-test-dup

Remove duplicated tests from the runtests script.

8 years agoFront-end: Add missing rule for function-return implicit type conversion check.
John Kessenich [Wed, 29 Jun 2016 05:56:31 +0000 (23:56 -0600)]
Front-end: Add missing rule for function-return implicit type conversion check.

Basic (component) type conversion was done, but checking that the composite
was correct was not being done.

Fixes issue #353.

8 years agoFront-end: Non-functional: Move return-value handling from .y to .cpp.
John Kessenich [Wed, 29 Jun 2016 01:48:43 +0000 (19:48 -0600)]
Front-end: Non-functional: Move return-value handling from .y to .cpp.

This is to make the real change needed in the next commit easier.

8 years agoFront-end: Handle simultaneous use of SPIR-V or non-SPIR-V.
John Kessenich [Tue, 28 Jun 2016 22:16:43 +0000 (16:16 -0600)]
Front-end: Handle simultaneous use of SPIR-V or non-SPIR-V.

Symbol table sharing has different sets of symbols for different
versions. This needs to take into account that SPIR-V has different
symbols than non-SPIR-V.

8 years agoRemove duplicated tests from the runtests script.
Lei Zhang [Wed, 4 May 2016 18:35:16 +0000 (14:35 -0400)]
Remove duplicated tests from the runtests script.

8 years agoAdd asdouble, fma, & mad intrinsics and change profile to allow doubles when parsing...
LoopDawg [Wed, 22 Jun 2016 21:20:14 +0000 (15:20 -0600)]
Add asdouble, fma, & mad intrinsics and change profile to allow doubles when parsing prototypes

8 years agoMerge pull request #349 from steve-lunarg/intrinsics
John Kessenich [Tue, 28 Jun 2016 21:34:11 +0000 (15:34 -0600)]
Merge pull request #349 from steve-lunarg/intrinsics

HLSL: Add lerp, fix sincos ret, add ret type tests, non-square mats, tx semantics

8 years agoMerge pull request #354 from yavn/fix_off_by_one_limit_check
John Kessenich [Tue, 28 Jun 2016 19:24:18 +0000 (13:24 -0600)]
Merge pull request #354 from yavn/fix_off_by_one_limit_check

Front-end: allow max size built-in arrays like gl_ClipDistance

8 years agoHLSL: Airplane work: break/continue/discard grammar, and decls for for/if/while.
John Kessenich [Mon, 20 Jun 2016 07:22:38 +0000 (01:22 -0600)]
HLSL: Airplane work: break/continue/discard grammar, and decls for for/if/while.

8 years agoFront-end: allow max size built-in arrays like gl_ClipDistance
Maciej Jesionowski [Mon, 27 Jun 2016 10:44:15 +0000 (12:44 +0200)]
Front-end: allow max size built-in arrays like gl_ClipDistance

Fixed off-by-one error with gl_MaxClipDistances and similar limits.

8 years agoAdd lerp, fix sincos return type, ret type tests, non-square mats, HLSL->AST tx semantics
LoopDawg [Mon, 20 Jun 2016 19:26:59 +0000 (13:26 -0600)]
Add lerp, fix sincos return type, ret type tests, non-square mats, HLSL->AST tx semantics

8 years agoMerge pull request #346 from steve-lunarg/intrinsics
John Kessenich [Tue, 21 Jun 2016 15:45:52 +0000 (09:45 -0600)]
Merge pull request #346 from steve-lunarg/intrinsics

Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttrib…

8 years agoAdd HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped
LoopDawg [Wed, 15 Jun 2016 15:50:24 +0000 (09:50 -0600)]
Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped

8 years agoHLSL: Basic array grammar.
John Kessenich [Sun, 19 Jun 2016 17:50:34 +0000 (11:50 -0600)]
HLSL: Basic array grammar.

8 years agoHLSL: Handle "." for structure dereference and swizzle.
John Kessenich [Fri, 17 Jun 2016 23:16:27 +0000 (17:16 -0600)]
HLSL: Handle "." for structure dereference and swizzle.

8 years agoHLSL: Map parameter qualifiers from generic to function-specific and entry-point...
John Kessenich [Fri, 17 Jun 2016 21:50:47 +0000 (15:50 -0600)]
HLSL: Map parameter qualifiers from generic to function-specific and entry-point specific.

8 years agoHLSL: Support semantics in function parameter declarations.
John Kessenich [Fri, 17 Jun 2016 20:21:02 +0000 (14:21 -0600)]
HLSL: Support semantics in function parameter declarations.

8 years agoFront-end: Implement GL_EXT_shader_non_constant_global_initializers.
John Kessenich [Fri, 17 Jun 2016 18:43:31 +0000 (12:43 -0600)]
Front-end: Implement GL_EXT_shader_non_constant_global_initializers.

This lets ES shaders use non-constant initializers for non-constant globals.

8 years agoSPV: Non-functional: Condense SPV-related versioning, and rationalize all uses.
John Kessenich [Fri, 17 Jun 2016 02:59:42 +0000 (20:59 -0600)]
SPV: Non-functional: Condense SPV-related versioning, and rationalize all uses.

8 years agoSPV: projective texturing: move the project coordinate.
John Kessenich [Thu, 16 Jun 2016 20:06:26 +0000 (14:06 -0600)]
SPV: projective texturing: move the project coordinate.

SPV doesn't allow gaps in the components of the texturing coordinate.
It also removes the shadow reference.
So, close up the components so all used components are together.

8 years agoSPV non-functional: minor readability improvements for texturing.
John Kessenich [Thu, 16 Jun 2016 18:43:23 +0000 (12:43 -0600)]
SPV non-functional: minor readability improvements for texturing.

8 years agoFront-end ESSL: require precision declarations for images.
John Kessenich [Wed, 15 Jun 2016 04:12:20 +0000 (22:12 -0600)]
Front-end ESSL: require precision declarations for images.

8 years agoFront-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp.
John Kessenich [Wed, 15 Jun 2016 02:38:58 +0000 (20:38 -0600)]
Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp.

8 years agoSPV: Update to spec. decisions (and issue #205) for barrier().
John Kessenich [Wed, 15 Jun 2016 01:46:20 +0000 (19:46 -0600)]
SPV: Update to spec. decisions (and issue #205) for barrier().

A barrier (ESSL/GLSL) or OpControlBarrier when in a tessellation control
shader also means doing memory synchronization for output variables.

8 years agoMerge pull request #339 from steve-lunarg/intrinsics
John Kessenich [Tue, 14 Jun 2016 16:56:50 +0000 (10:56 -0600)]
Merge pull request #339 from steve-lunarg/intrinsics

HLSL: Implement atomic ops, bit conversions, fix minor intrinsics bugs

8 years agoMerge pull request #340 from dneto0/const-key-in-std-maps
John Kessenich [Tue, 14 Jun 2016 16:42:13 +0000 (10:42 -0600)]
Merge pull request #340 from dneto0/const-key-in-std-maps

Build: Tracking allocator must use const key

8 years agoTracking allocator must use const key
David Neto [Tue, 14 Jun 2016 16:15:59 +0000 (12:15 -0400)]
Tracking allocator must use const key

Fixes TMap template.

This is required to build with newer libc++ versions that have a static
assert on const-ness of value_type

8 years agoImplement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier.
LoopDawg [Mon, 13 Jun 2016 15:22:28 +0000 (09:22 -0600)]
Implement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier.

8 years agoMerge pull request #337 from steve-lunarg/intrinsics
John Kessenich [Mon, 13 Jun 2016 14:54:45 +0000 (08:54 -0600)]
Merge pull request #337 from steve-lunarg/intrinsics

HLSL: Add decompositions for some intrinsics.

8 years agoMerge pull request #338 from Nekotekina/fix1
John Kessenich [Mon, 13 Jun 2016 14:37:29 +0000 (08:37 -0600)]
Merge pull request #338 from Nekotekina/fix1

Build: Compilation fix (mingw64)

8 years agoCompilation fix (mingw64)
Nekotekina [Mon, 13 Jun 2016 08:21:13 +0000 (11:21 +0300)]
Compilation fix (mingw64)

8 years agoHLSL: Flesh out misc. declaration grammar: semantics/registers/annotations/precise...
John Kessenich [Mon, 13 Jun 2016 05:52:12 +0000 (23:52 -0600)]
HLSL: Flesh out misc. declaration grammar: semantics/registers/annotations/precise/etc.

Details within these bear even more fleshing out, but would like to have
that driven by actual need.

8 years agoHLSL: Implement basic "struct" grammar.
John Kessenich [Sat, 11 Jun 2016 22:43:14 +0000 (16:43 -0600)]
HLSL: Implement basic "struct" grammar.

8 years agoAdd decompositions for some HLSL intrinsics.
LoopDawg [Thu, 9 Jun 2016 14:57:35 +0000 (08:57 -0600)]
Add decompositions for some HLSL intrinsics.

8 years agoMerge pull request #335 from jekstrand/sampler-params
John Kessenich [Fri, 10 Jun 2016 02:42:23 +0000 (20:42 -0600)]
Merge pull request #335 from jekstrand/sampler-params

SPV: Fix pointer address spaces for sampler function parameters

8 years agoHLSL: Implement proper nesting of symbol-table scopes and identifier searching.
John Kessenich [Thu, 9 Jun 2016 08:02:17 +0000 (02:02 -0600)]
HLSL: Implement proper nesting of symbol-table scopes and identifier searching.

8 years agoHLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others.
John Kessenich [Wed, 8 Jun 2016 18:50:56 +0000 (12:50 -0600)]
HLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others.

8 years agoGlslangToSpv: Pass the pointer directly into the client function for opaque types
Jason Ekstrand [Wed, 8 Jun 2016 20:54:48 +0000 (13:54 -0700)]
GlslangToSpv: Pass the pointer directly into the client function for opaque types

For opaque types such as samplers, images, and atomic counters, we want to
reference the actual object in the child function.  For a long time, we
used a shadow variable and made a copy of the image/sampler.  In 76d0ac1a,
this was changed to not shadow samplers.  However, this didn't cover all
opaque types and it also didn't get the pointer storage classes right.
This commit fixes both of these issues.

Fixes #324

8 years agoTypes: Add an isOpaque() helper
Jason Ekstrand [Thu, 9 Jun 2016 00:10:37 +0000 (17:10 -0700)]
Types: Add an isOpaque() helper

8 years agoGlslangToSpv: Properly handle opaque types in TranslateStorageClass
Jason Ekstrand [Wed, 8 Jun 2016 20:52:36 +0000 (13:52 -0700)]
GlslangToSpv: Properly handle opaque types in TranslateStorageClass

8 years agoMerge pull request #333 from dneto0/defer-capabilities-for-some-struct-members-until...
John Kessenich [Wed, 8 Jun 2016 16:59:51 +0000 (10:59 -0600)]
Merge pull request #333 from dneto0/defer-capabilities-for-some-struct-members-until-used

SPV: Defer capability decl for ClipDistance, CullDistance, PointSize until…

8 years agoDefer capability decl for ClipDistance, CullDistance, PointSize until actual use
David Neto [Wed, 8 Jun 2016 13:11:40 +0000 (14:11 +0100)]
Defer capability decl for ClipDistance, CullDistance, PointSize until actual use

The compiler will mark struct members with those builtins, but won't
declare the capability until that member is accessed by some executable
instruction.

Test changes:
- spv.430.vert: was missing ClipDistance capability.
- spv.precise.tese: remove TessellationPointSize capability.

8 years agoMerge pull request #331 from jherico/jherico-patch-1
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

8 years agoFix Ubuntu 16.10 build
Brad Davis [Tue, 7 Jun 2016 23:23:44 +0000 (16:23 -0700)]
Fix Ubuntu 16.10 build

8 years agoMerge pull request #128 from dekimir/clang-format
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.

8 years agoFront-end: Fix issue #146: which versions allow double in/out.
John Kessenich [Mon, 6 Jun 2016 00:52:05 +0000 (18:52 -0600)]
Front-end: Fix issue #146: which versions allow double in/out.

8 years agoRevert SpvBuilder.* to master versions.
Dejan Mircevski [Mon, 6 Jun 2016 00:46:33 +0000 (20:46 -0400)]
Revert SpvBuilder.* to master versions.

8 years agoIncrease column limit to 120.
Dejan Mircevski [Mon, 6 Jun 2016 00:45:34 +0000 (20:45 -0400)]
Increase column limit to 120.

8 years agoMerge branch 'master' of github.com:KhronosGroup/glslang into clang-format
Dejan Mircevski [Mon, 6 Jun 2016 00:42:20 +0000 (20:42 -0400)]
Merge branch 'master' of github.com:KhronosGroup/glslang into clang-format

8 years agoFront-end: Fix issue #147: ensure layout(index=N) has N in [0,1].
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].

8 years agoHLSL: Flesh out the loop grammar and productions.
John Kessenich [Sun, 5 Jun 2016 21:44:07 +0000 (15:44 -0600)]
HLSL: Flesh out the loop grammar and productions.

8 years agoHLSL: Attribute grammar and if-else grammar/productions.
John Kessenich [Sun, 5 Jun 2016 17:23:11 +0000 (11:23 -0600)]
HLSL: Attribute grammar and if-else grammar/productions.

8 years agoHLSL: Finish skeletan of the "statement" grammar.
John Kessenich [Sat, 4 Jun 2016 17:46:33 +0000 (11:46 -0600)]
HLSL: Finish skeletan of the "statement" grammar.

8 years agoHLSL: 1) Implement lookahead buffers/stacks for token advance/recede, 2) use it for...
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.

8 years agoMerge pull request #328 from steve-lunarg/intrinsics
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

8 years agoAdd negative intrinsics tests
LoopDawg [Fri, 3 Jun 2016 16:53:28 +0000 (10:53 -0600)]
Add negative intrinsics tests

8 years agoMerge pull request #327 from steve-lunarg/empty-statement-fix
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

8 years agoFix for empty statement segfault.
LoopDawg [Fri, 3 Jun 2016 15:17:51 +0000 (09:17 -0600)]
Fix for empty statement segfault.

8 years agoMerge pull request #326 from greg-lunarg/greg-mr4
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

8 years agoMerge pull request #322 from steve-lunarg/intrinsics
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

8 years agoremapper: do not eliminate interface variables in dce by default
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

8 years agoInitial implementation of direct-mapped subset of HLSL intrinsics with type subset.
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.

8 years agoMerge pull request #323 from dneto0/mingw-static-link-against-basic-runtimes
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

8 years agoSPV: Fix issue #320: Fetch needs to extract the image.
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.

8 years agoFor MinGW, statically link exes against basic runtimes
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.

8 years agoMerge pull request #311 from jherico/debug_postfix
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

8 years agoMerge pull request #317 from iostrowsINTEL/double_matrix_fix
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

8 years agoFix double matrix creation
iostrows [Wed, 1 Jun 2016 14:40:00 +0000 (16:40 +0200)]
Fix double matrix creation

8 years agoFront-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.
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.

8 years agoFront-end: Complete GL_ARB_compute_shader implementation.
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.

8 years agoFix issue #313: Catch internal attempts to modify built-in symbols that don't exist.
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.

8 years agoMerge pull request #230 from dekimir/incresconst
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.

8 years agoMerge pull request #309 from jekstrand/sampler-params
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

8 years agoMerge pull request #308 from thp/multiple-es-compilation-units
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

8 years agoSPV: Don't shadow sampler parameters when performing function calls
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

8 years agoProduce different names for files in debug builds on MSVC
Brad Davis [Wed, 25 May 2016 20:08:34 +0000 (13:08 -0700)]
Produce different names for files in debug builds on MSVC

8 years agoCheck for linking multiple ES shaders to the same stage
Thomas Perl [Wed, 25 May 2016 07:26:43 +0000 (09:26 +0200)]
Check for linking multiple ES shaders to the same stage

8 years agoFix test case for the "empty" linker test case
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.

8 years agoUse version/profile from first compilation stage
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.

8 years agoAdd test case: Link 2 ESSL fragment shader units
Thomas Perl [Tue, 24 May 2016 11:15:01 +0000 (13:15 +0200)]
Add test case: Link 2 ESSL fragment shader units

8 years agoMerge pull request #306 from johnkslang/finish-spec-const-semantics
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.

8 years agoVulkan: 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.

8 years agoMerge pull request #305 from steve-lunarg/intrinsics
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.

8 years agoAdd 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.

8 years agoMerge pull request #302 from amdrexu/bugfix
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.

8 years agoSPV: 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.

8 years agoKHR_vulkan_glsl: name mangle distinguish pure textures.
John Kessenich [Fri, 20 May 2016 22:59:27 +0000 (16:59 -0600)]
KHR_vulkan_glsl: name mangle distinguish pure textures.

Fixes issue #252.

8 years agoSPV: Don't put locations on OpTypeStruct. Related to Issue #291.
John Kessenich [Fri, 20 May 2016 21:40:53 +0000 (15:40 -0600)]
SPV: Don't put locations on OpTypeStruct. Related to Issue #291.

8 years agoMerge pull request #301 from dneto0/fix-android-build-atoi-in-cstddef
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

8 years agoatoi 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.

8 years agoMerge pull request #297 from antiagainst/config-tests
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.

8 years agoMerge pull request #300 from Qining/fix-slow-down-in-no-contraction-propagation
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