Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix: typos | Andrea Pappacoda | 2022-04-02 | 2 | -2/+2 |
| | |||||
* | Merge pull request #8038 from liamwhite/exit-register-detection | Ameer J | 2022-03-22 | 1 | -0/+4 |
|\ | | | | | shader_recompiler/EXIT: increment output register on failed enable test | ||||
| * | shader_recompiler/EXIT: skip render targets with no outputs | Liam | 2022-03-18 | 1 | -0/+3 |
| | | |||||
| * | shader_recompiler/EXIT: increment output register on failed enable test | Liam | 2022-03-18 | 1 | -0/+1 |
| | | |||||
* | | shader_recompiler: Reduce unused includes | ameerj | 2022-03-20 | 27 | -39/+7 |
|/ | |||||
* | shader_recompiler: Implement LDC.IS address mode | Liam | 2022-03-16 | 1 | -2/+12 |
| | |||||
* | Shader decompiler: do constant propgation before texture pass. | Fernando Sahmkow | 2022-03-13 | 1 | -2/+2 |
| | |||||
* | shader_recompiler/LOP3: Use brute force python results within switch/case. | Markus Wick | 2022-03-08 | 2 | -52/+620 |
| | | | | | | | | | | | | | | | | | | | | | Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more. The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik. Performance results: Instructions 0: 8 1: 30 2: 114 3: 80 4: 24 Latency 0: 8 1: 30 2: 194 3: 24 | ||||
* | video_minimum_maximum: Implement src operand selectors | ameerj | 2022-01-27 | 1 | -12/+6 |
| | | | | Used by Pokemon Legends: Arceus | ||||
* | shader_recompiler: Remove unnecessary [[nodiscard]] | Lioncash | 2022-01-25 | 1 | -2/+1 |
| | | | | | Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function. | ||||
* | Address format clang | vonchenplus | 2021-12-18 | 1 | -36/+36 |
| | |||||
* | Implement convert legacy to generic | Feng Chen | 2021-11-19 | 2 | -0/+99 |
| | |||||
* | rescaling_pass: Logic simplification and minor style cleanup | ameerj | 2021-11-16 | 1 | -1/+0 |
| | |||||
* | Shader: Don't rescale FragCoord if used by Shuffle | Fernando Sahmkow | 2021-11-16 | 1 | -1/+3 |
| | |||||
* | spirv: Implement rescaling patching | ReinUsesLisp | 2021-11-16 | 1 | -0/+3 |
| | |||||
* | ShaderCache: Order Phi Arguments from farthest away to nearest. | Fernando Sahmkow | 2021-10-31 | 1 | -0/+2 |
| | |||||
* | structured_control_flow: Skip reordering nested demote branches. | ameerj | 2021-08-30 | 1 | -0/+11 |
| | | | | Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being. | ||||
* | structured_control_flow: Conditionally invoke demote reorder pass | ameerj | 2021-08-30 | 3 | -8/+13 |
| | | | | This is only needed on select drivers when a fragment shader discards/demotes. | ||||
* | structured_control_flow: Add DemoteCombinationPass | ameerj | 2021-08-28 | 1 | -1/+107 |
| | | | | | Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program. Fixes "wireframe" issue in Pokemon SwSh on some drivers | ||||
* | control_flow: Fix duplicate switch case in OpcodeToken | Lioncash | 2021-07-26 | 1 | -1/+1 |
| | | | | This previously duplicated the case of the PBK case above it. | ||||
* | shader: Support out of bound local memory reads and immediate writes | ReinUsesLisp | 2021-07-23 | 1 | -4/+21 |
| | | | | | | | | | Support ignoring immediate out of bound writes. Writing dynamically out of bounds is not yet supported (e.g. R0+0x4). Reading out of bounds yields zero. This is supported checking for the size from the IR; if the input is immediate, the optimization passes will drop it. | ||||
* | shader: Implement ISETP.X | ameerj | 2021-07-23 | 4 | -44/+57 |
| | |||||
* | shader: Avoid usage of C++20 ranges to build in clang | ReinUsesLisp | 2021-07-23 | 3 | -18/+23 |
| | |||||
* | shader_recompiler, video_core: Resolve clang errors | lat9nq | 2021-07-23 | 7 | -28/+21 |
| | | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors | ||||
* | shader: Manually convert from array<u32> to bitset instead of using bit_cast | ReinUsesLisp | 2021-07-23 | 1 | -2/+3 |
| | |||||
* | shader: GCC fmt 8.0.0 fixes | lat9nq | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Account for 33-bit IADD3 scenario | ameerj | 2021-07-23 | 1 | -2/+10 |
| | |||||
* | shader: Only apply shift on register mode for IADD3 | ReinUsesLisp | 2021-07-23 | 1 | -10/+14 |
| | |||||
* | shader: Use std::bit_cast instead of Common::BitCast for passthrough | ReinUsesLisp | 2021-07-23 | 1 | -2/+3 |
| | |||||
* | shader: Rework varyings and implement passthrough geometry shaders | ReinUsesLisp | 2021-07-23 | 1 | -8/+10 |
| | | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's. | ||||
* | shader: Only verify shader when graphics debugging is enabled | ReinUsesLisp | 2021-07-23 | 1 | -2/+7 |
| | |||||
* | shader: Emulate 64-bit integers when not supported | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | | | | Useful for mobile and Intel Xe devices. | ||||
* | shader_recompiler: Fix IADD3 input partitioning | ameerj | 2021-07-23 | 1 | -14/+13 |
| | |||||
* | shader: Move loop safety tests to code emission | ReinUsesLisp | 2021-07-23 | 1 | -33/+4 |
| | |||||
* | shader: Calibrate loop safety threshold | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Simplify MergeDualVertexPrograms | ReinUsesLisp | 2021-07-23 | 1 | -6/+4 |
| | |||||
* | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Add support for native 16-bit floats | ReinUsesLisp | 2021-07-23 | 2 | -4/+7 |
| | |||||
* | shader: Rename maxwell/program.h to translate_program.h | ReinUsesLisp | 2021-07-23 | 2 | -7/+2 |
| | |||||
* | shader: Fix loop safety to SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Add logging | ReinUsesLisp | 2021-07-23 | 3 | -6/+6 |
| | |||||
* | shader: Add shader loop safety check settings | lat9nq | 2021-07-23 | 1 | -4/+38 |
| | | | | Also add a setting for enable Nsight Aftermath. | ||||
* | shader: Comment why the array component is not read in TMML | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | tmml: Remove index component from coords vec | ameerj | 2021-07-23 | 1 | -4/+3 |
| | | | | The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing. | ||||
* | shader: Fix VertexA Shaders. | FernandoS27 | 2021-07-23 | 1 | -5/+14 |
| | |||||
* | shader: Add 2D and 3D variants to SUATOM and SURED | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | | | | Used by Claybook. | ||||
* | shader: Avoid CPU side undefined behavior on I2F | ReinUsesLisp | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Add support for "negative" and unaligned offsets | ReinUsesLisp | 2021-07-23 | 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. | ||||
* | shader: Implement ISCADD32I | ReinUsesLisp | 2021-07-23 | 1 | -17/+31 |
| | |||||
* | shader: Always initialize up reference in structure control flow | ReinUsesLisp | 2021-07-23 | 1 | -31/+36 |
| | | | | Fixes ubsan issue. | ||||
* | shader: Fix ImageWrite indexing | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Fix TMML queries | ReinUsesLisp | 2021-07-23 | 1 | -5/+9 |
| | |||||
* | shader: Handle host exceptions | ReinUsesLisp | 2021-07-23 | 3 | -5/+11 |
| | |||||
* | shader: Read branch conditions from an instruction | ReinUsesLisp | 2021-07-23 | 1 | -6/+3 |
| | | | | Fixes the identity removal pass. | ||||
* | glasm: Implement TEX and TEXS instructions | ReinUsesLisp | 2021-07-23 | 2 | -12/+11 |
| | | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported). | ||||
* | shader_recompiler: GCC fixes | lat9nq | 2021-07-23 | 2 | -25/+25 |
| | | | | | Fixes members of unnamed union not being accessible, and one function without a declaration. | ||||
* | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -3/+3 |
| | |||||
* | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 2021-07-23 | 5 | -119/+161 |
| | | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | ||||
* | shader: Add floating-point rounding to I2F | ReinUsesLisp | 2021-07-23 | 1 | -1/+6 |
| | |||||
* | shader: ISET.X implementation | ameerj | 2021-07-23 | 1 | -8/+58 |
| | |||||
* | shader: Optimize NVN Fallthrough | FernandoS27 | 2021-07-23 | 1 | -2/+5 |
| | |||||
* | shader: Stub SR_AFFINITY | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement Int32 SUATOM/SURED | ameerj | 2021-07-23 | 4 | -5/+207 |
| | |||||
* | 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 |