- 01 Oct, 2016 7 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
Change binding auto-map to use provided offsets.
-
steve-lunarg authored
Previously, the binding auto-mapping facility was free to use any unused binding. This change makes auto-bindings use the same offset value as explicit bindings.
-
John Kessenich authored
HLSL: Restrict uniform array flattening to sampler and texture arrays
-
John Kessenich authored
SPV: PrimitiveId in frag shader will emit OpCapability
-
John Kessenich authored
HLSL: Add a test for buffer auto-binding assignment.
-
- 30 Sep, 2016 4 commits
-
-
steve-lunarg authored
-
John Kessenich authored
Parser: Implement extension GL_AMD_gpu_shader_half_float.
-
Rex Xu authored
- Add built-in types: float16_t, f16vec, f16mat. - Add support of half float constant: hf, HF. - Extend built-in floating-point operators: +, -, *, /, ++, --, +=, -=, *=, /=, ==, !=, >=, <=, >, <. - Add support of type conversions: float16_t -> XXX, XXX -> float16_t. - Add new built-in functions.
-
John Kessenich authored
-
- 29 Sep, 2016 7 commits
-
-
John Kessenich authored
Updated README.md
-
Anny authored
Added an alternative link for cloning the repo in the build instructions
-
steve-lunarg authored
Previously the uniform array flattening feature would trigger on loose uniform arrays of any basic type (e.g, floats). This PR restricts it to sampler and texture arrays. Other arrays would end up in their own uniform block (anonymous or otherwise). (Atomic counter arrays might be an exception, but those are not currently flattened).
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
Used initially just by HLSL, for $Global. Could be an option for GLSL -> Vulkan.
-
John Kessenich authored
-
- 28 Sep, 2016 1 commit
-
-
John Kessenich authored
HLSL: allow implicit size in array declarations
-
- 27 Sep, 2016 4 commits
-
-
steve-lunarg authored
In HLSL array sizes need not be provided explicitly in all circumstances. For example, this is valid (note no number between the [ ]): // no explicit array size uniform float g_array[] = { 1, 2, 3, 4, 5 }; This PR does not attempt to validate most invalid cases. A new test is added to verify the resulting linker objects. -
John Kessenich authored
#517: Enable AMD extensions by default
-
Maciej Jesionowski authored
Using PrimitiveId in a fragment shader requires declaring an OpCapability with either Geometry or Tessellation.
-
Dominik Witczak authored
-
- 26 Sep, 2016 5 commits
-
-
John Kessenich authored
SPV: OpGroupBroadcast is unable to handle vector operand.
-
John Kessenich authored
GLSL: Add IO map tests
-
steve-lunarg authored
This PR adds a GLSL equivalent to the HLSL binding mapping tests for offsets and auto-numbering. The shaders are as equivalent as possible. The bindings of the base results match exactly between the two.
-
Rex Xu authored
-
John Kessenich authored
-
- 23 Sep, 2016 3 commits
-
-
John Kessenich authored
SPV: Still have to specify SPIR-V extension for gl_SubGroupSizeARB and gl_SubGroupInvocationARB.
-
Rex Xu authored
-
John Kessenich authored
Fix defects in uniform array flattening
-
- 22 Sep, 2016 5 commits
-
-
steve-lunarg authored
Fix for two defects as follows: - The IO mapping traverser was not setting inVisit, and would skip some AST nodes. Depending on the order of nodes, this could have prevented the binding from showing up in the generated SPIR-V. - If a uniform array was flattened, each of the flattened scalars from the array is still a (now-scalar) uniform. It was being converted to a temporary.
-
John Kessenich authored
SPV: Implement the extension SPV_KHR_shader_ballot
-
John Kessenich authored
HLSL: Flatten uniform arrays
-
steve-lunarg authored
This checkin adds a --flatten-uniform-arrays option which can break uniform arrays of samplers, textures, or UBOs up into individual scalars named (e.g) myarray[0], myarray[1], etc. These appear as individual linkage objects. Code notes: - shouldFlatten internally calls shouldFlattenIO, and shouldFlattenUniform, but is the only flattening query directly called. - flattenVariable will handle structs or arrays (but not yet arrayed structs; this is tested an an error is generated). - There's some error checking around unhandled situations. E.g, flattening uniform arrays with initializer lists is not implemented. - This piggybacks on as much of the existing mechanism for struct flattening as it can. E.g, it uses the same flattenMap, and the same flattenAccess() method. - handleAssign() has been generalized to cope with either structs or arrays. - Extended test infrastructure to test flattening ability.
-
Rex Xu authored
-
- 21 Sep, 2016 3 commits
-
-
John Kessenich authored
-
John Kessenich authored
HLSL: Add location offsets per resource type
-
steve-lunarg authored
This PR adds the ability to offset sampler, texture, and UBO bindings from provided base bindings, and to auto-number bindings that are not provided with explicit register numbers. The mechanism works as follows: - Offsets may be given on the command line for all stages, or individually for one or more single stages, in which case the offset will be auto-selected according to the stage being compiled. There is also an API to set them. The new command line options are --shift-sampler-binding, --shift-texture-binding, and --shift-UBO-binding. - Uniforms which are not given explicit bindings in the source code are auto-numbered if and only if they are in live code as determined by the algorithm used to build the reflection database, and the --auto-map-bindings option is given. This auto-numbering avoids using any binding slots which were explicitly provided in the code, whether or not that explicit use was live. E.g, "uniform Texture1D foo : register(t3);" with --shift-texture-binding 10 will reserve binding 13, whether or not foo is used in live code. - Shorter synonyms for the command line options are available. See the --help output. The testing infrastructure is slightly extended to allow use of the binding offset API, and two new tests spv.register.(no)autoassign.frag are added for comparing the resulting SPIR-V.
-
- 20 Sep, 2016 1 commit
-
-
John Kessenich authored
-