John Kessenich [Thu, 25 Aug 2016 21:57:56 +0000 (15:57 -0600)]
HLSL: Include shape-changing conversions in overloaded signature selection.
This also enables vecN -> vec1 shape conversions for all places doing shape
conversions.
For signature selection, makes shape changes worse than any other comparison
when deciding what conversions are better than others.
John Kessenich [Thu, 25 Aug 2016 16:49:21 +0000 (10:49 -0600)]
HLSL: Allow arbitrary baseType -> baseType conversion of calling arguments.
This also puts a stake in the ground as to which is better when selection
from multiple signatures.
John Kessenich [Thu, 25 Aug 2016 15:32:19 +0000 (09:32 -0600)]
Merge pull request #483 from steve-lunarg/precise-fix-2
HLSL: add precise keyword
steve-lunarg [Thu, 25 Aug 2016 05:49:36 +0000 (23:49 -0600)]
HLSL: add precise keyword
John Kessenich [Thu, 25 Aug 2016 00:34:43 +0000 (18:34 -0600)]
HLSL: Switch to generic selector, but using GLSL #version 400 rules.
Next step is to modify for HLSL rules.
John Kessenich [Wed, 24 Aug 2016 00:20:19 +0000 (18:20 -0600)]
Merge branch 'overloaded-400' of github.com:KhronosGroup/glslang
John Kessenich [Wed, 3 Aug 2016 23:35:19 +0000 (17:35 -0600)]
Front-end: Warn for likely missed change in default precisions.
This is part of the change to have desktop shaders respect precision
qualifiers on Vulkan, but since the defaults are all highp, and that's
different from ES fragment shaders, detect likely cases and warn about
them (but being careful to not be too noisy if it's unlikely to be a
problem).
John Kessenich [Wed, 3 Aug 2016 22:41:53 +0000 (16:41 -0600)]
Vulkan: Have desktop shaders respect precision qualifiers.
Sets highp defaults for the appropriate types, for all stages,
and turns on precision qualifiers for non-ES shaders. Required
fixing some qualifier orders for desktop built-in declarations
for pre-420 shaders.
John Kessenich [Wed, 3 Aug 2016 21:19:37 +0000 (15:19 -0600)]
Front-End: Non-ES trigger for processing precision qualifiers.
Initially non-functional: Have an independent test for whether to obey
precision qualifiers other than whether the profile is es.
John Kessenich [Tue, 23 Aug 2016 23:51:13 +0000 (17:51 -0600)]
Non-functional: Fix commit
98f164ec488f85af5a44b701477a34e810f2deb1.
Fix previous commit to not use tabs and otherwise match local coding
conventions better.
John Kessenich [Tue, 23 Aug 2016 23:48:14 +0000 (17:48 -0600)]
Merge pull request #461 from dankbaker/Error_Message_Fixes_for_HLSL
HLSL: Better error message for when HLSL translation fails
John Kessenich [Tue, 23 Aug 2016 23:41:54 +0000 (17:41 -0600)]
Merge pull request #476 from steve-lunarg/string-literals
HLSL: Support string literals, e.g, for annotations
John Kessenich [Tue, 23 Aug 2016 23:40:53 +0000 (17:40 -0600)]
Merge pull request #477 from amdrexu/bugfix
SPV: Some group invocation operations should be applied to scalars.
Rex Xu [Tue, 23 Aug 2016 07:41:05 +0000 (15:41 +0800)]
SPV: Some group invocation operations should be applied to scalars.
steve-lunarg [Mon, 22 Aug 2016 22:13:47 +0000 (16:13 -0600)]
HLSL: Add EHTokStringConstant, so that string attributes may be parsed
John Kessenich [Fri, 19 Aug 2016 13:31:31 +0000 (07:31 -0600)]
Front-end: Add a function selector under implicit type conversion.
Use the new function selector for #version 400 and above,
parameterized for the GLSL #version 400 selection rules.
This can be used for both GLSL and HLSL, and other languages
as well.
dankbaker [Sun, 21 Aug 2016 16:29:08 +0000 (12:29 -0400)]
HLSL and standalone, modifying Standalone to send filename as string source, and HLSL backend will use this to print a better error mesage when things fail
John Kessenich [Fri, 19 Aug 2016 13:27:28 +0000 (07:27 -0600)]
Front-end/Non-functional: Add some const/auto, useful for upcoming changes.
John Kessenich [Wed, 17 Aug 2016 16:22:08 +0000 (10:22 -0600)]
HLSL: Partially address issue #463: accept GLSL layout(...).
This includes all "per variable" layout qualifiers, but the
key ones mattering and tested for now are:
set=
binding=
constant_id=
push_constant
John Kessenich [Wed, 17 Aug 2016 15:23:46 +0000 (09:23 -0600)]
Merge pull request #471 from steve-lunarg/remapper-literal64-b
SPIRV remapper: allow 64 bit literals in OperandVariableLiteralI…
steve-lunarg [Wed, 17 Aug 2016 14:33:49 +0000 (08:33 -0600)]
WIP: SPIRV remapper: allow 64 bit literals in OperandVariableLiteralId class iteration
John Kessenich [Mon, 15 Aug 2016 21:14:55 +0000 (15:14 -0600)]
Merge pull request #467 from dankbaker/HLSL_Changing_defualt_language
HLSL: changing SPIRV defualt language for HLSL to unknown
Dan Baker [Mon, 15 Aug 2016 20:25:55 +0000 (16:25 -0400)]
Updating tests, sadly every single HLSL test needs updating becuase of the language identifier
Dan Baker [Mon, 15 Aug 2016 20:05:45 +0000 (16:05 -0400)]
HLSL: Changing SPIRV source language to unkown
John Kessenich [Mon, 15 Aug 2016 16:47:28 +0000 (10:47 -0600)]
Merge pull request #466 from baldurk/minor-msvc-warning-fix
fix x64 warning about conversion size_t -> int
baldurk [Mon, 15 Aug 2016 16:01:15 +0000 (18:01 +0200)]
fix x64 warning about conversion size_t -> int
John Kessenich [Fri, 12 Aug 2016 21:02:40 +0000 (15:02 -0600)]
Merge pull request #458 from dneto0/revert-remap-64bit-patch
Revert "Merge pull request #456 from steve-lunarg/remapper-literal64"
David Neto [Fri, 12 Aug 2016 20:49:21 +0000 (16:49 -0400)]
Revert "Merge pull request #456 from steve-lunarg/remapper-literal64"
This reverts commit
ad08b30f696267ec6243dd0ad68a3db889cd2d21, reversing
changes made to
28660bb580d4c61e16ef75008550a87b3be90b91.
This backs out the pull request
https://github.com/KhronosGroup/glslang/pull/456 because it introduced
several internal errors even on code that only uses 32-bit numeric
types.
John Kessenich [Fri, 12 Aug 2016 17:33:19 +0000 (11:33 -0600)]
Merge pull request #456 from steve-lunarg/remapper-literal64
SPIRV: Remapper: allow 64 bit literals in OperandVariableLiteralId iteration
steve-lunarg [Fri, 12 Aug 2016 03:07:45 +0000 (21:07 -0600)]
SPIRV: allow 64 bit literals in OperandVariableLiteralId class iteration.
John Kessenich [Thu, 11 Aug 2016 22:37:52 +0000 (16:37 -0600)]
Merge pull request #450 from dankbaker/standalone_change
Allowing explicit specification of shader compiltion type via -T opti…
Dan Baker [Thu, 11 Aug 2016 21:53:57 +0000 (17:53 -0400)]
Standalong: Changing -T to -S since it's a stage now instead of a target
Dan Baker [Thu, 11 Aug 2016 18:55:49 +0000 (14:55 -0400)]
Standalone: Changing some comments and user strings
Dan Baker [Thu, 11 Aug 2016 18:06:06 +0000 (14:06 -0400)]
Changing target to stage
John Kessenich [Thu, 11 Aug 2016 16:11:13 +0000 (10:11 -0600)]
Merge pull request #427 from wesleygriffin/master
Build: Bump required CMake version down to 2.8.11
John Kessenich [Thu, 11 Aug 2016 16:00:57 +0000 (10:00 -0600)]
Merge branch 'cpp-headers'
John Kessenich [Thu, 11 Aug 2016 15:58:01 +0000 (09:58 -0600)]
Merge pull request #451 from steve-lunarg/stagemask-all
HLSL: Put all intrinsics in common stage symbol table
steve-lunarg [Thu, 11 Aug 2016 13:29:30 +0000 (07:29 -0600)]
HLSL: Put intrinsics in symbol table for all stages
John Kessenich [Wed, 10 Aug 2016 01:15:17 +0000 (19:15 -0600)]
Infrastructure: Make shared symbol-table cache complete, delete work around.
Fixes issue #370 and replaces PR #371.
John Kessenich [Tue, 9 Aug 2016 21:29:25 +0000 (15:29 -0600)]
Merge pull request #448 from steve-lunarg/promotions
HLSL: add implicit promotions for assignments and function returns.
steve-lunarg [Tue, 9 Aug 2016 17:28:03 +0000 (11:28 -0600)]
HLSL: add implicit promotions for assignments and function returns.
dankbaker [Tue, 9 Aug 2016 01:43:07 +0000 (21:43 -0400)]
Allowing explicit specification of shader compiltion type via -T option, rather then looking at file extension. For HLSL files, this is nice because .hlsl extension is natively udnerstood by visual studio, likely to be used with the -e option.
John Kessenich [Mon, 8 Aug 2016 21:31:36 +0000 (15:31 -0600)]
Front-end: Fix issue #443: dvec3 uses only 2 components of second location.
John Kessenich [Mon, 8 Aug 2016 20:11:28 +0000 (14:11 -0600)]
Tests: Test base case for fixing issue #443.
John Kessenich [Mon, 8 Aug 2016 01:14:22 +0000 (19:14 -0600)]
HLSL: Smear scalars to match vectors for relational operations.
Yield a vector relational compare and a vector result.
John Kessenich [Fri, 5 Aug 2016 23:34:34 +0000 (17:34 -0600)]
Whitespace: Nonfunctional: fix inconsistent white space, esp. no tabs.
John Kessenich [Fri, 5 Aug 2016 23:29:43 +0000 (17:29 -0600)]
Merge pull request #436 from dankbaker/master
HLSL: disabling dx9 attempt to parse dx9 style samplers
John Kessenich [Fri, 5 Aug 2016 21:19:46 +0000 (15:19 -0600)]
Tests: Add some location-decoration tests, to aid PR #422.
John Kessenich [Fri, 5 Aug 2016 20:04:23 +0000 (14:04 -0600)]
Build: C++ headers: Replace PR #366 with a more directed version.
Dan Baker [Fri, 5 Aug 2016 18:56:40 +0000 (14:56 -0400)]
Merge branch 'master' of https://github.com/dankbaker/glslang
dankbaker [Fri, 5 Aug 2016 18:55:44 +0000 (14:55 -0400)]
Merge pull request #2 from KhronosGroup/master
Integrating Master into dankbaker fork
Dan Baker [Fri, 5 Aug 2016 18:52:38 +0000 (14:52 -0400)]
Commenting out attempt to parse DX9 samplers, since this is imcompatible with DX10+ shaders
John Kessenich [Fri, 5 Aug 2016 04:46:19 +0000 (22:46 -0600)]
PP: Add missing atoms that effect -E mode.
When preprocessing only, some tokens were emitted as <bad token>.
This fixes them to preserve their original content.
This supplants PR #182, with a correction and test results.
John Kessenich [Wed, 3 Aug 2016 20:35:07 +0000 (14:35 -0600)]
Merge pull request #429 from steve-lunarg/samplers.sm5
HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms
steve-lunarg [Sun, 31 Jul 2016 16:37:02 +0000 (10:37 -0600)]
HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms
dankbaker [Wed, 3 Aug 2016 19:32:58 +0000 (15:32 -0400)]
Merge pull request #1 from KhronosGroup/master
Pull request from glslang master
John Kessenich [Wed, 3 Aug 2016 18:07:45 +0000 (12:07 -0600)]
Merge pull request #431 from steve-lunarg/semicolon-fix
HLSL: allow semicolons between global scope declarations
steve-lunarg [Wed, 3 Aug 2016 13:04:18 +0000 (07:04 -0600)]
HLSL: allow semicolons between global scope declarations.
John Kessenich [Tue, 2 Aug 2016 01:44:00 +0000 (19:44 -0600)]
Front-end: Implement 2nd task of issue #400; precision of result and operation.
From the ES spec + Bugzilla 15931 and GL_KHR_vulkan_glsl:
- Update precision qualifiers for all built-in function prototypes.
- Implement the new algorithm used to distinguish built-in function
operation precisions from result precisions.
Also add tracking of separate result and operation precisions, and
use that in generating SPIR-V.
(SPIR-V cares about precision of operation, while the front-end
cares about precision of result, for propagation.)
John Kessenich [Tue, 2 Aug 2016 18:58:22 +0000 (12:58 -0600)]
Merge pull request #428 from dankbaker/master
HLSL: Fixing some casts that warn when compiled to 64 bit (size_t is 64 bit…
Dan Baker [Tue, 2 Aug 2016 18:42:43 +0000 (14:42 -0400)]
Fixing some casts that warn when compiled to 64 bit (size_t is 64 bit rather then 32 bit)
Wesley Griffin [Mon, 1 Aug 2016 19:36:15 +0000 (15:36 -0400)]
bump required CMake version down to 2.8.11 since no features are required in cmake>2.8.11 and this allows building on stock CentOS 7
John Kessenich [Sun, 31 Jul 2016 18:39:46 +0000 (12:39 -0600)]
SPV: Prevent issue #415 with better semantic checking.
John Kessenich [Sat, 30 Jul 2016 19:39:52 +0000 (13:39 -0600)]
PP: Fix issue #407; handle empty identifier.
The sequence
#define m()
int m"
creates a token of no length (a string of 0 size). Protect
against a string of 0 size as well as the existing protect
against a null string.
John Kessenich [Sat, 30 Jul 2016 19:25:33 +0000 (13:25 -0600)]
PP: Non-functional; fix typos and blank spaces.
John Kessenich [Sat, 30 Jul 2016 18:38:17 +0000 (12:38 -0600)]
PP: Fix issue #408: # as last character in macro.
This would look ahead for a second #, for token pasting, and if not
found, backup one token. This is fine, unless at the end of line,
which would backup the #, rather than the look ahead.
John Kessenich [Sat, 30 Jul 2016 17:17:03 +0000 (11:17 -0600)]
Merge pull request #424 from steve-lunarg/initializer-fix
HLSL: allow trailing commas in initializer lists & scalar initialization
steve-lunarg [Sat, 30 Jul 2016 16:36:09 +0000 (10:36 -0600)]
HLSL: allow trailing commas in initializer lists & scalar initialization
John Kessenich [Sat, 30 Jul 2016 16:29:54 +0000 (10:29 -0600)]
HLSL: Add back in the [subcomponent] part of a 'register' decl.
John Kessenich [Sat, 30 Jul 2016 16:28:38 +0000 (10:28 -0600)]
Merge pull request #423 from steve-lunarg/constructor-expr-fix
HLSL: Fix a grammar error related to constructors in paren expr
steve-lunarg [Sat, 30 Jul 2016 13:38:55 +0000 (07:38 -0600)]
HLSL: Fix a grammar error related to constructors in parenthetical expressions
John Kessenich [Sat, 30 Jul 2016 00:22:22 +0000 (18:22 -0600)]
Front-ends GLSL/HLSL: Fix initializer lists for structs of one member.
Single member structs initialized with an initializer list had
an incorrect argument for constructor emulation.
John Kessenich [Fri, 29 Jul 2016 20:28:39 +0000 (14:28 -0600)]
HLSL: Implement the register production.
John Kessenich [Fri, 29 Jul 2016 19:03:05 +0000 (13:03 -0600)]
HLSL: Implement packoffset production.
John Kessenich [Fri, 29 Jul 2016 16:42:40 +0000 (10:42 -0600)]
Merge pull request #421 from amdrexu/bugfix
SPV: Fix an issue of ++/-- for dvec/dmat.
Rex Xu [Fri, 29 Jul 2016 08:13:04 +0000 (16:13 +0800)]
SPV: Fix an issue of ++/-- for dvec/dmat.
John Kessenich [Fri, 29 Jul 2016 03:43:17 +0000 (21:43 -0600)]
HLSL: Fix binary-expression associativity and termination issue.
John Kessenich [Thu, 28 Jul 2016 23:53:56 +0000 (17:53 -0600)]
HLSL: Add shape conversions for scalar -> vector assigments.
Also, this allows turning on the error check for a failed assigment
when parsing.
This makes 39 HLSL tests have a working assignment that was previously
silently dropped, due to lack of this functionality.
John Kessenich [Thu, 28 Jul 2016 21:29:35 +0000 (15:29 -0600)]
Non-functional: Rationalize location and use of mapTypeToConstructor().
John Kessenich [Thu, 28 Jul 2016 22:56:39 +0000 (16:56 -0600)]
Merge pull request #417 from steve-lunarg/buffers
HLSL: add Buffer support for Load method
John Kessenich [Thu, 28 Jul 2016 22:56:25 +0000 (16:56 -0600)]
Merge pull request #419 from steve-lunarg/lerp-fix
HLSL: add missing vec,vec,scalar form of lerp(), + test
John Kessenich [Thu, 28 Jul 2016 22:51:33 +0000 (16:51 -0600)]
Merge pull request #420 from steve-lunarg/uint-literal-fix
HLSL: allow uint literals, and add test for numeric suffixes
steve-lunarg [Thu, 28 Jul 2016 20:49:48 +0000 (14:49 -0600)]
HLSL: allow uint literals, and add test for numeric suffixes
steve-lunarg [Thu, 28 Jul 2016 19:20:57 +0000 (13:20 -0600)]
HLSL: add missing vec,vec,scalar form of lerp(), + test
steve-lunarg [Wed, 27 Jul 2016 21:46:48 +0000 (15:46 -0600)]
HLSL: add Buffer support for Load method
John Kessenich [Wed, 27 Jul 2016 20:43:01 +0000 (14:43 -0600)]
Front-end: Fix issue #409, check for implicitly-sized binding arrays.
John Kessenich [Wed, 27 Jul 2016 19:14:36 +0000 (13:14 -0600)]
Infrastructure: Address issue #414, build instructions.
John Kessenich [Wed, 27 Jul 2016 18:17:10 +0000 (12:17 -0600)]
Merge pull request #416 from steve-lunarg/samplers.calclod
HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Uncla…
steve-lunarg [Tue, 26 Jul 2016 14:57:53 +0000 (08:57 -0600)]
HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition
John Kessenich [Wed, 27 Jul 2016 16:39:57 +0000 (10:39 -0600)]
HLSL: Implement ?: grammar productions.
Missing are implicit conversions between int/bool/etc.
John Kessenich [Wed, 27 Jul 2016 16:24:31 +0000 (10:24 -0600)]
HLSL: Report failed assignments; some were silently not happening.
Starting out with this turned off, so tests can be locally fixed,
then will turn it on.
John Kessenich [Wed, 27 Jul 2016 16:10:10 +0000 (10:10 -0600)]
Merge pull request #413 from steve-lunarg/samplers.2dms
HLSL: add 2DMS texture formats, and matching Load / GetDimensions sup…
steve-lunarg [Tue, 26 Jul 2016 21:19:28 +0000 (15:19 -0600)]
HLSL: add 2DMS texture formats, and matching Load / GetDimensions support
John Kessenich [Tue, 26 Jul 2016 18:50:38 +0000 (12:50 -0600)]
SPV: For AST interpolateAt* ops consuming a swizzle, invert the order.
Apply the interpolation first, then apply the swizzle to the result,
the inverse of the order requested by the AST. This fixes issue #411.
John Kessenich [Tue, 26 Jul 2016 15:40:46 +0000 (09:40 -0600)]
Merge pull request #405 from steve-lunarg/samplers
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/S…
John Kessenich [Tue, 26 Jul 2016 15:39:48 +0000 (09:39 -0600)]
Merge pull request #406 from steve-lunarg/pp_line
HLSL: enable #line extension by default for HLSL source.
John Kessenich [Mon, 25 Jul 2016 22:27:24 +0000 (16:27 -0600)]
README: Fix numbered list.
John Kessenich [Mon, 25 Jul 2016 22:21:08 +0000 (16:21 -0600)]
README: Update the component list.
John Kessenich [Mon, 25 Jul 2016 22:05:33 +0000 (16:05 -0600)]
HLSL: cbuffer and tbuffer grammar and production.
LoopDawg [Sat, 23 Jul 2016 02:46:03 +0000 (20:46 -0600)]
HLSL: enable #line extension by default for HLSL source.