- 21 May, 2017 1 commit
-
-
LoopDawg authored
Fixes #894
-
- 20 May, 2017 7 commits
-
-
John Kessenich authored
Blocks have this on members, not the object.
-
John Kessenich authored
HLSL: allow name mangling based on texture template type
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
This was done for one direction, but not both directions, so this commit picks up the other direction.
-
John Kessenich authored
This seems a bit ill-defined, and was generating code that made OpPhi of two operands that were Boolean vectors result in a scalar bool.
-
LoopDawg authored
Name mangling did not account for the vector size in the template type of a texture. This adds that. The mangle is as it ever was for the vec4 case, which leaves all GLSL behavior and most HLSL behavior uneffected. For vec1-3 the size is added to the mangle. Current limitation: textures cannot presently be templatized on structured types, so this works only for vectors of basic types. Fixes #895.
-
- 19 May, 2017 2 commits
-
-
John Kessenich authored
SPV: Give error on not assigning locations to I/O when generating SPIR-V.
-
John Kessenich authored
Remapper: handle embedded opcode in OpSpecConstantOp
-
- 18 May, 2017 2 commits
-
-
LoopDawg authored
OpSpecConstantOp contains an embedded opcode which is given as a literal argument to the OpSpecConstantOp. The subsequent arguments are as the embedded op would expect, which may be a mixture of IDs and literals. This adds support for that to the remapper binary parser. Upon seeing such an embedded op, the parser flips over to parsing the argument list as appropriate for that opcode. Fixes #882.
-
John Kessenich authored
Also, provides an option to auto-assign locations. Existing tests use this option, to avoid the error message, however, it is not fully implemented yet.
-
- 17 May, 2017 4 commits
-
-
John Kessenich authored
HLSL: add ability to pass struct buffers with counters to fns
-
John Kessenich authored
HLSL: Implement member functions calling member functions. Fixes #883.
-
steve-lunarg authored
This modifies function parameter passing to pass the counter buffer associated with a struct buffer to a function as a hidden parameter. Similarly function declarations will have hidden parameters added to accept the associated counter buffers. There is a limitation: if a SB type may or may not have an associated counter, passing it as a function parameter will assume that it does, and the counter will appear in the linkage whether or not there is a counter method used on the object.
-
John Kessenich authored
-
- 16 May, 2017 1 commit
-
-
John Kessenich authored
track declared builtin type
-
- 15 May, 2017 3 commits
-
-
steve-lunarg authored
Marking as WIP since it might deserve discussion or at least explicit consideration. During type sanitization, the TQualifier's TBuiltInVariable type is lost. However, sometimes it's needed downstream. There were already two methods in use to track it through to places it was needed: one in the TParameter, and one in a map in the HlslParseContext used for structured buffers. The latter was going to be insufficient when SB types with counters are passed to user functions, and it's proving awkward to track the data to where it's needed. This PR holds a proposal: track the original declared builtin type in the TType, so it's trivially available where needed. This lets the other two mechanisms be removed (and they are in this PR). There's a side benefit of not losing certain types of information before the reflection interface. This PR is only that proposal, so it changes no test results. If it's acceptable, I'll use it for the last piece of SB counter functionality.
-
John Kessenich authored
HLSL: add .mips[][] operator for texture types
-
LoopDawg authored
This implements mytex.mips[mip][coord] for texture types. There is some error testing, but not comprehensive. The constructs can be nested, e.g in this case the inner .mips is parsed before the completion of the outer [][] operator. tx.mips[tx.mips[a][b].x][c]
-
- 13 May, 2017 4 commits
-
-
John Kessenich authored
Check Android build on Travis CI
-
Lei Zhang authored
Also stop requiring sudo privilege so that we can use containers for testing.
-
John Kessenich authored
HLSL: allow GS-specific methods in non-GS stages
-
LoopDawg authored
Using GS methods such as Append() in non-GS stages should be ignored, but was creating errors due to the lack of a stream output symbol for the non-GS stage.
-
- 12 May, 2017 3 commits
-
-
John Kessenich authored
-
John Kessenich authored
Use unordered_set in ReadableOrderTraverser.
-
Lei Zhang authored
Previously we are using unordered_map to map to bool, which can be simplified with unordered_set.
-
- 10 May, 2017 6 commits
-
-
John Kessenich authored
Fix for lumped/unity/batch builds
-
John Kessenich authored
HLSL: Manually configure descriptor set and binding number for resources
-
Aras Pranckevicius authored
The codebase seems to use both “#pragma once“ approach, and “#ifndef / #define” approach, so I picked pragma once as that one is less typing & less brittle. When glslang is built with some other build system and lumped/unity builds are used, without the include guards some headers would get included multiple times, leading to duplicate declaration errors.
-
Aras Pranckevicius authored
When glslang is built with some other build system and lumped/unity builds are used, without the checks this would get “macro is being redefined” warnings/errors.
-
Hyangran Park authored
-
John Kessenich authored
Included changing related parameters to const. Should fix complaints with previous commit. See issue #879.
-
- 08 May, 2017 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
Fixes Vulkan Khronos-internal issue 770.
-
- 05 May, 2017 1 commit
-
-
John Kessenich authored
-
- 04 May, 2017 1 commit
-
-
John Kessenich authored
HLSL: implement [unroll] and [loop] attributes
-
- 03 May, 2017 3 commits
-
-
steve-lunarg authored
This adds infrastructure suitable for any front end to create SPIR-V loop control flags. The only current front end doing so is HLSL. [unroll] turns into spv::LoopControlUnrollMask [loop] turns into spv::LoopControlDontUnrollMask no specification means spv::LoopControlMaskNone
-
John Kessenich authored
Fix iomapper build warnings
-
steve-lunarg authored
-