Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2021-07-23 | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 19 | -344/+312 | |
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | |||||
2021-07-23 | shader: Add floating-point rounding to I2F | ReinUsesLisp | 3 | -35/+42 | |
2021-07-23 | glasm: Implement basic GLASM instructions | ReinUsesLisp | 1 | -0/+6 | |
2021-07-23 | glasm: Add GLASM backend infrastructure | ReinUsesLisp | 1 | -0/+6 | |
2021-07-23 | shader: ISET.X implementation | ameerj | 1 | -8/+58 | |
2021-07-23 | shader: Optimize NVN Fallthrough | FernandoS27 | 1 | -2/+5 | |
2021-07-23 | shader: Stub SR_AFFINITY | FernandoS27 | 1 | -0/+3 | |
2021-07-23 | shader: Implement Int32 SUATOM/SURED | ameerj | 8 | -5/+393 | |
2021-07-23 | shader: Initial OpenGL implementation | ReinUsesLisp | 3 | -0/+12 | |
2021-07-23 | shader: Address feedback | FernandoS27 | 3 | -24/+24 | |
2021-07-23 | shader: Implement VertexA stage | FernandoS27 | 4 | -0/+32 | |
2021-07-23 | shader: Implement delegation of Exit to dispatcher on CFG | FernandoS27 | 2 | -3/+47 | |
2021-07-23 | shader: Fix IADD3.CC | ameerj | 1 | -12/+5 | |
2021-07-23 | shader: Fix VMNMX selector B | ReinUsesLisp | 1 | -1/+2 | |
2021-07-23 | shader: Remove identity removal pass for better build times | ReinUsesLisp | 1 | -1/+0 | |
2021-07-23 | shader: Add missing UndoUse case for GetSparseFromOp | ReinUsesLisp | 1 | -0/+4 | |
2021-07-23 | shader: Simplify code in opcodes.h to fix Intellisense | ReinUsesLisp | 1 | -8/+6 | |
Avoid using std::array to fix Intellisense not properly compiling this code and disabling itself on all files that include it. While we are at it, change the code to use u8 instead of size_t for the number of instructions in an opcode. | |||||
2021-07-23 | shader: Implement indexed textures | ReinUsesLisp | 2 | -20/+21 | |
2021-07-23 | shader: Refactor atomic_operations_global_memory | ameerj | 1 | -44/+36 | |
2021-07-23 | shader: add missing include guard in half_floating_point_helper.h | ameerj | 1 | -0/+2 | |
2021-07-23 | shader: Fix gcc warnings | ReinUsesLisp | 2 | -2/+2 | |
2021-07-23 | shader: Inline common Value getters | ReinUsesLisp | 2 | -109/+102 | |
2021-07-23 | shader: Intrusively store in a block if it's sealed or not | ReinUsesLisp | 1 | -0/+9 | |
2021-07-23 | shader: Improve goto removal algorithm complexity | ReinUsesLisp | 1 | -49/+28 | |
Find sibling node containing a nephew searching from the nephew itself instead of the uncle. | |||||
2021-07-23 | shader: Use memset to reset instruction arguments | ReinUsesLisp | 2 | -4/+7 | |
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 | |