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