Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | shader: Initial OpenGL implementation | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 3 | -24/+24 |
| | |||||
* | shader: Implement VertexA stage | FernandoS27 | 2021-07-23 | 2 | -0/+30 |
| | |||||
* | shader: Implement delegation of Exit to dispatcher on CFG | FernandoS27 | 2021-07-23 | 2 | -3/+47 |
| | |||||
* | shader: Fix IADD3.CC | ameerj | 2021-07-23 | 1 | -12/+5 |
| | |||||
* | shader: Fix VMNMX selector B | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Remove identity removal pass for better build times | ReinUsesLisp | 2021-07-23 | 1 | -1/+0 |
| | |||||
* | shader: Refactor atomic_operations_global_memory | ameerj | 2021-07-23 | 1 | -44/+36 |
| | |||||
* | shader: add missing include guard in half_floating_point_helper.h | ameerj | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Fix gcc warnings | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Improve goto removal algorithm complexity | ReinUsesLisp | 2021-07-23 | 1 | -49/+28 |
| | | | | | Find sibling node containing a nephew searching from the nephew itself instead of the uncle. | ||||
* | shader: Move microinstruction header to the value header | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Move siblings check to a separate function and comment them out | ReinUsesLisp | 2021-07-23 | 1 | -16/+21 |
| | |||||
* | shader: Simplify code for local memory | ReinUsesLisp | 2021-07-23 | 1 | -6/+11 |
| | |||||
* | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | 2021-07-23 | 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. | ||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 2 | -7/+10 |
| | |||||
* | shader: Implement F2F (Imm) | FernandoS27 | 2021-07-23 | 1 | -2/+28 |
| | |||||
* | shader: Implement IADD3.CC/.X | FernandoS27 | 2021-07-23 | 1 | -7/+22 |
| | |||||
* | shader: Implement SR_Y_DIRECTION | FernandoS27 | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Fix memory barriers | ReinUsesLisp | 2021-07-23 | 1 | -20/+10 |
| | |||||
* | shader: Implement BFE and BFI CC | ameerj | 2021-07-23 | 2 | -12/+16 |
| | | | | Fix two bugs in BFI. | ||||
* | shader: Implement SampleMask | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement PIXLD.MY_INDEX | ReinUsesLisp | 2021-07-23 | 2 | -4/+46 |
| | |||||
* | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 2021-07-23 | 3 | -13/+27 |
| | |||||
* | shader: Document and relax cache control on surface instructions | ReinUsesLisp | 2021-07-23 | 1 | -10/+11 |
| | |||||
* | shader: Implement geometry shaders | ReinUsesLisp | 2021-07-23 | 2 | -7/+22 |
| | |||||
* | shader: Implement OUT | ReinUsesLisp | 2021-07-23 | 3 | -17/+47 |
| | |||||
* | internal_stage_buffer_entry_read: Remove pragma optimize off | lat9nq | 2021-07-23 | 1 | -2/+0 |
| | |||||
* | shader: Stub SR_INVOCATION_INFO | ReinUsesLisp | 2021-07-23 | 1 | -2/+5 |
| | |||||
* | shader: Stub ISBERD | ReinUsesLisp | 2021-07-23 | 2 | -4/+55 |
| | |||||
* | shader: Fix CC in I2I | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Simplify FLO and throw on CC | ReinUsesLisp | 2021-07-23 | 1 | -12/+13 |
| | |||||
* | shader: Mark blocks with no end branch as unreachable | ReinUsesLisp | 2021-07-23 | 1 | -2/+7 |
| | |||||
* | shader: Implement LOP CC | ReinUsesLisp | 2021-07-23 | 1 | -3/+11 |
| | |||||
* | shader: Implement SR_THREAD_KILL | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Apply sign bit in FCMP (imm) | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement ATOM/S and RED | ameerj | 2021-07-23 | 3 | -12/+332 |
| | |||||
* | shader: Implement CC for ISET, FSET, PSET, CSET, and DSET | FernandoS27 | 2021-07-23 | 18 | -13/+136 |
| | | | | Throw when other instructions are missing CC. | ||||
* | shader: Remove outdated comment in F2I | ReinUsesLisp | 2021-07-23 | 1 | -4/+0 |
| | |||||
* | shader: Implement SULD and SUST | ReinUsesLisp | 2021-07-23 | 10 | -59/+338 |
| | |||||
* | shader: Fix Windows build issues | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address feedback + clang format | lat9nq | 2021-07-23 | 5 | -14/+14 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 34 | -180/+160 |
| | | | | | | | | | | | | | | | | | 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 | 1 | -16/+21 |
| | |||||
* | shader: Implement indexed attributes | FernandoS27 | 2021-07-23 | 2 | -14/+26 |
| | |||||
* | 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 | 1 | -35/+75 |
| | |||||
* | shader: Implement BAR and fix memory barriers | ReinUsesLisp | 2021-07-23 | 1 | -2/+56 |
| | |||||
* | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 2021-07-23 | 1 | -6/+6 |
| | | | | 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: "Implement" NOP | FernandoS27 | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Address Feedback | FernandoS27 | 2021-07-23 | 3 | -12/+7 |
| | |||||
* | shader: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Implement MEMBAR | FernandoS27 | 2021-07-23 | 2 | -11/+56 |
| | |||||
* | shader: Improve VOTE.VTG stub | FernandoS27 | 2021-07-23 | 1 | -1/+4 |
| | |||||
* | shader: Stub VOTE.VTG | FernandoS27 | 2021-07-23 | 3 | -4/+8 |
| | |||||
* | 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: Address feedback | FernandoS27 | 2021-07-23 | 3 | -37/+33 |
| | |||||
* | shader: Always pass a lod for TexelFetch | ReinUsesLisp | 2021-07-23 | 2 | -22/+14 |
| | |||||
* | shader: Implement TXD | FernandoS27 | 2021-07-23 | 3 | -10/+182 |
| | |||||
* | shader: Implement TMML partially | FernandoS27 | 2021-07-23 | 2 | -8/+130 |
| | |||||
* | shader: Implement TLDS | FernandoS27 | 2021-07-23 | 2 | -4/+252 |
| | |||||
* | shader: Implement TLD | FernandoS27 | 2021-07-23 | 3 | -10/+167 |
| | |||||
* | shader: Fix indirect branches to scheduler instructions | ReinUsesLisp | 2021-07-23 | 3 | -7/+17 |
| | |||||
* | shader: Implement FSWZADD | ameerj | 2021-07-23 | 4 | -4/+49 |
| | |||||
* | shader: Implement BRX | FernandoS27 | 2021-07-23 | 10 | -44/+327 |
| | |||||
* | shader: Implement I2I CC | ameerj | 2021-07-23 | 1 | -3/+4 |
| | |||||
* | shader: Implement I2I SAT | ameerj | 2021-07-23 | 1 | -10/+30 |
| | |||||
* | 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 | 3 | -16/+199 |
| | |||||
* | shader: Implement ISCADD CC | ameerj | 2021-07-23 | 1 | -1/+4 |
| | |||||
* | shader: Implement VMAD, VMNMX, VSETP | ameerj | 2021-07-23 | 6 | -13/+301 |
| | |||||
* | 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 | 1 | -0/+3 |
| | |||||
* | shader: Fix structured control flow on KIL instructions | ReinUsesLisp | 2021-07-23 | 1 | -3/+6 |
| | | | | | 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 | 2 | -8/+76 |
| | |||||
* | shader: Refactor PTP and other minor changes | ReinUsesLisp | 2021-07-23 | 1 | -15/+13 |
| | |||||
* | shader: Implement TLD4.PTP | FernandoS27 | 2021-07-23 | 2 | -14/+16 |
| | |||||
* | 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 | 3 | -10/+211 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 3 | -6/+71 |
| | |||||
* | 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 | 3 | -5/+102 |
| | |||||
* | shader: Implement NDC [-1, 1], attribute types and default varying initialization | ReinUsesLisp | 2021-07-23 | 1 | -1/+6 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 2 | -4/+52 |
| | |||||
* | 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 | 6 | -39/+166 |
| | |||||
* | shader: Implement FADD32I | FernandoS27 | 2021-07-23 | 1 | -2/+15 |
| | |||||
* | shader: Implement F2F | FernandoS27 | 2021-07-23 | 2 | -12/+180 |
| | |||||
* | 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 | 4 | -7/+4 |
| | |||||
* | 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 | 6 | -14/+198 |
| | |||||
* | 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 | 11 | -43/+178 |
| | |||||
* | shader: Implement DADD | ameerj | 2021-07-23 | 4 | -14/+120 |
| | |||||
* | shader: Implement CSET and CSETP | ameerj | 2021-07-23 | 2 | -8/+54 |
| | |||||
* | 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 | 3 | -4/+262 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 7 | -99/+869 |
| | |||||
* | shader: Implement FMNMX | ameerj | 2021-07-23 | 3 | -13/+58 |
| | | | | And add a const in FCMP | ||||
* | shader: Implement FCMP | ameerj | 2021-07-23 | 2 | -16/+116 |
| | | | | still need to configure some settings for NV denorm flush and intel NaN | ||||
* | shader: Partial implementation of LDC | ReinUsesLisp | 2021-07-23 | 3 | -8/+97 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 4 | -10/+235 |
| | |||||
* | shader: Implement R2P | ameerj | 2021-07-23 | 2 | -12/+71 |
| | |||||
* | shader: Implement SHF | ameerj | 2021-07-23 | 2 | -16/+77 |
| | |||||
* | shader: Implement LEA | ameerj | 2021-07-23 | 2 | -20/+100 |
| | |||||
* | 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 | 3 | -17/+185 |
| | |||||
* | 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 | 2 | -12/+46 |
| | |||||
* | 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 | 2 | -12/+59 |
| | |||||
* | 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 | 2 | -12/+36 |
| | |||||
* | shader: Implement SHR | ameerj | 2021-07-23 | 2 | -12/+62 |
| | |||||
* | 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 | 3 | -4/+4 |
| | |||||
* | 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 | 10 | -38/+93 |
| | |||||
* | 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 | 2 | -9/+9 |
| | |||||
* | shader: Rename, implement FADD.SAT and P2R (imm) | ReinUsesLisp | 2021-07-23 | 10 | -35/+101 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 1 | -4/+15 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 3 | -16/+50 |
| | |||||
* | shader: Primitive Vulkan integration | ReinUsesLisp | 2021-07-23 | 5 | -23/+27 |
| | |||||
* | shader: Simplify ISCADD | ReinUsesLisp | 2021-07-23 | 1 | -6/+1 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 1 | -3/+4 |
| | |||||
* | shader: Support SSA loops on IR | ReinUsesLisp | 2021-07-23 | 1 | -4/+8 |
| | |||||
* | shader: Misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -4/+4 |
| | |||||
* | shader: Initial implementation of an AST | ReinUsesLisp | 2021-07-23 | 10 | -477/+238 |
| | |||||
* | spirv: Initial SPIR-V support | ReinUsesLisp | 2021-07-23 | 1 | -5/+5 |
| | |||||
* | shader: Add pools and rename files | ReinUsesLisp | 2021-07-23 | 15 | -63/+40 |
| | |||||
* | shader: Make typed IR | ReinUsesLisp | 2021-07-23 | 9 | -46/+74 |
| | |||||
* | shader: Constant propagation and global memory to storage buffer | ReinUsesLisp | 2021-07-23 | 1 | -2/+4 |
| | |||||
* | shader: Initial instruction support | ReinUsesLisp | 2021-07-23 | 16 | -178/+1039 |
| | |||||
* | shader: SSA and dominance | ReinUsesLisp | 2021-07-23 | 8 | -55/+223 |
| | |||||
* | shader: Initial recompiler work | ReinUsesLisp | 2021-07-23 | 24 | -0/+3555 |