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
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.
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
Rex Xu [Wed, 29 Jun 2016 07:03:44 +0000 (15:03 +0800)]
SPV: Certain decorations are missing for structure-typed in/out variables.
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
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.
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.
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.
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.
Lei Zhang [Wed, 4 May 2016 18:35:16 +0000 (14:35 -0400)]
Remove duplicated tests from the runtests script.
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
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
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
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.
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.
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
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…
LoopDawg [Wed, 15 Jun 2016 15:50:24 +0000 (09:50 -0600)]
Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped