Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | shader: Fix BFE s32 undefined check | ameerj | 2021-07-23 | 1 | -1/+1 |
| | | | | Our unit tests were hitting this exception. | ||||
* | shader: Fix error checking in bitfieldExtract and implement bitfieldInsert folding | ReinUsesLisp | 2021-07-23 | 1 | -5/+14 |
| | |||||
* | shader: Add more strict validation the pass | ReinUsesLisp | 2021-07-23 | 1 | -0/+42 |
| | |||||
* | shader: Fix forward referencing identity instructions when inserting phi | ReinUsesLisp | 2021-07-23 | 1 | -11/+13 |
| | |||||
* | shader: Remove invalidated blocks in dead code elimination pass | ReinUsesLisp | 2021-07-23 | 1 | -3/+6 |
| | |||||
* | shader: Implement indexed textures | ReinUsesLisp | 2021-07-23 | 1 | -17/+72 |
| | |||||
* | shader: Intrusively store in a block if it's sealed or not | ReinUsesLisp | 2021-07-23 | 1 | -3/+2 |
| | |||||
* | shader: Move microinstruction header to the value header | ReinUsesLisp | 2021-07-23 | 8 | -8/+8 |
| | |||||
* | shader: Intrusively store register values in block for SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -21/+43 |
| | |||||
* | shader: Implement D3D samplers | ReinUsesLisp | 2021-07-23 | 1 | -11/+69 |
| | |||||
* | shader: Add constant propagation for arithmetic right shifts | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | 2021-07-23 | 2 | -38/+61 |
| | | | | | | | When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime. | ||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add coarse derivatives | FernandoS27 | 2021-07-23 | 2 | -8/+2 |
| | |||||
* | shader: Implement fine derivates constant propagation | FernandoS27 | 2021-07-23 | 2 | -0/+71 |
| | |||||
* | shader: Fix Phi node types | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | shader: Implement SampleMask | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement PIXLD.MY_INDEX | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | spirv: Implement ViewportMask with NV_viewport_array2 | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement PrimitiveId | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 2021-07-23 | 1 | -0/+41 |
| | |||||
* | shader: Mark atomic instructions as writes | ReinUsesLisp | 2021-07-23 | 1 | -0/+27 |
| | |||||
* | spirv: Implement image buffers | ReinUsesLisp | 2021-07-23 | 1 | -1/+18 |
| | |||||
* | spirv: Implement Layer stores | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | spirv: Rework storage buffers and shader memory | ReinUsesLisp | 2021-07-23 | 1 | -5/+64 |
| | |||||
* | shader: Add constant propagation for *&^| binary operations | ReinUsesLisp | 2021-07-23 | 1 | -0/+12 |
| | |||||
* | spirv: Define StorageImageWriteWithoutFormat capability when used | ReinUsesLisp | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | shader: Implement SR_THREAD_KILL | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement ATOM/S and RED | ameerj | 2021-07-23 | 3 | -2/+201 |
| | |||||
* | spirv: Guard against typeless image reads on unsupported devices | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | shader: Move LaneId to the warp emission file and fix AMD | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement SULD and SUST | ReinUsesLisp | 2021-07-23 | 2 | -25/+69 |
| | |||||
* | shader: Address feedback + clang format | lat9nq | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 8 | -76/+80 |
| | | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc> | ||||
* | shader: Implement texture buffers | ReinUsesLisp | 2021-07-23 | 1 | -18/+62 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -13/+9 |
| | |||||
* | shader: Implement indexed Position and ClipDistances | FernandoS27 | 2021-07-23 | 1 | -8/+18 |
| | |||||
* | shader: Implement indexed attributes | FernandoS27 | 2021-07-23 | 2 | -2/+36 |
| | |||||
* | shader: Move recursive SSA rewrite to the heap | ReinUsesLisp | 2021-07-23 | 1 | -29/+89 |
| | |||||
* | shader: Add subgroup masks | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | shader: Abstract breadth searches and use the abstraction | ReinUsesLisp | 2021-07-23 | 2 | -104/+48 |
| | |||||
* | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 2021-07-23 | 1 | -4/+3 |
| | | | | It may generate better code on some compilers and it's easier to handle. | ||||
* | shader: Rework global memory tracking to use breadth-first search | ReinUsesLisp | 2021-07-23 | 1 | -69/+80 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 2 | -12/+9 |
| | |||||
* | shader: Address Feedback | FernandoS27 | 2021-07-23 | 3 | -60/+9 |
| | |||||
* | shader: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Improve VOTE.VTG stub | FernandoS27 | 2021-07-23 | 1 | -1/+50 |
| | |||||
* | shader: Mark SSBOs as written when they are | FernandoS27 | 2021-07-23 | 1 | -2/+29 |
| | |||||
* | shader: Implement ViewportIndex | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Fold composite extract | FernandoS27 | 2021-07-23 | 1 | -0/+62 |
| | |||||
* | shader: Fold comparisons and Pack/Unpack16 | FernandoS27 | 2021-07-23 | 1 | -1/+41 |
| | |||||
* | shader: Fix constant propagation to use reverse post order | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Implement ClipDistance | FernandoS27 | 2021-07-23 | 1 | -0/+10 |
| | |||||
* | shader: Implement ImageGradient | FernandoS27 | 2021-07-23 | 2 | -1/+15 |
| | |||||
* | shader,spirv: Implement ImageQueryLod. | FernandoS27 | 2021-07-23 | 2 | -1/+7 |
| | |||||
* | shader: Implement TLD | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Add PointCoord attribute | FernandoS27 | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | shader: Add PointSize attribute | ameerj | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement FSWZADD | ameerj | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement BRX | FernandoS27 | 2021-07-23 | 1 | -1/+20 |
| | |||||
* | shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Better interpolation and disabled attributes support | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement front face | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement TXQ and fix FragDepth | ReinUsesLisp | 2021-07-23 | 2 | -5/+18 |
| | |||||
* | shader: Refactor PTP and other minor changes | ReinUsesLisp | 2021-07-23 | 1 | -20/+2 |
| | |||||
* | shader: Add IR opcode for ImageFetch | FernandoS27 | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | shader: Implement TLD4.PTP | FernandoS27 | 2021-07-23 | 1 | -0/+18 |
| | |||||
* | shader: Implement TLD4 and TLD4_B | FernandoS27 | 2021-07-23 | 3 | -1/+29 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Track first bindless argument instead of the instruction itself | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Fix F2I | FernandoS27 | 2021-07-23 | 2 | -0/+4 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Fold interpolation multiplications | ReinUsesLisp | 2021-07-23 | 1 | -0/+34 |
| | |||||
* | shader: Implement DMNMX, DSET, DSETP | ameerj | 2021-07-23 | 2 | -2/+9 |
| | |||||
* | shader: Implement F2F | FernandoS27 | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Add missing fp64 usage flags | ReinUsesLisp | 2021-07-23 | 1 | -0/+34 |
| | |||||
* | shader: Add support for fp16 comparisons and misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -0/+18 |
| | |||||
* | shader: Fix floating point comparison for FP16 | FernandoS27 | 2021-07-23 | 1 | -0/+24 |
| | |||||
* | spirv: Implement VertexId and InstanceId, refactor code | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement I2F | ReinUsesLisp | 2021-07-23 | 2 | -0/+44 |
| | |||||
* | shader: Add partial rasterizer integration | ReinUsesLisp | 2021-07-23 | 2 | -5/+57 |
| | |||||
* | shader: Reorder phi nodes when redefined as undefined opcodes | ReinUsesLisp | 2021-07-23 | 1 | -1/+9 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 10 | -57/+44 |
| | |||||
* | shader: Implement FCMP | ameerj | 2021-07-23 | 1 | -1/+13 |
| | | | | still need to configure some settings for NV denorm flush and intel NaN | ||||
* | shader: Partial implementation of LDC | ReinUsesLisp | 2021-07-23 | 4 | -15/+146 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 4 | -9/+226 |
| | |||||
* | shader: Implement HADD2 | ReinUsesLisp | 2021-07-23 | 2 | -1/+11 |
| | |||||
* | shader: Implement SEL | ameerj | 2021-07-23 | 1 | -4/+8 |
| | |||||
* | shader: Avoid infinite recursion when tracking global memory | ReinUsesLisp | 2021-07-23 | 1 | -5/+26 |
| | |||||
* | shader: FMUL, select, RRO, and MUFU fixes | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 2 | -7/+65 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 4 | -7/+103 |
| | |||||
* | shader: Add XMAD multiplication folding optimization | ReinUsesLisp | 2021-07-23 | 1 | -5/+77 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 4 | -61/+210 |
| | |||||
* | shader: Fix tracking | ReinUsesLisp | 2021-07-23 | 1 | -50/+72 |
| | |||||
* | shader: Add support for forward declarations | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader: Support SSA loops on IR | ReinUsesLisp | 2021-07-23 | 3 | -17/+55 |
| | |||||
* | shader: Misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -70/+70 |
| | |||||
* | shader: Initial implementation of an AST | ReinUsesLisp | 2021-07-23 | 3 | -3/+75 |
| | |||||
* | spirv: Initial SPIR-V support | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Better constant folding | ReinUsesLisp | 2021-07-23 | 1 | -12/+47 |
| | |||||
* | shader: Properly store phi on Inst | ReinUsesLisp | 2021-07-23 | 1 | -10/+12 |
| | |||||
* | shader: Add pools and rename files | ReinUsesLisp | 2021-07-23 | 1 | -14/+14 |
| | |||||
* | shader: Make typed IR | ReinUsesLisp | 2021-07-23 | 2 | -10/+31 |
| | |||||
* | shader: Remove illegal character in SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Constant propagation and global memory to storage buffer | ReinUsesLisp | 2021-07-23 | 6 | -36/+573 |
| | |||||
* | shader: Initial instruction support | ReinUsesLisp | 2021-07-23 | 2 | -88/+0 |
| | |||||
* | shader: SSA and dominance | ReinUsesLisp | 2021-07-23 | 3 | -1/+164 |
| | |||||
* | shader: Initial recompiler work | ReinUsesLisp | 2021-07-23 | 5 | -0/+213 |