Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-11-02 | HLSL: Handle case where PerVertex block is not used. | Hans-Kristian Arntzen | |
2022-10-03 | HLSL: Improve support for VertexInfo aux struct. | Hans-Kristian Arntzen | |
Add concept of explicit bindings for aux structs and allows query if these aux structs are required. | |||
2022-07-22 | HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan. | Pedro J. Estébanez | |
2022-05-18 | Add tests for OpCompositeInsert edge cases. | Hans-Kristian Arntzen | |
2022-03-10 | Fixup names of anonymous inner structs. | Hans-Kristian Arntzen | |
Just like we try to fixup struct names for block types, inner structs can be "anonymous" structs. HLSL codegen from DXC tends to emit this, and emitting dummy struct names tends to break GL linkage on some drivers. | |||
2022-03-04 | Add test for SPIR-V 1.6 Volatile HelperInvocation. | Hans-Kristian Arntzen | |
2022-03-04 | HLSL: Add test for HelperInvocation. | Hans-Kristian Arntzen | |
2022-03-03 | Add relax_nan_checks options. | Hans-Kristian Arntzen | |
Makes codegen from typical D3D emulation SPIR-V more readable. Also makes cross compilation with NotEqual more sensible. It's very rare to actually need the strict NaN-checks in practice. Also, glslang now emits UnordNotEqual by default it seems, so give up trying to assume OrdNotEqual. Harmonize for UnordNotEqual as the sane default. | |||
2022-02-28 | HLSL: Do not emit VPOS fixup unless position is active. | Hans-Kristian Arntzen | |
2022-01-18 | Test aliased names in declared LUTs. | Hans-Kristian Arntzen | |
2022-01-18 | Handle aliased names in spec constants. | Hans-Kristian Arntzen | |
Need to register resource name. | |||
2022-01-06 | Add support for LocalSizeId. | Hans-Kristian Arntzen | |
WorkgroupSize builtin is deprecated in 1.6 and LocalSizeId is supported in Vulkan starting with maintenance4. | |||
2021-10-13 | Test behavior around OpSelect with matrices. | Hans-Kristian Arntzen | |
2021-10-13 | Fix wrong detection of trivial_mix_op. | Hans-Kristian Arntzen | |
Effectively, only the last component of the select was considered, need to correctly early out if any case is hit. | |||
2021-09-30 | Merge pull request #1757 from KhronosGroup/fix-1754 | Hans-Kristian Arntzen | |
Improve handling of INT_MIN/INT64_MIN literals. | |||
2021-09-30 | Improve handling of INT_MIN/INT64_MIN literals. | Hans-Kristian Arntzen | |
We cannot naively convert these to decimal literals. C/C++ (and thus MSL) has extremely awkward literal promotion rules. | |||
2021-09-30 | HLSL: Ensure synthetic NumWorkgroups variable is considered active. | Hans-Kristian Arntzen | |
In SPIR-V 1.4+, active global variables must be marked as such. | |||
2021-06-28 | Handle SPIR-V 1.4 selection constructs. | Hans-Kristian Arntzen | |
Fix bug in to_trivial_mix_op, where we made a pre-1.4 assumption that component count of selector is equal to value component count. | |||
2021-06-03 | Handle odd type for textureGather component. | Hans-Kristian Arntzen | |
2021-04-23 | HLSL: Support Shuffle wave ops. | Hans-Kristian Arntzen | |
WaveReadLaneAt is no longer restricted to dynamically uniform index, so can implement the other shuffle ops. | |||
2021-04-22 | Rewrite how non-uniform qualifiers are handled. | Hans-Kristian Arntzen | |
Remove all shenanigans with propagation, and only consume nonuniform qualifiers exactly where needed (last minute). | |||
2021-04-20 | HLSL: Fix automatic location assignment in block IO. | Hans-Kristian Arntzen | |
2021-03-08 | HLSL: Support logical subgroup ops. | Hans-Kristian Arntzen | |
2021-01-22 | Check entry point variables in is_hidden_variables. | Hans-Kristian Arntzen | |
Need to be careful not to emit globals we're not supposed to. | |||
2021-01-07 | Add test for pure initializer gl_FragDepth. | Hans-Kristian Arntzen | |
Tests that the builtin is considered active. | |||
2021-01-04 | More robust handling of initialized output builtin variables. | Hans-Kristian Arntzen | |
2021-01-04 | Handle output IO block initializers more robustly. | Hans-Kristian Arntzen | |
2021-01-04 | Handle reserved identifiers for functions. | Hans-Kristian Arntzen | |
gl_ identifiers are already handled by fixups, so remove redundant code. | |||
2020-12-11 | GLSL: Fix KHR subgroup extension table for subgroups. | Hans-Kristian Arntzen | |
2020-12-07 | Merge pull request #1564 from KhronosGroup/fix-1558 | Hans-Kristian Arntzen | |
GLSL: Emit nonuniformEXT in correct place for late-combined samplers. | |||
2020-12-07 | GLSL: Emit nonuniformEXT in correct place for late-combined samplers. | Hans-Kristian Arntzen | |
Need to emit nonuniformEXT(sampler2D()) since constructor expressions in Vulkan GLSL do not propgate the nonuniform qualifier. | |||
2020-12-07 | GLSL/HLSL: Disallow VariablePointers capability outright.fix-1559 | Hans-Kristian Arntzen | |
Cannot be supported, error out early. | |||
2020-11-23 | HLSL: Fix validation with FXC for test. | Hans-Kristian Arntzen | |
2020-11-03 | HLSL: Add option to flatten matrix vertex input semantics. | Hans-Kristian Arntzen | |
Helps translation layers where we expect inputs to be multiple float vectors rather than an indexed matrix. | |||
2020-10-30 | GLSL: Fix nonuniformEXT injection. | Hans-Kristian Arntzen | |
Needs to consider that other expressions might be using brackets as well ... | |||
2020-08-20 | Merge pull request #1448 from KhronosGroup/fix-1437 | Hans-Kristian Arntzen | |
HLSL: Fix some subtle bugs in buffer packing handling. | |||
2020-08-20 | HLSL: Fix FragCoord.w. | Hans-Kristian Arntzen | |
Need to invert it, SM 4.0+ uses W, not 1/W (like Vulkan/GL). | |||
2020-08-20 | HLSL: Deal with partially filled 16-byte word in cbuffers. | Hans-Kristian Arntzen | |
The last element of an array or matrix in HLSL cbuffers are not filled completely, but only have a size equal to the base vector. | |||
2020-08-20 | HLSL: Fix bug in is_packing_standard for cbuffer. | Hans-Kristian Arntzen | |
Was not keeping offset in sync with actual_offset and HLSL could trigger spurious realignments due to the straddle check. | |||
2020-07-29 | Add some test cases for complex type aliasing scenario. | Hans-Kristian Arntzen | |
2020-06-04 | HLSL: Add native support for 16-bit types. | Hans-Kristian Arntzen | |
Adds support for templated load/store in SM 6.2 to deal with small types. | |||
2020-04-30 | MSL: Redirect member indices when buffer has been sorted by Offset. | Hans-Kristian Arntzen | |
If a buffer rewrites its Offsets, all member references to that struct are invalidated, and must be redirected, do so in to_member_reference, but there might be other places where this is needed. Fix as required. SPIR-V code relying on this is somewhat questionable, but seems to be in-spec. | |||
2020-04-27 | Implement OpAtomicLoad/OpAtomicStore. | Hans-Kristian Arntzen | |
Need some emulation on GLSL/HLSL, fix bug with atomic store on MSL. | |||
2020-03-26 | Add support for forcefully zero-initialized variables. | Hans-Kristian Arntzen | |
Useful to better support certain platforms which require all variables to be initialized to something. | |||
2020-03-19 | GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics. | Hans-Kristian Arntzen | |
2020-03-19 | GLSL/HLSL: Implement nonuniform qualifier for image atomics. | Hans-Kristian Arntzen | |
2020-01-16 | Deal with illegal names in types as well. | Hans-Kristian Arntzen | |
- Fixes issue with clip_distance flattening in MSL where member to flatten from would come from to_member_name, where it should have used the builtin name directly. This member name was modified by this patch and broke clip distance test shaders. - Some cleanups with ir.meta, use ir.find_meta instead to not create unnecessary hashmap nodes. | |||
2020-01-09 | HLSL: Deal with casting for WaveActiveMin/Max. | Hans-Kristian Arntzen | |
2020-01-08 | HLSL: Implement stores for complex composites in ByteAddressBuffers. | Hans-Kristian Arntzen | |
2019-11-06 | Move .invalid. test shaders to the more appropriate subfolders. | Hans-Kristian Arntzen | |