- 27 Jul, 2017 2 commits
-
-
John Kessenich authored
SPV: Memory qualifiers should decorate top-level block members
-
Rex Xu authored
-
- 26 Jul, 2017 3 commits
-
-
John Kessenich authored
HLSL: handle multiple clip/cull semantic IDs
-
LoopDawg authored
HLSL allows several variables to be declared. There are packing rules involved: e.g, a float3 and a float1 can be packed into a single array[4], while for a float3 and another float3, the second one will skip the third array entry to avoid straddling This is implements that ability. Because there can be multiple variables involved, and the final output array will often be a different type altogether (to fuse the values into a single destination), a new variable is synthesized, unlike the prior clip/cull support which used the declared variable. The new variable name is taken from one of the declared ones, so the old tests are unchanged. Several new tests are added to test various packing scenarios. Only two semantic IDs are supported: 0, and 1, per HLSL rules. This is encapsulated in static const int maxClipCullRegs = 2; and the algorithm (probably :) ) generalizes to larger values, although there are a few issues around how HLSL would pack (e.g, would 4 scalars be packed into a single HLSL float4 out reg? Probably, and this algorithm assumes so). -
John Kessenich authored
-
- 25 Jul, 2017 2 commits
-
-
John Kessenich authored
Fix dref explicit LOD form of sample with cube texture arrays
-
LoopDawg authored
The dref parameter was being used as the LOD. Now it it's properly the dref.
-
- 23 Jul, 2017 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
- 21 Jul, 2017 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
HLSL: Fix crash with --resource-set-binding [n] (global form, not per-register form)
-
- 20 Jul, 2017 1 commit
-
-
John Kessenich authored
-
- 18 Jul, 2017 4 commits
-
-
LoopDawg authored
--resource-set-binding has a mode which allows per-register assignments of bindings and descriptor sets on the command line, and another accepting a single descriptor set value to assign to all variables. The former worked, but the latter would crash when assigning the values. This fixes it, and makes the former case a bit more robust against premature termination of the pre-register values, which must come in (regname,set,binding) triples. This also allows the form "--resource-set-binding stage setnum", which was mentioned in the usage message, but did not parse. The operation of the per-register form of this option is unchanged.
-
John Kessenich authored
SPV: Decorate parameters
-
John Kessenich authored
-
John Kessenich authored
-
- 16 Jul, 2017 3 commits
-
-
John Kessenich authored
HLSL: Fix #980: flatten opaque initializers to use aliases.
-
John Kessenich authored
-
John Kessenich authored
Fix NULL pointer dereference in TParseContext::builtInOpCheck
-
- 15 Jul, 2017 1 commit
-
-
Gabríel Arthúr Pétursson authored
-
- 14 Jul, 2017 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
Address part B of #982: $Global will use std140 instead of HLSL offsets.
-
- 13 Jul, 2017 3 commits
-
-
John Kessenich authored
From comment about this: Adjust alignment for HLSL rules TODO: make this consistent in early phases of code: adjusting this late means inconsistencies with earlier code, which for reflection is an issue. Until reflection is brought in sync with these adjustments, don't apply to $Global, which is the most likely to rely on reflection, and least likely to rely implicit layouts.
-
John Kessenich authored
HLSL: support global const initializers from non-constant rvalues
-
John Kessenich authored
Fix StandAlone.cpp compilation warnings
-
- 12 Jul, 2017 1 commit
-
-
LoopDawg authored
find_first_of returns size_t, was overflowing int.
-
- 11 Jul, 2017 1 commit
-
-
LoopDawg authored
Semantic test left over from other source languages is removed, since this is permitted by HLSL. Also, to support the functionality, a targeted test is performed for this case and it is turned into a EvqGlobal qualifier to create an AST initialization segment when needed. Constness is now propagated up aggregate chains during initializer construction. This handles hierarchical cases such as the distinction between: static const float2 a[2] = { { 1, 2 }, { 3, 4} }; vs static const float2 a[2] = { { 1, 2 }, { cbuffer_member, 4} }; The first of which can use a first class constant initalization, and the second cannot.
-
- 07 Jul, 2017 1 commit
-
-
John Kessenich authored
-
- 06 Jul, 2017 4 commits
-
-
John Kessenich authored
The multithreaded outputs in particular can be troublesome when searching.
-
John Kessenich authored
HLSL: Translate directive [flatten] and [branch] to SPV control mask.
-
Rex Xu authored
-
John Kessenich authored
-
- 05 Jul, 2017 4 commits
-
-
John Kessenich authored
Implement SPV_KHR_post_depth_coverage
-
chaoc authored
Added support for both extension GL_ARB_post_depth_coverage and GL_EXT_post_depth_coverage.
-
John Kessenich authored
HLSL: handle type conversion for any/all intrinsics
-
LoopDawg authored
HLSL allows float/etc types for any/all intrinsics, while the SPIR-V opcode requires bool. This adds a simple decomposition to type convert the argument. It could get a little more clever in some of the type cases if it ever had to.
-
- 04 Jul, 2017 4 commits
-
-
John Kessenich authored
Add option to skip installation
-
John Kessenich authored
Fix CMake scripts to set the POSITION_INDEPENDENT_CODE property correctly
-
Rohith Chandran authored
Fix CMake scripts: The set_property script can be used to set only a single property, so now setting the POSITION_INDEPENDENT_CODE property correctly.
-
d3x0r authored
-