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)
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.
John Kessenich [Sat, 23 Jul 2016 03:28:15 +0000 (21:28 -0600)]
Merge pull request #404 from phaulos/fix-spirv-remap
Remapper: Remap Scope and MemorySemantics IDs in SPIRV remapper
LoopDawg [Fri, 22 Jul 2016 14:28:11 +0000 (08:28 -0600)]
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow
Pyry Haulos [Fri, 22 Jul 2016 16:57:28 +0000 (09:57 -0700)]
Remap Scope and MemorySemantics IDs in SPIRV remapper
Scope and MemorySemantics operands contain IDs as well and may need
remapping.
John Kessenich [Thu, 21 Jul 2016 21:47:27 +0000 (15:47 -0600)]
Merge pull request #402 from steve-lunarg/samplers
HLSL: Add SampleLevel method
John Kessenich [Thu, 21 Jul 2016 21:43:00 +0000 (15:43 -0600)]
Front-end: Fix default layout(component) widths and correct for doubles.
Replaces PR #372.
John Kessenich [Thu, 21 Jul 2016 21:41:10 +0000 (15:41 -0600)]
Infrastructure: Remove bad characters from file.
John Kessenich [Thu, 21 Jul 2016 21:39:23 +0000 (15:39 -0600)]
Tests: line-number change only: make room for more component tests.
LoopDawg [Thu, 21 Jul 2016 21:02:16 +0000 (15:02 -0600)]
HLSL: Add SampleLevel method
John Kessenich [Thu, 21 Jul 2016 20:46:21 +0000 (14:46 -0600)]
Merge pull request #393 from steve-lunarg/warning-enable
Build: Add g++/clang warnings to match some enabled by /W4 in MSVC
John Kessenich [Thu, 21 Jul 2016 20:41:47 +0000 (14:41 -0600)]
Merge pull request #401 from steve-lunarg/samplers
HLSL: Add texture Load method & decomposition
John Kessenich [Thu, 21 Jul 2016 20:39:27 +0000 (14:39 -0600)]
Merge pull request #398 from amdrexu/feature
AMD: Implement 4 AMD-specific extensions.
LoopDawg [Mon, 18 Jul 2016 16:11:05 +0000 (10:11 -0600)]
Add g++/clang warnings to match some enabled by /W4 in MSVC.
LoopDawg [Wed, 20 Jul 2016 22:34:44 +0000 (16:34 -0600)]
HLSL: Add texture Load method & decomposition
John Kessenich [Wed, 20 Jul 2016 23:54:53 +0000 (17:54 -0600)]
Merge pull request #399 from steve-lunarg/samplers
HLSL: Add SampleCmp and SampleCmpLevelZero texture methods
John Kessenich [Wed, 20 Jul 2016 22:03:29 +0000 (16:03 -0600)]
Versions: Update version output.
Also, the per-build part had stopped auto-updating,
which is fixed locally as a git hook.
LoopDawg [Tue, 19 Jul 2016 20:28:05 +0000 (14:28 -0600)]
HLSL: Add SampleCmp and SampleCmpLevelZero texture methods
Rex Xu [Thu, 5 May 2016 04:30:44 +0000 (12:30 +0800)]
Implement 4 AMD-specific extensions.
- Support GL_AMD_shader_ballot (SPV_AMD_shader_ballot).
- Support GL_AMD_shader_trinary_minmax (SPV_AMD_shader_trinary_minmax).
- Support GL_AMD_shader_explicit_vertex_parameter
(SPV_AMD_shader_explicit_vertex_parameter).
- Support GL_AMD_gcn_shader (SPV_AMD_gcn_shader).
John Kessenich [Tue, 19 Jul 2016 21:50:58 +0000 (15:50 -0600)]
Fix issue #382: Detect implicitly-sized atomic_uint arrays.
John Kessenich [Tue, 19 Jul 2016 21:13:47 +0000 (15:13 -0600)]
Fix issue #388.
Protect more against error recovery of bad built-in variable redeclarations.
John Kessenich [Tue, 19 Jul 2016 20:32:52 +0000 (14:32 -0600)]
Fix issue #391: input stack underflow on too few macro arguments.
John Kessenich [Tue, 19 Jul 2016 01:17:16 +0000 (19:17 -0600)]
Merge pull request #395 from steve-lunarg/samplers
HLSL: Add tx.GetDimensions method (uint returns only)
LoopDawg [Fri, 15 Jul 2016 17:22:24 +0000 (11:22 -0600)]
HLSL: Add tx.GetDimensions method (uint returns only)
John Kessenich [Sat, 16 Jul 2016 16:19:43 +0000 (10:19 -0600)]
Build: Fix three new warnings in HLSL code.
John Kessenich [Fri, 15 Jul 2016 18:11:47 +0000 (12:11 -0600)]
Merge pull request #390 from steve-lunarg/samplers
HLSL: Add SampleBias and SampleGrad methods, + associated tests
John Kessenich [Fri, 15 Jul 2016 17:53:56 +0000 (11:53 -0600)]
Build: Switch to Rev. 6 of headers, removing "BadValue" enum stuff.
Note: Technically, this is glslang's modified private copy of official headers.
Official headers will appear in other places, like
https://github.com/KhronosGroup/SPIRV-Headers.
LoopDawg [Thu, 14 Jul 2016 20:45:14 +0000 (14:45 -0600)]
HLSL: Add SampleBias and SampleGrad, and associated tests
John Kessenich [Fri, 15 Jul 2016 16:58:37 +0000 (10:58 -0600)]
Merge pull request #392 from antiagainst/order
Build: Reorder fields to avoid compiler initialization order error.
Lei Zhang [Fri, 15 Jul 2016 15:25:28 +0000 (11:25 -0400)]
Reorder fields to avoid compiler initialization order error.
John Kessenich [Wed, 13 Jul 2016 21:42:48 +0000 (15:42 -0600)]
Merge pull request #385 from steve-lunarg/inout-qualifiers
HLSL: add in/out/inout qualifiers
John Kessenich [Wed, 13 Jul 2016 21:39:02 +0000 (15:39 -0600)]
Merge pull request #387 from steve-lunarg/samplers
HLSL: add offset Sample() form and arrayed texture support
LoopDawg [Tue, 12 Jul 2016 20:45:05 +0000 (14:45 -0600)]
HLSL: add offset Sample() form and arrayed texture support
LoopDawg [Wed, 13 Jul 2016 02:44:32 +0000 (20:44 -0600)]
HLSL: add in/out/inout qualifiers.
John Kessenich [Wed, 13 Jul 2016 01:47:14 +0000 (19:47 -0600)]
Merge pull request #380 from steve-lunarg/samplers
HLSL: Sampler/texture declarations, method syntax, partial Sample method
LoopDawg [Wed, 29 Jun 2016 16:58:58 +0000 (10:58 -0600)]
HLSL: Sampler/texture declarations, method syntax, partial Sample method
John Kessenich [Tue, 12 Jul 2016 07:26:43 +0000 (01:26 -0600)]
Front-end: Implement compile-time constant folding for any() and all().
John Kessenich [Mon, 11 Jul 2016 22:30:45 +0000 (16:30 -0600)]
README: remove reference to todo.txt, it is obsolete.
John Kessenich [Sat, 9 Jul 2016 20:50:57 +0000 (14:50 -0600)]
Front-end: Fix known crashes by early exit on error (issue #29, issue #34, issue #35).
Added -C option to request cascading errors. By default, will exit early,
to avoid all error-recovery-based crashes.
This works by simulating end-of-file in input on first error, so no
need for exception handling, or stack unwinding, or any complex error
checking/handling to get out of the stack.
John Kessenich [Sat, 9 Jul 2016 05:13:38 +0000 (23:13 -0600)]
Build: Add missing string.h include.
John Kessenich [Sat, 9 Jul 2016 04:09:10 +0000 (22:09 -0600)]
Build: Remove causes of pedantic warnings. Addresses issue #352 and PR #242.
John Kessenich [Fri, 8 Jul 2016 21:26:27 +0000 (15:26 -0600)]
Merge pull request #314 from mre4ce/master
Added -x option to save SPIR-V as 32-bit hexadecimal numbers to a text file.
John Kessenich [Fri, 8 Jul 2016 20:49:48 +0000 (14:49 -0600)]
Front end: Fix issue #374: put a limit on how big a type name can get.
John Kessenich [Fri, 8 Jul 2016 20:05:15 +0000 (14:05 -0600)]
SPV: Fix issue #376; declare Geometry capability for fragment use of gl_Layer.
John Kessenich [Thu, 7 Jul 2016 23:46:42 +0000 (17:46 -0600)]
SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V.
Includes adding test cases to verify the differences.
John Kessenich [Thu, 7 Jul 2016 19:20:00 +0000 (13:20 -0600)]
SPV: Turn on atomic-storage functionality for SPIR-V.
This is used by OpenGL, but not Vulkan.
Includes:
- atomicCounter, atomicIncrement, atomicCounterDecrement
- atomic_uint layout-offset checking
- AtomicStorage capability
John Kessenich [Tue, 5 Jul 2016 06:02:40 +0000 (00:02 -0600)]
HLSL: Add typedef grammar and production.
John Kessenich [Mon, 4 Jul 2016 23:32:45 +0000 (17:32 -0600)]
HLSL: Mostly non-functional: simplify, rationalize, and generalize the declaration grammar.
John Kessenich [Sat, 2 Jul 2016 01:58:06 +0000 (19:58 -0600)]
HLSL: Grammar: Recognize { } style initializers for composites.
John Kessenich [Sat, 2 Jul 2016 01:35:53 +0000 (19:35 -0600)]
HLSL: Correctly identify which variables are global storage class.
John Kessenich [Sat, 2 Jul 2016 01:06:44 +0000 (19:06 -0600)]
HLSL: Grammar: Make comma-separated declaration lists work.
John Kessenich [Fri, 1 Jul 2016 20:15:58 +0000 (14:15 -0600)]
Merge pull request #367 from steve-lunarg/templatetypes
HLSL: Add template style constructors for vector & matrix types
LoopDawg [Fri, 24 Jun 2016 01:13:48 +0000 (19:13 -0600)]
HLSL: Add template style constructors for vector & matrix types
John Kessenich [Fri, 1 Jul 2016 06:04:11 +0000 (00:04 -0600)]
HLSL: Implement switch/case/default.
John Kessenich [Fri, 1 Jul 2016 03:47:35 +0000 (21:47 -0600)]
SPV: Don't decorate locations within an array, it doesn't make sense.
This fixes issue #360.
John Kessenich [Fri, 1 Jul 2016 03:18:02 +0000 (21:18 -0600)]
SPV: Non-functional: break up big function into three smaller ones.
Also, improve variable names. This grew to be overly hard to understand.
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
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.
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
LoopDawg [Thu, 30 Jun 2016 20:13:03 +0000 (14:13 -0600)]
HLSL: Change intrinsics tests to not use overloaded entry points