Граф коммитов

1285 Коммитов

Автор SHA1 Сообщение Дата
John Kessenich d02dc5d05a HLSL: Implement switch/case/default. 2016-07-01 00:04:11 -06:00
John Kessenich 2f47bc9781 SPV: Don't decorate locations within an array, it doesn't make sense.
This fixes issue #360.
2016-06-30 22:00:09 -06:00
John Kessenich 6090df0fa3 SPV: Non-functional: break up big function into three smaller ones.
Also, improve variable names. This grew to be overly hard to understand.
2016-06-30 21:28:33 -06:00
John Kessenich 266b1d3e84 Merge pull request #363 from cdwfs/vertex_instance_id
Suggest gl_[Vertex,Instance]Index when gl_[Vertex,Instance]ID is encountered in Vulkan GLSL
2016-06-30 18:15:24 -06:00
John Kessenich f5dcdf0123 Front-end: Don't lower precision of bit operations taking highp inputs.
See issue #350 for detail.  This may be an ESSL specification issue.
2016-06-30 16:46:24 -06:00
John Kessenich ae3e77308c Merge pull request #364 from steve-lunarg/test-entrypoints
HLSL: Change intrinsics tests to not use overloaded entry points
2016-06-30 15:41:25 -06:00
LoopDawg e903ab5f04 HLSL: Change intrinsics tests to not use overloaded entry points 2016-06-30 14:13:03 -06:00
Cort Stratton 85028e1469 When parsing Vulkan GLSL, suggest gl_VertexIndex/gl_InstanceIndex instead of gl_VertexID/gl_InstanceID. 2016-06-30 12:51:10 -07:00
John Kessenich af151f964f Merge pull request #358 from amdrexu/bugfix
SPV: Certain decorations are missing for structure-typed in/out variables
2016-06-30 11:08:17 -06:00
Rex Xu c884b4a47f SPV: Certain decorations are missing for structure-typed in/out variables. 2016-06-30 13:11:36 +08:00
John Kessenich 187254b92c Merge pull request #357 from steve-lunarg/intrinsics
HLSL: Add asdouble, fma, & mad intrinsics
2016-06-29 10:50:33 -06:00
John Kessenich 7c8b743599 Merge pull request #267 from antiagainst/rm-test-dup
Remove duplicated tests from the runtests script.
2016-06-29 10:47:47 -06:00
John Kessenich bc17b0a96a 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.
2016-06-28 23:56:31 -06:00
John Kessenich b10feabc95 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.
2016-06-28 23:54:36 -06:00
John Kessenich 1011971981 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.
2016-06-28 16:16:43 -06:00
Lei Zhang 48e296b18c Remove duplicated tests from the runtests script. 2016-06-28 17:54:07 -04:00
LoopDawg 1b7fd0f7b7 Add asdouble, fma, & mad intrinsics and change profile to allow doubles when parsing prototypes 2016-06-28 15:38:38 -06:00
John Kessenich e5a807276f Merge pull request #349 from steve-lunarg/intrinsics
HLSL: Add lerp, fix sincos ret, add ret type tests, non-square mats, tx semantics
2016-06-28 15:34:11 -06:00
John Kessenich 22bca551a8 Merge pull request #354 from yavn/fix_off_by_one_limit_check
Front-end: allow max size built-in arrays like gl_ClipDistance
2016-06-28 13:24:18 -06:00
John Kessenich 5bc4d9a26f HLSL: Airplane work: break/continue/discard grammar, and decls for for/if/while. 2016-06-27 21:12:07 -06:00
Maciej Jesionowski bbbcb5b2eb Front-end: allow max size built-in arrays like gl_ClipDistance
Fixed off-by-one error with gl_MaxClipDistances and similar limits.
2016-06-27 12:44:15 +02:00
LoopDawg 4624a02e21 Add lerp, fix sincos return type, ret type tests, non-square mats, HLSL->AST tx semantics 2016-06-21 10:10:48 -06:00
John Kessenich a4a4d5e22c Merge pull request #346 from steve-lunarg/intrinsics
Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttrib…
2016-06-21 09:45:52 -06:00
LoopDawg 6e72fddaa2 Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped 2016-06-20 09:53:59 -06:00
John Kessenich 19b92fff7e HLSL: Basic array grammar. 2016-06-19 11:50:34 -06:00
John Kessenich 93a162a857 HLSL: Handle "." for structure dereference and swizzle. 2016-06-17 17:16:27 -06:00
John Kessenich 5aa59e2044 HLSL: Map parameter qualifiers from generic to function-specific and entry-point specific. 2016-06-17 15:52:46 -06:00
John Kessenich c3387d33ee HLSL: Support semantics in function parameter declarations. 2016-06-17 14:21:02 -06:00
John Kessenich 21f1286f57 Front-end: Implement GL_EXT_shader_non_constant_global_initializers.
This lets ES shaders use non-constant initializers for non-constant globals.
2016-06-17 12:43:31 -06:00
John Kessenich b901ade058 SPV: Non-functional: Condense SPV-related versioning, and rationalize all uses. 2016-06-16 23:31:29 -06:00
John Kessenich 65336488a8 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.
2016-06-16 14:06:26 -06:00
John Kessenich 76d4dfcd51 SPV non-functional: minor readability improvements for texturing. 2016-06-16 12:43:23 -06:00
John Kessenich ac666e7368 Front-end ESSL: require precision declarations for images. 2016-06-14 22:12:20 -06:00
John Kessenich 9000bd5eb6 Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp. 2016-06-14 20:38:58 -06:00
John Kessenich c51287d744 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.
2016-06-14 19:50:26 -06:00
John Kessenich 01de90bb1c Merge pull request #339 from steve-lunarg/intrinsics
HLSL: Implement atomic ops, bit conversions, fix minor intrinsics bugs
2016-06-14 10:56:50 -06:00
John Kessenich 7b04bdde36 Merge pull request #340 from dneto0/const-key-in-std-maps
Build: Tracking allocator must use const key
2016-06-14 10:42:13 -06:00
David Neto ec1476b706 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
2016-06-14 12:15:59 -04:00
LoopDawg 589107095c Implement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier. 2016-06-13 20:50:36 -06:00
John Kessenich cd784bc561 Merge pull request #337 from steve-lunarg/intrinsics
HLSL: Add decompositions for some intrinsics.
2016-06-13 08:54:45 -06:00
John Kessenich af3674d831 Merge pull request #338 from Nekotekina/fix1
Build: Compilation fix (mingw64)
2016-06-13 08:37:29 -06:00
Nekotekina 5dd29c8a97 Compilation fix (mingw64) 2016-06-13 11:25:18 +03:00
John Kessenich 630dd7da43 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.
2016-06-12 23:54:31 -06:00
John Kessenich e6e7494e2a HLSL: Implement basic "struct" grammar. 2016-06-12 23:54:31 -06:00
LoopDawg 592860cae5 Add decompositions for some HLSL intrinsics. 2016-06-10 17:11:18 -06:00
John Kessenich 41ebc42926 Merge pull request #335 from jekstrand/sampler-params
SPV: Fix pointer address spaces for sampler function parameters
2016-06-09 20:42:23 -06:00
John Kessenich 077e052a8f HLSL: Implement proper nesting of symbol-table scopes and identifier searching. 2016-06-09 02:03:46 -06:00
John Kessenich 71351de879 HLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others. 2016-06-09 01:33:10 -06:00
Jason Ekstrand ed15ef1a5b GlslangToSpv: Pass the pointer directly into the client function for opaque types
For opaque types such as samplers, images, and atomic counters, we want to
reference the actual object in the child function.  For a long time, we
used a shadow variable and made a copy of the image/sampler.  In 76d0ac1a,
this was changed to not shadow samplers.  However, this didn't cover all
opaque types and it also didn't get the pointer storage classes right.
This commit fixes both of these issues.

Fixes #324
2016-06-08 17:22:46 -07:00
Jason Ekstrand 228546a8af Types: Add an isOpaque() helper 2016-06-08 17:22:43 -07:00