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.
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
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
John Kessenich [Sun, 19 Jun 2016 17:50:34 +0000 (11:50 -0600)]
HLSL: Basic array grammar.
John Kessenich [Fri, 17 Jun 2016 23:16:27 +0000 (17:16 -0600)]
HLSL: Handle "." for structure dereference and swizzle.
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.
John Kessenich [Fri, 17 Jun 2016 20:21:02 +0000 (14:21 -0600)]
HLSL: Support semantics in function parameter declarations.
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.
John Kessenich [Fri, 17 Jun 2016 02:59:42 +0000 (20:59 -0600)]
SPV: Non-functional: Condense SPV-related versioning, and rationalize all uses.
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.
John Kessenich [Thu, 16 Jun 2016 18:43:23 +0000 (12:43 -0600)]
SPV non-functional: minor readability improvements for texturing.
John Kessenich [Wed, 15 Jun 2016 04:12:20 +0000 (22:12 -0600)]
Front-end ESSL: require precision declarations for images.
John Kessenich [Wed, 15 Jun 2016 02:38:58 +0000 (20:38 -0600)]
Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp.
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.
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
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
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
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.
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.
John Kessenich [Mon, 13 Jun 2016 14:37:29 +0000 (08:37 -0600)]
Merge pull request #338 from Nekotekina/fix1
Build: Compilation fix (mingw64)
Nekotekina [Mon, 13 Jun 2016 08:21:13 +0000 (11:21 +0300)]
Compilation fix (mingw64)
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.
John Kessenich [Sat, 11 Jun 2016 22:43:14 +0000 (16:43 -0600)]
HLSL: Implement basic "struct" grammar.
LoopDawg [Thu, 9 Jun 2016 14:57:35 +0000 (08:57 -0600)]
Add decompositions for some HLSL intrinsics.
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
John Kessenich [Thu, 9 Jun 2016 08:02:17 +0000 (02:02 -0600)]
HLSL: Implement proper nesting of symbol-table scopes and identifier searching.
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.