platform/upstream/glslang.git
6 years agoNon-functional: HLSL: Simplify I/O logic for splitting.
John Kessenich [Wed, 2 Aug 2017 23:08:43 +0000 (17:08 -0600)]
Non-functional: HLSL: Simplify I/O logic for splitting.

6 years agoMerge pull request #1006 from KhronosGroup/4.60
John Kessenich [Tue, 1 Aug 2017 17:11:52 +0000 (02:11 +0900)]
Merge pull request #1006 from KhronosGroup/4.60

GLSL: Add GLSL 4.60 features

6 years agoGLSL 4.6: Implement shader group vote.
John Kessenich [Mon, 24 Jul 2017 05:31:44 +0000 (23:31 -0600)]
GLSL 4.6: Implement shader group vote.

6 years agoGLSL 4.6: Implement draw parameters.
John Kessenich [Mon, 24 Jul 2017 05:11:41 +0000 (23:11 -0600)]
GLSL 4.6: Implement draw parameters.

6 years agoGLSL 4.6: Implement atomic counter ops and SPV_KHR_shader_atomic_counter_ops.
John Kessenich [Sun, 23 Jul 2017 22:08:26 +0000 (16:08 -0600)]
GLSL 4.6: Implement atomic counter ops and SPV_KHR_shader_atomic_counter_ops.

6 years agoGLSL: Initiate version GLSL 460, including accept extraneous semicolons.
John Kessenich [Sun, 23 Jul 2017 20:44:59 +0000 (14:44 -0600)]
GLSL: Initiate version GLSL 460, including accept extraneous semicolons.

6 years agoHLSL Tests: Fix two tests to be valid under FXC.
John Kessenich [Mon, 31 Jul 2017 07:19:26 +0000 (01:19 -0600)]
HLSL Tests: Fix two tests to be valid under FXC.

6 years agoNon-functional: HLSL further simplications to base I/O flattening on.
John Kessenich [Mon, 31 Jul 2017 05:39:48 +0000 (23:39 -0600)]
Non-functional: HLSL further simplications to base I/O flattening on.

6 years agoNon-functional: HLSL: clean up dead code for splitting.
John Kessenich [Sun, 30 Jul 2017 22:54:02 +0000 (16:54 -0600)]
Non-functional: HLSL: clean up dead code for splitting.

Most of this was obsoleted by entry-point wrapping.
Some other is just unnecessary.
Also, includes some spelling/name improvements.

This is to help lay ground work for flattening user I/O.

6 years agoMerge pull request #1005 from LoopDawg/remove-unused
John Kessenich [Sat, 29 Jul 2017 21:23:11 +0000 (06:23 +0900)]
Merge pull request #1005 from LoopDawg/remove-unused

HLSL: Non-functional: warning fix + remove unused member

6 years agoHLSL: Non-functional: warning fix, remove unused member.
LoopDawg [Sat, 29 Jul 2017 00:41:53 +0000 (18:41 -0600)]
HLSL: Non-functional: warning fix, remove unused member.

Two non-functional changes:

1. Remove flattenLevel, which is unneeded since at or around d1be7545c6a23657587dfe3bc4b149c91290a66f.

2. Fix build warining about unused variable in executeInitializer.

6 years agoGLSL reflection: Fix #985: reflect runtime sized arrays having no constant index.
John Kessenich [Fri, 28 Jul 2017 23:33:58 +0000 (17:33 -0600)]
GLSL reflection: Fix #985: reflect runtime sized arrays having no constant index.

6 years agoNonfunctional: Add reflect test case, and fix long lines in reflection code.
John Kessenich [Fri, 28 Jul 2017 23:32:27 +0000 (17:32 -0600)]
Nonfunctional: Add reflect test case, and fix long lines in reflection code.

6 years agoNonfunctional: Shorten some lines to the coding standard, to retrigger failed test...
John Kessenich [Fri, 28 Jul 2017 22:20:13 +0000 (16:20 -0600)]
Nonfunctional: Shorten some lines to the coding standard, to retrigger failed test run.

6 years agoMerge pull request #1002 from amdrexu/bugfix
John Kessenich [Thu, 27 Jul 2017 16:35:42 +0000 (01:35 +0900)]
Merge pull request #1002 from amdrexu/bugfix

SPV: Memory qualifiers should decorate top-level block members

6 years agoSPV: Memory qualifiers should decorate top-level block members
Rex Xu [Thu, 27 Jul 2017 06:33:16 +0000 (14:33 +0800)]
SPV: Memory qualifiers should decorate top-level block members

6 years agoMerge pull request #997 from LoopDawg/clipcull-semantic
John Kessenich [Wed, 26 Jul 2017 23:38:03 +0000 (08:38 +0900)]
Merge pull request #997 from LoopDawg/clipcull-semantic

HLSL: handle multiple clip/cull semantic IDs

6 years agoHLSL: handle multiple clip/cull semantic IDs
LoopDawg [Wed, 5 Jul 2017 17:33:06 +0000 (11:33 -0600)]
HLSL: handle multiple clip/cull semantic IDs

HLSL allows several variables to be declared.  There are packing rules involved:
e.g, a float3 and a float1 can be packed into a single array[4], while for a
float3 and another float3, the second one will skip the third array entry to
avoid straddling

This is implements that ability.  Because there can be multiple variables involved,
and the final output array will often be a different type altogether (to fuse
the values into a single destination), a new variable is synthesized, unlike the prior
clip/cull support which used the declared variable.  The new variable name is
taken from one of the declared ones, so the old tests are unchanged.

Several new tests are added to test various packing scenarios.

Only two semantic IDs are supported: 0, and 1, per HLSL rules.  This is
encapsulated in

     static const int maxClipCullRegs = 2;

and the algorithm (probably :) ) generalizes to larger values, although there
are a few issues around how HLSL would pack (e.g, would 4 scalars be packed into
a single HLSL float4 out reg?  Probably, and this algorithm assumes so).

6 years agoSPV: Update to latest 1.0 headers, removing redundancies in GLSL.ext.AMD.h.
John Kessenich [Wed, 26 Jul 2017 03:03:29 +0000 (21:03 -0600)]
SPV: Update to latest 1.0 headers, removing redundancies in GLSL.ext.AMD.h.

6 years agoMerge pull request #1000 from LoopDawg/samplecmpzero-cubearray-fix
John Kessenich [Tue, 25 Jul 2017 07:36:17 +0000 (16:36 +0900)]
Merge pull request #1000 from LoopDawg/samplecmpzero-cubearray-fix

Fix dref explicit LOD form of sample with cube texture arrays

6 years agoFix dref explicit LOD form of sample with cube texture arrays
LoopDawg [Tue, 25 Jul 2017 00:45:37 +0000 (18:45 -0600)]
Fix dref explicit LOD form of sample with cube texture arrays

The dref parameter was being used as the LOD.  Now it it's properly the dref.

6 years agoGLSL: Implement version 320 for ES.
John Kessenich [Sun, 23 Jul 2017 19:54:15 +0000 (13:54 -0600)]
GLSL: Implement version 320 for ES.

6 years agoGLSL: Add version-number checking.
John Kessenich [Sun, 23 Jul 2017 17:49:42 +0000 (11:49 -0600)]
GLSL: Add version-number checking.

6 years agoSPV/OpenGL: Require locations on non-opaque uniform variables.
John Kessenich [Fri, 21 Jul 2017 19:36:33 +0000 (13:36 -0600)]
SPV/OpenGL: Require locations on non-opaque uniform variables.

6 years agoMerge pull request #991 from LoopDawg/resource-set-binding-fix
John Kessenich [Fri, 21 Jul 2017 16:59:42 +0000 (01:59 +0900)]
Merge pull request #991 from LoopDawg/resource-set-binding-fix

HLSL: Fix crash with --resource-set-binding [n] (global form, not per-register form)

6 years agoReflection: Fix #977: Expose getBinding(), use in new getUniformBinding().
John Kessenich [Thu, 20 Jul 2017 22:44:17 +0000 (16:44 -0600)]
Reflection: Fix #977: Expose getBinding(), use in new getUniformBinding().

7 years agoFix crash with --resource-set-binding [n] (common set form, not per-register form)
LoopDawg [Fri, 14 Jul 2017 21:15:47 +0000 (15:15 -0600)]
Fix crash with --resource-set-binding [n] (common set form, not per-register form)

--resource-set-binding has a mode which allows per-register assignments of
bindings and descriptor sets on the command line, and another accepting a
single descriptor set value to assign to all variables.

The former worked, but the latter would crash when assigning the values.
This fixes it, and makes the former case a bit more robust against premature
termination of the pre-register values, which must come in (regname,set,binding)
triples.

This also allows the form "--resource-set-binding stage setnum", which was
mentioned in the usage message, but did not parse.

The operation of the per-register form of this option is unchanged.

7 years agoMerge pull request #996 from KhronosGroup/decorate-parameters
John Kessenich [Tue, 18 Jul 2017 09:51:02 +0000 (03:51 -0600)]
Merge pull request #996 from KhronosGroup/decorate-parameters

SPV: Decorate parameters

7 years agoSPV: Fix #995: Include memory decorations on parameters.
John Kessenich [Tue, 18 Jul 2017 08:58:06 +0000 (02:58 -0600)]
SPV: Fix #995: Include memory decorations on parameters.

7 years agoSPV: Non-functional: support lists of decorations per parameter.
John Kessenich [Tue, 18 Jul 2017 08:35:46 +0000 (02:35 -0600)]
SPV: Non-functional: support lists of decorations per parameter.

7 years agoMerge pull request #994 from KhronosGroup/opaque-init
John Kessenich [Sun, 16 Jul 2017 12:01:38 +0000 (06:01 -0600)]
Merge pull request #994 from KhronosGroup/opaque-init

HLSL: Fix #980: flatten opaque initializers to use aliases.

7 years agoFix #980: flatten opaque initializers to use aliases.
John Kessenich [Sun, 16 Jul 2017 11:46:13 +0000 (05:46 -0600)]
Fix #980: flatten opaque initializers to use aliases.

7 years agoMerge pull request #992 from polarina/null-deref-fix
John Kessenich [Sun, 16 Jul 2017 07:16:55 +0000 (01:16 -0600)]
Merge pull request #992 from polarina/null-deref-fix

Fix NULL pointer dereference in TParseContext::builtInOpCheck

7 years agoFix NULL pointer dereference in TParseContext::builtInOpCheck
Gabríel Arthúr Pétursson [Sat, 15 Jul 2017 15:21:12 +0000 (15:21 +0000)]
Fix NULL pointer dereference in TParseContext::builtInOpCheck

7 years agoSPV: Address #989: Don't add Location to built-ins when automapping.
John Kessenich [Fri, 14 Jul 2017 11:52:31 +0000 (05:52 -0600)]
SPV: Address #989: Don't add Location to built-ins when automapping.

7 years agoMerge pull request #987 from KhronosGroup/global-std140
John Kessenich [Fri, 14 Jul 2017 11:45:50 +0000 (05:45 -0600)]
Merge pull request #987 from KhronosGroup/global-std140

Address part B of #982: $Global will use std140 instead of HLSL offsets.

7 years agoAddress part A of #982: $Global will use std140 instead of HLSL offsets.
John Kessenich [Thu, 13 Jul 2017 17:39:16 +0000 (11:39 -0600)]
Address part A of #982: $Global will use std140 instead of HLSL offsets.

From comment about this:
Adjust alignment for HLSL rules
TODO: make this consistent in early phases of code: adjusting this late means inconsistencies with earlier code, which for reflection is an issue.
Until reflection is brought in sync with these adjustments, don't apply to $Global,
which is the most likely to rely on reflection, and least likely to rely
implicit layouts.

7 years agoMerge pull request #978 from LoopDawg/global-const-init-fix
John Kessenich [Thu, 13 Jul 2017 14:29:53 +0000 (08:29 -0600)]
Merge pull request #978 from LoopDawg/global-const-init-fix

HLSL: support global const initializers from non-constant rvalues

7 years agoMerge pull request #983 from LoopDawg/warning-fix
John Kessenich [Thu, 13 Jul 2017 13:14:26 +0000 (07:14 -0600)]
Merge pull request #983 from LoopDawg/warning-fix

Fix StandAlone.cpp compilation warnings

7 years agoFix StandAlone.cpp compilation warnings
LoopDawg [Wed, 12 Jul 2017 15:04:39 +0000 (09:04 -0600)]
Fix StandAlone.cpp compilation warnings

find_first_of returns size_t, was overflowing int.

7 years agoWIP: HLSL: support global const initializers from non-constant rvalues
LoopDawg [Mon, 10 Jul 2017 21:43:40 +0000 (15:43 -0600)]
WIP: HLSL: support global const initializers from non-constant rvalues

Semantic test left over from other source languages is removed, since this is permitted by HLSL.
Also, to support the functionality, a targeted test is performed for this case and it is
turned into a EvqGlobal qualifier to create an AST initialization segment when needed.

Constness is now propagated up aggregate chains during initializer construction.  This
handles hierarchical cases such as the distinction between:

    static const float2 a[2] = { { 1, 2 }, { 3, 4} };

vs

    static const float2 a[2] = { { 1, 2 }, { cbuffer_member, 4} };

The first of which can use a first class constant initalization, and the second cannot.

7 years agoBuild: Fix #975: shut up a compiler warning (code was fine).
John Kessenich [Fri, 7 Jul 2017 16:22:25 +0000 (10:22 -0600)]
Build: Fix #975: shut up a compiler warning (code was fine).

7 years agoNonfunctional, infrastructure: Clean up Test directory droppings.
John Kessenich [Thu, 6 Jul 2017 17:58:12 +0000 (11:58 -0600)]
Nonfunctional, infrastructure: Clean up Test directory droppings.

The multithreaded outputs in particular can be troublesome when searching.

7 years agoMerge pull request #971 from amdrexu/bugfix
John Kessenich [Thu, 6 Jul 2017 06:44:32 +0000 (00:44 -0600)]
Merge pull request #971 from amdrexu/bugfix

HLSL: Translate directive [flatten] and [branch] to SPV control mask.

7 years agoHLSL: Translate directive [flatten] and [branch] to SPV control mask.
Rex Xu [Tue, 4 Jul 2017 15:23:40 +0000 (23:23 +0800)]
HLSL: Translate directive [flatten] and [branch] to SPV control mask.

7 years agoTests: Add a test for concurrent use of std430 and push_constant.
John Kessenich [Thu, 6 Jul 2017 00:34:15 +0000 (18:34 -0600)]
Tests: Add a test for concurrent use of std430 and push_constant.

7 years agoMerge pull request #965 from chaoc/spv-khr-post-depth-coverage
John Kessenich [Wed, 5 Jul 2017 20:48:19 +0000 (14:48 -0600)]
Merge pull request #965 from chaoc/spv-khr-post-depth-coverage

Implement SPV_KHR_post_depth_coverage

7 years agoImplement SPV_KHR_post_depth_coverage
chaoc [Sat, 1 Jul 2017 00:14:30 +0000 (17:14 -0700)]
Implement SPV_KHR_post_depth_coverage

Added support for both extension GL_ARB_post_depth_coverage and GL_EXT_post_depth_coverage.

7 years agoMerge pull request #974 from LoopDawg/anyall-types
John Kessenich [Wed, 5 Jul 2017 19:12:08 +0000 (13:12 -0600)]
Merge pull request #974 from LoopDawg/anyall-types

HLSL: handle type conversion for any/all intrinsics

7 years agoHLSL: handle type conversion for any/all intrinsics
LoopDawg [Wed, 5 Jul 2017 18:07:16 +0000 (12:07 -0600)]
HLSL: handle type conversion for any/all intrinsics

HLSL allows float/etc types for any/all intrinsics, while the
SPIR-V opcode requires bool.  This adds a simple decomposition
to type convert the argument.  It could get a little more clever
in some of the type cases if it ever had to.

7 years agoMerge pull request #969 from d3x0r/patch-1
John Kessenich [Tue, 4 Jul 2017 17:00:42 +0000 (11:00 -0600)]
Merge pull request #969 from d3x0r/patch-1

Add option to skip installation

7 years agoMerge pull request #970 from rohith10/master
John Kessenich [Tue, 4 Jul 2017 17:00:23 +0000 (11:00 -0600)]
Merge pull request #970 from rohith10/master

Fix CMake scripts to set the POSITION_INDEPENDENT_CODE property correctly

7 years agoFix CMake scripts: The set_property script can be used to set only a single property...
Rohith Chandran [Tue, 4 Jul 2017 14:53:45 +0000 (10:53 -0400)]
Fix CMake scripts: The set_property script can be used to set only a single property, so now setting the POSITION_INDEPENDENT_CODE property correctly.

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 13:01:09 +0000 (06:01 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 13:00:35 +0000 (06:00 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 13:00:04 +0000 (06:00 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 12:59:34 +0000 (05:59 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 12:59:03 +0000 (05:59 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 12:58:07 +0000 (05:58 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 12:57:47 +0000 (05:57 -0700)]
Update CMakeLists.txt

7 years agoUpdate CMakeLists.txt
d3x0r [Tue, 4 Jul 2017 12:57:08 +0000 (05:57 -0700)]
Update CMakeLists.txt

7 years agoAdd option to skip installation
d3x0r [Tue, 4 Jul 2017 12:54:57 +0000 (05:54 -0700)]
Add option to skip installation

As a static target, when included in other cmake projects, it is not needed to install these libraries and headers as part of this build, and just need to link to this.

7 years agoMerge pull request #967 from dsrbecky/multiview
John Kessenich [Tue, 4 Jul 2017 04:14:09 +0000 (22:14 -0600)]
Merge pull request #967 from dsrbecky/multiview

Multiview extension: Accept layout(num_views) qualifier

7 years agoHLSL: Non-functional: Move partial flattened access into symbol node.
John Kessenich [Thu, 29 Jun 2017 23:43:31 +0000 (17:43 -0600)]
HLSL: Non-functional: Move partial flattened access into symbol node.

Lays the groundwork for fixing issue #954.

Partial flattenings were previously tracked through a stack of active subsets
in the parse context, but full functionality needs AST nodes to represent
this across time, removing the need for parsecontext tracking.

7 years agoHLSL: Non-functional: some coding convention tweaks (120 columns, nullptr).
John Kessenich [Fri, 30 Jun 2017 00:23:31 +0000 (18:23 -0600)]
HLSL: Non-functional: some coding convention tweaks (120 columns, nullptr).

This commit, and next one, are specifically to make a future commit
handling partial dereferences of flattening objects easier to see.

7 years agoMerge pull request #966 from TiemoJung/io_remapper_update
John Kessenich [Tue, 4 Jul 2017 03:48:58 +0000 (21:48 -0600)]
Merge pull request #966 from TiemoJung/io_remapper_update

io resolver improvements

7 years agoMerge pull request #959 from TiemoJung/texture_upgrade
John Kessenich [Tue, 4 Jul 2017 03:47:39 +0000 (21:47 -0600)]
Merge pull request #959 from TiemoJung/texture_upgrade

Fix for not transforming all image symbols into sampled images symbols

7 years agoMultiview extension: Accept layout(num_views) qualifier
David Srbecky [Mon, 3 Jul 2017 14:48:49 +0000 (15:48 +0100)]
Multiview extension: Accept layout(num_views) qualifier

7 years agoio resolver improvements
t.jung [Sat, 1 Jul 2017 08:26:23 +0000 (10:26 +0200)]
io resolver improvements

- adds stage parameter to end notify
- adds begin notify
- adds begin resolve
- adds end resolve

Change-Id: Ib134fe42a1a6d996d81dca59475cce6b4a9ff865

7 years agoMerge pull request #964 from dsrbecky/multiview
John Kessenich [Fri, 30 Jun 2017 22:39:32 +0000 (16:39 -0600)]
Merge pull request #964 from dsrbecky/multiview

Implement extensions GL_OVR_multiview and GL_OVR_multiview2

7 years agoImplement extensions GL_OVR_multiview and GL_OVR_multiview2
David Srbecký [Fri, 30 Jun 2017 17:33:51 +0000 (18:33 +0100)]
Implement extensions GL_OVR_multiview and GL_OVR_multiview2

They are almost identical to the already supported GL_EXT_multiview

7 years agoFix for not transforming all image symbols into sampled images symbols
t.jung [Thu, 29 Jun 2017 13:29:32 +0000 (15:29 +0200)]
Fix for not transforming all image symbols into sampled images symbols

Change-Id: I10f9bcea2e97f36912a81214552b93db4805b61a

7 years agoMerge pull request #957 from amdrexu/feature
John Kessenich [Thu, 29 Jun 2017 21:28:52 +0000 (15:28 -0600)]
Merge pull request #957 from amdrexu/feature

Implement extension GL_ARB_shader_stencil_export

7 years agoMerge pull request #961 from benvanik/fix_order
John Kessenich [Thu, 29 Jun 2017 21:20:59 +0000 (15:20 -0600)]
Merge pull request #961 from benvanik/fix_order

Fixing initialization order to fix -Wreorder warning in clang.

7 years agoFixing initialization order to fix -Wreorder warning in clang.
Ben Vanik [Thu, 29 Jun 2017 18:13:35 +0000 (11:13 -0700)]
Fixing initialization order to fix -Wreorder warning in clang.

7 years agoGLSL: validation of early_fragment_tests, others, on an object.
John Kessenich [Thu, 29 Jun 2017 16:46:47 +0000 (10:46 -0600)]
GLSL: validation of early_fragment_tests, others, on an object.

Some layout qualifiers must not be on an object and had a TBD for testing
them: early_fragment_tests, cw/ccw, points, point_mode, and
fractional_even_spacing/fractional_odd_spacing/equal_spacing.

7 years agoImplement extension GL_ARB_shader_stencil_export
Rex Xu [Thu, 29 Jun 2017 09:46:34 +0000 (17:46 +0800)]
Implement extension GL_ARB_shader_stencil_export

7 years agoHLSL: Fix #942: Map SV_TargetN to SPV Location N.
John Kessenich [Tue, 27 Jun 2017 21:17:38 +0000 (15:17 -0600)]
HLSL: Fix #942: Map SV_TargetN to SPV Location N.

7 years agoHLSL: Fix hull-shader test.
John Kessenich [Tue, 27 Jun 2017 01:56:41 +0000 (19:56 -0600)]
HLSL: Fix hull-shader test.

7 years agoHLSL: Don't pin down which tessellation stage must error check input primitive.
John Kessenich [Mon, 26 Jun 2017 23:56:54 +0000 (17:56 -0600)]
HLSL: Don't pin down which tessellation stage must error check input primitive.

7 years agoHLSL: support point mode.
John Kessenich [Mon, 26 Jun 2017 23:52:22 +0000 (17:52 -0600)]
HLSL: support point mode.

7 years agoMerge pull request #950 from dsrbecky/shadow_samplers
John Kessenich [Mon, 26 Jun 2017 21:50:18 +0000 (15:50 -0600)]
Merge pull request #950 from dsrbecky/shadow_samplers

Add support for GL_EXT_shadow_samplers

7 years agoMerge pull request #948 from KhronosGroup/env-control
John Kessenich [Mon, 26 Jun 2017 21:46:36 +0000 (15:46 -0600)]
Merge pull request #948 from KhronosGroup/env-control

Compilation-environment control

7 years agoCommand-line: Add support for setting language's environment.
John Kessenich [Fri, 23 Jun 2017 17:11:09 +0000 (11:11 -0600)]
Command-line: Add support for setting language's environment.

7 years agoInfrastructure: Non-functional: rationalize some command-line processing.
John Kessenich [Fri, 23 Jun 2017 16:58:31 +0000 (10:58 -0600)]
Infrastructure: Non-functional: rationalize some command-line processing.

7 years agoInfrastructure: Non-functional: Move to rich description of environment.
John Kessenich [Fri, 23 Jun 2017 16:50:22 +0000 (10:50 -0600)]
Infrastructure: Non-functional: Move to rich description of environment.

This is for input languages, client APIs, code to generate, etc.

7 years agoAdd support for GL_EXT_shadow_samplers
David Srbecky [Mon, 26 Jun 2017 16:43:32 +0000 (17:43 +0100)]
Add support for GL_EXT_shadow_samplers

7 years agoMerge pull request #947 from LoopDawg/clip-cull-distance
John Kessenich [Fri, 23 Jun 2017 23:57:25 +0000 (17:57 -0600)]
Merge pull request #947 from LoopDawg/clip-cull-distance

HLSL: handle clip/cull distance array semantic matching

7 years agoWIP: HLSL: handle clip/cull distance array semantic matching
LoopDawg [Thu, 22 Jun 2017 18:08:00 +0000 (12:08 -0600)]
WIP: HLSL: handle clip/cull distance array semantic matching

In HLSL, there are three (TODO: ??) dimensions of clip and cull
distance values:

  * The semantic's value N, ala SV_ClipDistanceN.
  * The array demension, if the value is an array.
  * The vector element, if the value is a vector or array of vectors.

In SPIR-V, clip and cull distance are arrays of scalar floats, always.

This PR currently ignores the semantic N axis, and handles the other
two axes by sequentially copying each vector element of each array member
into sequential floats in the output array.

Fixes: #946

7 years agoHLSL: Broaden solution for #940, editing integer input for 'flat'.
John Kessenich [Wed, 21 Jun 2017 07:35:57 +0000 (01:35 -0600)]
HLSL: Broaden solution for #940, editing integer input for 'flat'.

7 years agoHLSL: Force flat interpolation for structure members. Fixes #940.
John Kessenich [Tue, 20 Jun 2017 19:19:53 +0000 (13:19 -0600)]
HLSL: Force flat interpolation for structure members. Fixes #940.

7 years agoBuild: add switch default to make compilers happy
John Kessenich [Tue, 20 Jun 2017 15:26:06 +0000 (09:26 -0600)]
Build: add switch default to make compilers happy

7 years agoMerge pull request #943 from xxxbxxx/for-upstream-1
John Kessenich [Tue, 20 Jun 2017 14:59:50 +0000 (08:59 -0600)]
Merge pull request #943 from xxxbxxx/for-upstream-1

hlsl: "in out" is also an inout qualifier.

7 years agoHLSL: Force flat (nointerp) onto integer fragment inputs.
John Kessenich [Tue, 20 Jun 2017 09:20:59 +0000 (03:20 -0600)]
HLSL: Force flat (nointerp) onto integer fragment inputs.

Addresses #940.

7 years agohlsl: "in out" is also an inout qualifier.
xavier [Tue, 20 Jun 2017 05:49:22 +0000 (07:49 +0200)]
hlsl: "in out" is also an inout qualifier.

7 years agoNon-functional: Attempt to reset Travis error, while adding more nullptr use.
John Kessenich [Mon, 19 Jun 2017 22:25:44 +0000 (16:25 -0600)]
Non-functional: Attempt to reset Travis error, while adding more nullptr use.

Top of master is listing a test error, not from glslang, but internally
within Travis itself.  Seeing if another run gets it to work again.

7 years agoHLSL: Remove support for named tbuffer/cbuffer. Fixes #939.
John Kessenich [Mon, 19 Jun 2017 21:41:11 +0000 (15:41 -0600)]
HLSL: Remove support for named tbuffer/cbuffer.  Fixes #939.

7 years agoHLSL: Non-functional: Make test valid HLSL, and related comments/cleanup.
John Kessenich [Mon, 19 Jun 2017 21:13:26 +0000 (15:13 -0600)]
HLSL: Non-functional: Make test valid HLSL, and related comments/cleanup.

7 years agoMerge pull request #917 from KhronosGroup/remove-redundant-locations
John Kessenich [Thu, 15 Jun 2017 18:11:37 +0000 (12:11 -0600)]
Merge pull request #917 from KhronosGroup/remove-redundant-locations

Replace #422: Remove the redundant location setting in AST->SPIR-V.

7 years agoTests: Fix missing test result.
John Kessenich [Thu, 15 Jun 2017 17:10:57 +0000 (11:10 -0600)]
Tests: Fix missing test result.