Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2021-07-23 | shader: Only verify shader when graphics debugging is enabled | ReinUsesLisp | 1 | -2/+7 | |
2021-07-23 | shader: Emulate 64-bit integers when not supported | ReinUsesLisp | 1 | -0/+3 | |
Useful for mobile and Intel Xe devices. | |||||
2021-07-23 | shader_recompiler: Fix IADD3 input partitioning | ameerj | 1 | -14/+13 | |
2021-07-23 | shader: Move loop safety tests to code emission | ReinUsesLisp | 1 | -33/+4 | |
2021-07-23 | shader: Calibrate loop safety threshold | ReinUsesLisp | 1 | -1/+1 | |
2021-07-23 | shader: Simplify MergeDualVertexPrograms | ReinUsesLisp | 1 | -6/+4 | |
2021-07-23 | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | 1 | -1/+3 | |
2021-07-23 | shader: Add support for native 16-bit floats | ReinUsesLisp | 2 | -4/+7 | |
2021-07-23 | shader: Rename maxwell/program.h to translate_program.h | ReinUsesLisp | 2 | -7/+2 | |
2021-07-23 | shader: Fix loop safety to SSA pass | ReinUsesLisp | 1 | -1/+3 | |
2021-07-23 | shader: Add logging | ReinUsesLisp | 3 | -6/+6 | |
2021-07-23 | shader: Add shader loop safety check settings | lat9nq | 1 | -4/+38 | |
Also add a setting for enable Nsight Aftermath. | |||||
2021-07-23 | shader: Comment why the array component is not read in TMML | ReinUsesLisp | 1 | -0/+2 | |
2021-07-23 | tmml: Remove index component from coords vec | ameerj | 1 | -4/+3 | |
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing. | |||||
2021-07-23 | shader: Fix VertexA Shaders. | FernandoS27 | 1 | -5/+14 | |
2021-07-23 | shader: Add 2D and 3D variants to SUATOM and SURED | ReinUsesLisp | 1 | -0/+4 | |
Used by Claybook. | |||||
2021-07-23 | shader: Avoid CPU side undefined behavior on I2F | ReinUsesLisp | 1 | -0/+2 | |
2021-07-23 | shader: Add support for "negative" and unaligned offsets | ReinUsesLisp | 1 | -2/+2 | |
"Negative" offsets don't exist. They are shown as such due to a bug in nvdisasm. Unaligned offsets have been proved to read the aligned offset. For example, when reading an U32, if the offset is 6, the offset read will be 4. | |||||
2021-07-23 | shader: Implement ISCADD32I | ReinUsesLisp | 1 | -17/+31 | |
2021-07-23 | shader: Always initialize up reference in structure control flow | ReinUsesLisp | 1 | -31/+36 | |
Fixes ubsan issue. | |||||
2021-07-23 | shader: Fix ImageWrite indexing | ReinUsesLisp | 1 | -1/+1 | |
2021-07-23 | shader: Fix TMML queries | ReinUsesLisp | 1 | -5/+9 | |
2021-07-23 | shader: Handle host exceptions | ReinUsesLisp | 3 | -5/+11 | |
2021-07-23 | shader: Read branch conditions from an instruction | ReinUsesLisp | 1 | -6/+3 | |
Fixes the identity removal pass. | |||||
2021-07-23 | glasm: Implement TEX and TEXS instructions | ReinUsesLisp | 2 | -12/+11 | |
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported). | |||||
2021-07-23 | shader_recompiler: GCC fixes | lat9nq | 2 | -25/+25 | |
Fixes members of unnamed union not being accessible, and one function without a declaration. | |||||
2021-07-23 | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 1 | -3/+3 | |
2021-07-23 | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 5 | -119/+161 | |
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 | 1 | -1/+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 | 4 | -5/+207 | |
2021-07-23 | shader: Initial OpenGL implementation | ReinUsesLisp | 1 | -0/+7 | |
2021-07-23 | shader: Address feedback | FernandoS27 | 3 | -24/+24 | |
2021-07-23 | shader: Implement VertexA stage | FernandoS27 | 2 | -0/+30 | |
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: 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 | 1 | -1/+1 | |
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: Move microinstruction header to the value header | ReinUsesLisp | 1 | -1/+1 | |
2021-07-23 | shader: Move siblings check to a separate function and comment them out | ReinUsesLisp | 1 | -16/+21 | |
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: Implement SR_Y_DIRECTION | FernandoS27 | 1 | -0/+2 | |
2021-07-23 | shader: Fix memory barriers | ReinUsesLisp | 1 | -20/+10 | |
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 | 1 | -1/+1 | |
2021-07-23 | shader: Implement PIXLD.MY_INDEX | ReinUsesLisp | 2 | -4/+46 | |
2021-07-23 | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 3 | -13/+27 | |
2021-07-23 | shader: Document and relax cache control on surface instructions | ReinUsesLisp | 1 | -10/+11 | |
2021-07-23 | shader: Implement geometry shaders | ReinUsesLisp | 2 | -7/+22 | |
2021-07-23 | shader: Implement OUT | ReinUsesLisp | 3 | -17/+47 | |
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 | 1 | -0/+2 | |
2021-07-23 | shader: Apply sign bit in FCMP (imm) | ReinUsesLisp | 1 | -1/+1 | |
2021-07-23 | shader: Implement ATOM/S and RED | ameerj | 3 | -12/+332 | |
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 | 10 | -59/+338 | |
2021-07-23 | shader: Fix Windows build issues | ReinUsesLisp | 1 | -1/+1 | |
2021-07-23 | shader: Address feedback + clang format | lat9nq | 5 | -14/+14 | |
2021-07-23 | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 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> | |||||
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 | 1 | -16/+21 | |
2021-07-23 | shader: Implement indexed attributes | FernandoS27 | 2 | -14/+26 | |
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 | 1 | -35/+75 | |
2021-07-23 | shader: Implement BAR and fix memory barriers | ReinUsesLisp | 1 | -2/+56 | |
2021-07-23 | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 1 | -6/+6 | |
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: "Implement" NOP | FernandoS27 | 1 | -1/+1 | |
2021-07-23 | shader: Address Feedback | FernandoS27 | 3 | -12/+7 | |
2021-07-23 | shader: Implement SR_LaneId | FernandoS27 | 1 | -0/+2 | |
2021-07-23 | shader: Implement MEMBAR | FernandoS27 | 2 | -11/+56 | |
2021-07-23 | shader: Improve VOTE.VTG stub | FernandoS27 | 1 | -1/+4 | |
2021-07-23 | shader: Stub VOTE.VTG | FernandoS27 | 3 | -4/+8 | |
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: Address feedback | FernandoS27 | 3 | -37/+33 | |
2021-07-23 | shader: Always pass a lod for TexelFetch | ReinUsesLisp | 2 | -22/+14 | |
2021-07-23 | shader: Implement TXD | FernandoS27 | 3 | -10/+182 | |
2021-07-23 | shader: Implement TMML partially | FernandoS27 | 2 | -8/+130 | |
2021-07-23 | shader: Implement TLDS | FernandoS27 | 2 | -4/+252 | |
2021-07-23 | shader: Implement TLD | FernandoS27 | 3 | -10/+167 | |
2021-07-23 | shader: Fix indirect branches to scheduler instructions | ReinUsesLisp | 3 | -7/+17 | |
2021-07-23 | shader: Implement FSWZADD | ameerj | 4 | -4/+49 | |
2021-07-23 | shader: Implement BRX | FernandoS27 | 10 | -44/+327 | |
2021-07-23 | shader: Implement I2I CC | ameerj | 1 | -3/+4 | |
2021-07-23 | shader: Implement I2I SAT | ameerj | 1 | -10/+30 | |
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 | 3 | -16/+199 | |
2021-07-23 | shader: Implement ISCADD CC | ameerj | 1 | -1/+4 | |
2021-07-23 | shader: Implement VMAD, VMNMX, VSETP | ameerj | 6 | -13/+301 | |
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 | 1 | -0/+3 | |
2021-07-23 | shader: Fix structured control flow on KIL instructions | ReinUsesLisp | 1 | -3/+6 | |
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 | 2 | -8/+76 | |
2021-07-23 | shader: Refactor PTP and other minor changes | ReinUsesLisp | 1 | -15/+13 | |
2021-07-23 | shader: Implement TLD4.PTP | FernandoS27 | 2 | -14/+16 | |
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 | 3 | -10/+211 | |
2021-07-23 | shader: Implement SHFL | ameerj | 3 | -6/+71 | |
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 | 3 | -5/+102 | |
2021-07-23 | shader: Implement NDC [-1, 1], attribute types and default varying initialization | ReinUsesLisp | 1 | -1/+6 | |
2021-07-23 | shader: Implement VOTE | ameerj | 2 | -4/+52 | |
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 | 6 | -39/+166 | |
2021-07-23 | shader: Implement FADD32I | FernandoS27 | 1 | -2/+15 | |
2021-07-23 | shader: Implement F2F | FernandoS27 | 2 | -12/+180 | |
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 | 4 | -7/+4 | |
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 | 6 | -14/+198 | |
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 | 11 | -43/+178 | |
2021-07-23 | shader: Implement DADD | ameerj | 4 | -14/+120 | |
2021-07-23 | shader: Implement CSET and CSETP | ameerj | 2 | -8/+54 | |
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 | 3 | -4/+262 | |
2021-07-23 | shader: Implement CAL inlining function calls | ReinUsesLisp | 7 | -99/+869 | |
2021-07-23 | shader: Implement FMNMX | ameerj | 3 | -13/+58 | |
And add a const in FCMP | |||||
2021-07-23 | shader: Implement FCMP | ameerj | 2 | -16/+116 | |
still need to configure some settings for NV denorm flush and intel NaN | |||||
2021-07-23 | shader: Partial implementation of LDC | ReinUsesLisp | 3 | -8/+97 | |
2021-07-23 | shader: Initial support for textures and TEX | ReinUsesLisp | 4 | -10/+235 | |
2021-07-23 | shader: Implement R2P | ameerj | 2 | -12/+71 | |
2021-07-23 | shader: Implement SHF | ameerj | 2 | -16/+77 | |
2021-07-23 | shader: Implement LEA | ameerj | 2 | -20/+100 | |
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 | 3 | -17/+185 | |
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 | 2 | -12/+46 | |
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 | 2 | -12/+59 | |
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 | 2 | -12/+36 | |
2021-07-23 | shader: Implement SHR | ameerj | 2 | -12/+62 | |
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 | 3 | -4/+4 | |
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 | 10 | -38/+93 | |
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 | 2 | -9/+9 | |
2021-07-23 | shader: Rename, implement FADD.SAT and P2R (imm) | ReinUsesLisp | 10 | -35/+101 | |
2021-07-23 | shader: Add denorm flush support | ReinUsesLisp | 1 | -4/+15 | |
2021-07-23 | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 3 | -16/+50 | |
2021-07-23 | shader: Primitive Vulkan integration | ReinUsesLisp | 5 | -23/+27 | |
2021-07-23 | shader: Simplify ISCADD | ReinUsesLisp | 1 | -6/+1 | |
2021-07-23 | spirv: Initial bindings support | ReinUsesLisp | 1 | -3/+4 | |
2021-07-23 | shader: Support SSA loops on IR | ReinUsesLisp | 1 | -4/+8 | |
2021-07-23 | shader: Misc fixes | ReinUsesLisp | 2 | -4/+4 | |
2021-07-23 | shader: Initial implementation of an AST | ReinUsesLisp | 10 | -477/+238 | |
2021-07-23 | spirv: Initial SPIR-V support | ReinUsesLisp | 1 | -5/+5 | |
2021-07-23 | shader: Add pools and rename files | ReinUsesLisp | 15 | -63/+40 | |
2021-07-23 | shader: Make typed IR | ReinUsesLisp | 9 | -46/+74 | |
2021-07-23 | shader: Constant propagation and global memory to storage buffer | ReinUsesLisp | 1 | -2/+4 | |
2021-07-23 | shader: Initial instruction support | ReinUsesLisp | 16 | -178/+1039 | |
2021-07-23 | shader: SSA and dominance | ReinUsesLisp | 8 | -55/+223 | |
2021-07-23 | shader: Initial recompiler work | ReinUsesLisp | 24 | -0/+3555 | |