Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | shader: Implement SULD and SUST | ReinUsesLisp | 2021-07-23 | 14 | -68/+365 |
| | |||||
* | shader: Fix Windows build issues | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address feedback + clang format | lat9nq | 2021-07-23 | 6 | -15/+15 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 45 | -206/+184 |
| | | | | | | | | | | | | | | | | | 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: Fix FCMP immediate variant | ReinUsesLisp | 2021-07-23 | 1 | -1/+9 |
| | |||||
* | shader: Fix dangling labels | ReinUsesLisp | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | shader: Fix F2I | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 3 | -20/+25 |
| | |||||
* | shader: Implement indexed attributes | FernandoS27 | 2021-07-23 | 4 | -14/+37 |
| | |||||
* | shader: Implement AL2P | FernandoS27 | 2021-07-23 | 2 | -4/+35 |
| | |||||
* | shader: Fix BRX tracking | FernandoS27 | 2021-07-23 | 2 | -3/+4 |
| | |||||
* | shader: Fix splits on blocks using indirect branches | ReinUsesLisp | 2021-07-23 | 3 | -17/+38 |
| | |||||
* | shader: Eliminate orphan blocks more efficiently | ReinUsesLisp | 2021-07-23 | 1 | -7/+8 |
| | |||||
* | shader: Add subgroup masks | ReinUsesLisp | 2021-07-23 | 4 | -35/+105 |
| | |||||
* | shader: Implement BAR and fix memory barriers | ReinUsesLisp | 2021-07-23 | 5 | -2/+66 |
| | |||||
* | shader: Abstract breadth searches and use the abstraction | ReinUsesLisp | 2021-07-23 | 1 | -0/+57 |
| | |||||
* | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 2021-07-23 | 4 | -12/+12 |
| | | | | It may generate better code on some compilers and it's easier to handle. | ||||
* | shader: Remove unused header in VOTE | ReinUsesLisp | 2021-07-23 | 1 | -2/+0 |
| | |||||
* | shader: Fix fp16 merge when using native fp16 | ReinUsesLisp | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | shader: Fix FADD32I | ReinUsesLisp | 2021-07-23 | 1 | -6/+4 |
| | |||||
* | shader: Fix undetected bug from review | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -1/+7 |
| | |||||
* | shader: "Implement" NOP | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address Feedback | FernandoS27 | 2021-07-23 | 7 | -80/+25 |
| | |||||
* | shader: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 4 | -0/+9 |
| | |||||
* | shader: Implement MEMBAR | FernandoS27 | 2021-07-23 | 6 | -11/+78 |
| | |||||
* | shader: Improve VOTE.VTG stub | FernandoS27 | 2021-07-23 | 4 | -3/+57 |
| | |||||
* | shader: Stub VOTE.VTG | FernandoS27 | 2021-07-23 | 4 | -4/+15 |
| | |||||
* | shader: Fix branches to visited virtual blocks | ReinUsesLisp | 2021-07-23 | 1 | -0/+10 |
| | |||||
* | shader: Implement LDG .U.128 as .128 | ReinUsesLisp | 2021-07-23 | 1 | -3/+2 |
| | |||||
* | shader: Unroll "using enum" for opcode declarations | ReinUsesLisp | 2021-07-23 | 1 | -1/+27 |
| | |||||
* | shader: Fix TXD | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 3 | -37/+33 |
| | |||||
* | shader: Always pass a lod for TexelFetch | ReinUsesLisp | 2021-07-23 | 3 | -25/+17 |
| | |||||
* | shader: Implement TXD | FernandoS27 | 2021-07-23 | 3 | -10/+182 |
| | |||||
* | shader: Implement ImageGradient | FernandoS27 | 2021-07-23 | 4 | -0/+15 |
| | |||||
* | shader: Implement TMML partially | FernandoS27 | 2021-07-23 | 4 | -11/+134 |
| | |||||
* | shader,spirv: Implement ImageQueryLod. | FernandoS27 | 2021-07-23 | 3 | -0/+11 |
| | |||||
* | shader: Implement TLDS | FernandoS27 | 2021-07-23 | 2 | -4/+252 |
| | |||||
* | shader: Implement TLD | FernandoS27 | 2021-07-23 | 4 | -13/+170 |
| | |||||
* | shader: Store type of phi nodes in flags | ReinUsesLisp | 2021-07-23 | 2 | -1/+9 |
| | | | | This is needed because pseudo-instructions where invalidated. | ||||
* | shader: Fix indirect branches to scheduler instructions | ReinUsesLisp | 2021-07-23 | 3 | -7/+17 |
| | |||||
* | shader: Add missing new lines | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Implement FSWZADD | ameerj | 2021-07-23 | 7 | -4/+55 |
| | |||||
* | shader: Implement BRX | FernandoS27 | 2021-07-23 | 14 | -44/+347 |
| | |||||
* | shader: Fix alignment checks on RZ | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement I2I CC | ameerj | 2021-07-23 | 1 | -3/+4 |
| | |||||
* | shader: Implement I2I SAT | ameerj | 2021-07-23 | 4 | -10/+42 |
| | |||||
* | shader: Fix ISCADD logic for PO/CC | ameerj | 2021-07-23 | 1 | -7/+8 |
| | |||||
* | shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available | ReinUsesLisp | 2021-07-23 | 8 | -16/+277 |
| | |||||
* | shader: Implement ISCADD CC | ameerj | 2021-07-23 | 1 | -1/+4 |
| | |||||
* | shader: Implement VMAD, VMNMX, VSETP | ameerj | 2021-07-23 | 8 | -23/+314 |
| | |||||
* | shader: Add missing I2I exception when CC is used | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | shader: Better interpolation and disabled attributes support | ReinUsesLisp | 2021-07-23 | 2 | -9/+36 |
| | |||||
* | spirv: Remove dependencies on Environment when generating SPIR-V | ReinUsesLisp | 2021-07-23 | 2 | -0/+5 |
| | |||||
* | shader: Fix structured control flow on KIL instructions | ReinUsesLisp | 2021-07-23 | 2 | -3/+7 |
| | | | | | This could potentially leave unvisited blocks, leading to illegal phi nodes. | ||||
* | shader: Fix TXQ | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement TXQ and fix FragDepth | ReinUsesLisp | 2021-07-23 | 5 | -8/+86 |
| | |||||
* | shader: Refactor PTP and other minor changes | ReinUsesLisp | 2021-07-23 | 7 | -46/+19 |
| | |||||
* | shader: Add IR opcode for ImageFetch | FernandoS27 | 2021-07-23 | 3 | -2/+15 |
| | |||||
* | shader: Implement TLD4.PTP | FernandoS27 | 2021-07-23 | 8 | -19/+52 |
| | |||||
* | shader: Fix Array Indices in TEX/TLD4 | FernandoS27 | 2021-07-23 | 2 | -6/+6 |
| | |||||
* | shader: Implement FragDepth | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement TLD4S. | FernandoS27 | 2021-07-23 | 2 | -4/+133 |
| | |||||
* | shader: Implement TLD4 and TLD4_B | FernandoS27 | 2021-07-23 | 7 | -10/+237 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 8 | -8/+124 |
| | |||||
* | shader: Properly insert Prologue instruction | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Minor style nits | ReinUsesLisp | 2021-07-23 | 1 | -2/+4 |
| | |||||
* | shader: Fix F2I | FernandoS27 | 2021-07-23 | 6 | -5/+124 |
| | |||||
* | shader: Implement NDC [-1, 1], attribute types and default varying initialization | ReinUsesLisp | 2021-07-23 | 5 | -1/+23 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 5 | -4/+79 |
| | |||||
* | shader: Fix TEX mask | ReinUsesLisp | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Better but still partial interpolation support | ReinUsesLisp | 2021-07-23 | 1 | -5/+7 |
| | |||||
* | shader: Implement DMNMX, DSET, DSETP | ameerj | 2021-07-23 | 8 | -39/+169 |
| | |||||
* | shader: Implement FADD32I | FernandoS27 | 2021-07-23 | 1 | -2/+15 |
| | |||||
* | shader: Implement F2F | FernandoS27 | 2021-07-23 | 4 | -19/+188 |
| | |||||
* | shader: Implement DMUL and DFMA | ameerj | 2021-07-23 | 7 | -30/+109 |
| | | | | Also add a missing const on DADD | ||||
* | shader: Add FP64 register load/store helpers | ameerj | 2021-07-23 | 3 | -21/+24 |
| | |||||
* | shader: Add support for fp16 comparisons and misc fixes | ReinUsesLisp | 2021-07-23 | 7 | -14/+28 |
| | |||||
* | shader: Fix floating point comparison for FP16 | FernandoS27 | 2021-07-23 | 4 | -32/+32 |
| | |||||
* | shader: Implement HSETP2 | FernandoS27 | 2021-07-23 | 2 | -12/+116 |
| | |||||
* | shader: Implement HSET2 | FernandoS27 | 2021-07-23 | 4 | -14/+118 |
| | |||||
* | shader: Implement HMUL2 | FernandoS27 | 2021-07-23 | 2 | -16/+143 |
| | |||||
* | shader: Implement HFMA2 | FernandoS27 | 2021-07-23 | 4 | -20/+191 |
| | |||||
* | shader: Refactor half floating instructions | FernandoS27 | 2021-07-23 | 3 | -58/+82 |
| | |||||
* | shader: Implement I2F | ReinUsesLisp | 2021-07-23 | 9 | -69/+315 |
| | |||||
* | shader: Implement ISCADD (imm) | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader: Implement LOP32I | ReinUsesLisp | 2021-07-23 | 2 | -18/+45 |
| | |||||
* | shader: Add partial rasterizer integration | ReinUsesLisp | 2021-07-23 | 19 | -51/+212 |
| | |||||
* | shader: Implement DADD | ameerj | 2021-07-23 | 6 | -14/+129 |
| | |||||
* | shader: Implement CSET and CSETP | ameerj | 2021-07-23 | 5 | -15/+113 |
| | |||||
* | shader: Fix instruction transitions in and out of Phi | ReinUsesLisp | 2021-07-23 | 1 | -9/+11 |
| | |||||
* | shader: Implement FSET and FSETP | ameerj | 2021-07-23 | 7 | -92/+198 |
| | | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode. | ||||
* | shader: Implement TEXS | ReinUsesLisp | 2021-07-23 | 6 | -5/+275 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 11 | -254/+232 |
| | |||||
* | shader: Implement FMNMX | ameerj | 2021-07-23 | 5 | -13/+88 |
| | | | | And add a const in FCMP | ||||
* | shader: Fix rebase issue | ReinUsesLisp | 2021-07-23 | 1 | -1/+0 |
| | |||||
* | shader: Implement FCMP | ameerj | 2021-07-23 | 5 | -49/+184 |
| | | | | still need to configure some settings for NV denorm flush and intel NaN | ||||
* | shader: Partial implementation of LDC | ReinUsesLisp | 2021-07-23 | 6 | -10/+128 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 13 | -315/+772 |
| | |||||
* | shader: Implement R2P | ameerj | 2021-07-23 | 4 | -12/+74 |
| | |||||
* | shader: Implement SHF | ameerj | 2021-07-23 | 5 | -22/+99 |
| | |||||
* | shader: Implement LEA | ameerj | 2021-07-23 | 5 | -26/+122 |
| | |||||
* | shader: Deduplicate HADD2 code | ReinUsesLisp | 2021-07-23 | 1 | -19/+16 |
| | |||||
* | shader: Implement I2I | ameerj | 2021-07-23 | 2 | -12/+99 |
| | |||||
* | shader: Implement HADD2 | ReinUsesLisp | 2021-07-23 | 6 | -23/+290 |
| | |||||
* | shader: Implement LOP and LOP3 | ameerj | 2021-07-23 | 7 | -31/+225 |
| | |||||
* | shader: Implement IADD3 | ameerj | 2021-07-23 | 2 | -12/+103 |
| | |||||
* | shader: Implement PSETP | ameerj | 2021-07-23 | 3 | -4/+38 |
| | |||||
* | Implement PSET, refactor common comparison funcs | ameerj | 2021-07-23 | 8 | -101/+87 |
| | |||||
* | shader: Implement FLO | ameerj | 2021-07-23 | 5 | -15/+61 |
| | |||||
* | shader: Implement ISET, add common_funcs | ameerj | 2021-07-23 | 7 | -50/+147 |
| | |||||
* | shader: Make IMNMX, SHR, SEL stylistically more consistent | ameerj | 2021-07-23 | 3 | -5/+5 |
| | |||||
* | shader: Implement ICMP | ameerj | 2021-07-23 | 2 | -16/+83 |
| | |||||
* | shader: Implement IMNMX | ameerj | 2021-07-23 | 5 | -12/+84 |
| | |||||
* | shader: Implement BFI | ameerj | 2021-07-23 | 2 | -16/+56 |
| | |||||
* | shader: Implement BFE | ameerj | 2021-07-23 | 2 | -12/+66 |
| | |||||
* | shader: Implement POPC | ameerj | 2021-07-23 | 5 | -12/+48 |
| | |||||
* | shader: Implement SHR | ameerj | 2021-07-23 | 5 | -12/+68 |
| | |||||
* | shader: Implement SEL | ameerj | 2021-07-23 | 2 | -12/+44 |
| | |||||
* | shader: Fix conditional execution of exit instructions | ReinUsesLisp | 2021-07-23 | 2 | -5/+6 |
| | |||||
* | shader: Fix control flow | ReinUsesLisp | 2021-07-23 | 8 | -20/+39 |
| | |||||
* | shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCC | ReinUsesLisp | 2021-07-23 | 3 | -22/+70 |
| | |||||
* | shader: FMUL, select, RRO, and MUFU fixes | ReinUsesLisp | 2021-07-23 | 13 | -66/+277 |
| | |||||
* | shader: Fix MOV(reg), add SHL variants and emit neg and abs instructions | ReinUsesLisp | 2021-07-23 | 2 | -5/+5 |
| | |||||
* | spirv: Fixes and Intel specific workarounds | ReinUsesLisp | 2021-07-23 | 3 | -12/+9 |
| | |||||
* | shader: Rename, implement FADD.SAT and P2R (imm) | ReinUsesLisp | 2021-07-23 | 12 | -45/+111 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 4 | -33/+49 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 9 | -55/+97 |
| | |||||
* | shader: Primitive Vulkan integration | ReinUsesLisp | 2021-07-23 | 7 | -24/+30 |
| | |||||
* | shader: Simplify ISCADD | ReinUsesLisp | 2021-07-23 | 1 | -6/+1 |
| | |||||
* | shader: Add utility to resolve identities on a value | ReinUsesLisp | 2021-07-23 | 2 | -0/+8 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 3 | -3/+22 |
| | |||||
* | shader: Improve object pool | ReinUsesLisp | 2021-07-23 | 1 | -5/+5 |
| | |||||
* | shader: Add support for forward declarations | ReinUsesLisp | 2021-07-23 | 6 | -13/+27 |
| | |||||
* | shader: Support SSA loops on IR | ReinUsesLisp | 2021-07-23 | 4 | -4/+70 |
| | |||||
* | shader: Misc fixes | ReinUsesLisp | 2021-07-23 | 5 | -13/+17 |
| | |||||
* | shader: Initial implementation of an AST | ReinUsesLisp | 2021-07-23 | 21 | -535/+1152 |
| | |||||
* | spirv: Initial SPIR-V support | ReinUsesLisp | 2021-07-23 | 3 | -19/+15 |
| | |||||
* | shader: Better constant folding | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Properly store phi on Inst | ReinUsesLisp | 2021-07-23 | 4 | -59/+115 |
| | |||||
* | shader: Add pools and rename files | ReinUsesLisp | 2021-07-23 | 25 | -87/+113 |
| | |||||
* | shader: Make typed IR | ReinUsesLisp | 2021-07-23 | 16 | -258/+463 |
| | |||||
* | shader: Constant propagation and global memory to storage buffer | ReinUsesLisp | 2021-07-23 | 10 | -27/+77 |
| | |||||
* | shader: Initial instruction support | ReinUsesLisp | 2021-07-23 | 24 | -243/+1437 |
| | |||||
* | shader: SSA and dominance | ReinUsesLisp | 2021-07-23 | 19 | -74/+401 |
| | |||||
* | shader: Initial recompiler work | ReinUsesLisp | 2021-07-23 | 45 | -0/+6582 |