Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-08-30 | structured_control_flow: Skip reordering nested demote branches. | ameerj | |
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being. | |||
2021-08-30 | structured_control_flow: Conditionally invoke demote reorder pass | ameerj | |
This is only needed on select drivers when a fragment shader discards/demotes. | |||
2021-08-28 | structured_control_flow: Add DemoteCombinationPass | ameerj | |
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 | |||
2021-07-29 | Merge pull request #6722 from ReinUsesLisp/xmad-opts | bunnei | |
shader: Fold integer FMA from Nvidia's pattern | |||
2021-07-26 | Merge pull request #6724 from lioncash/nodisc-shader | Rodrigo Locatti | |
shader_recompiler: Remove unnecessary [[nodiscard]] instances | |||
2021-07-26 | shader_recompiler: Remove unnecessary [[nodiscard]] instances | Lioncash | |
[[nodiscard]] doesn't do anything on functions with a void return type and causes superfluous warnings. | |||
2021-07-26 | control_flow: Fix duplicate switch case in OpcodeToken | Lioncash | |
This previously duplicated the case of the PBK case above it. | |||
2021-07-26 | shader: Add TryInstRecursive utility to values | ReinUsesLisp | |
2021-07-22 | shader: Support out of bound local memory reads and immediate writes | ReinUsesLisp | |
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. | |||
2021-07-22 | shader: Implement ISETP.X | ameerj | |
2021-07-22 | shader: Avoid usage of C++20 ranges to build in clang | ReinUsesLisp | |
2021-07-22 | shader_recompiler, video_core: Resolve clang errors | lat9nq | |
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors | |||
2021-07-22 | shader: Manually convert from array<u32> to bitset instead of using bit_cast | ReinUsesLisp | |
2021-07-22 | shader: Ignore global memory ops on devices lacking int64 support | ameerj | |
2021-07-22 | shader: GCC fmt 8.0.0 fixes | lat9nq | |
2021-07-22 | shader: Account for 33-bit IADD3 scenario | ameerj | |
2021-07-22 | shader: Only apply shift on register mode for IADD3 | ReinUsesLisp | |
2021-07-22 | shader: Use std::bit_cast instead of Common::BitCast for passthrough | ReinUsesLisp | |
2021-07-22 | shader: Rework varyings and implement passthrough geometry shaders | ReinUsesLisp | |
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's. | |||
2021-07-22 | shader: Only verify shader when graphics debugging is enabled | ReinUsesLisp | |
2021-07-22 | shader: Emulate 64-bit integers when not supported | ReinUsesLisp | |
Useful for mobile and Intel Xe devices. | |||
2021-07-22 | shader: Remove IAbs64 | ReinUsesLisp | |
2021-07-22 | shader_recompiler: Fix IADD3 input partitioning | ameerj | |
2021-07-22 | shader: Move loop safety tests to code emission | ReinUsesLisp | |
2021-07-22 | shader: Calibrate loop safety threshold | ReinUsesLisp | |
2021-07-22 | shader: Simplify MergeDualVertexPrograms | ReinUsesLisp | |
2021-07-22 | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | |
2021-07-22 | shader: Add support for native 16-bit floats | ReinUsesLisp | |
2021-07-22 | shader: Rename maxwell/program.h to translate_program.h | ReinUsesLisp | |
2021-07-22 | shader: Fix loop safety to SSA pass | ReinUsesLisp | |
2021-07-22 | shader: Add logging | ReinUsesLisp | |
2021-07-22 | shader: Add shader loop safety check settings | lat9nq | |
Also add a setting for enable Nsight Aftermath. | |||
2021-07-22 | shader: Comment why the array component is not read in TMML | ReinUsesLisp | |
2021-07-22 | tmml: Remove index component from coords vec | ameerj | |
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing. | |||
2021-07-22 | shader: Fix VertexA Shaders. | FernandoS27 | |
2021-07-22 | shader: Add 2D and 3D variants to SUATOM and SURED | ReinUsesLisp | |
Used by Claybook. | |||
2021-07-22 | shader: Avoid CPU side undefined behavior on I2F | ReinUsesLisp | |
2021-07-22 | shader: Add support for "negative" and unaligned offsets | ReinUsesLisp | |
"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-22 | shader: Implement ISCADD32I | ReinUsesLisp | |
2021-07-22 | shader: Always initialize up reference in structure control flow | ReinUsesLisp | |
Fixes ubsan issue. | |||
2021-07-22 | shader: Fix ImageWrite indexing | ReinUsesLisp | |
2021-07-22 | shader: Fix TMML queries | ReinUsesLisp | |
2021-07-22 | shader: Handle host exceptions | ReinUsesLisp | |
2021-07-22 | Revert "glasm: Skip phi moves on undefined instructions" | ReinUsesLisp | |
Causes regressions on Bowser's Fury. | |||
2021-07-22 | glasm: Skip phi moves on undefined instructions | ReinUsesLisp | |
2021-07-22 | video_core,shader: Clang-format fixes | ReinUsesLisp | |
2021-07-22 | shader: Read branch conditions from an instruction | ReinUsesLisp | |
Fixes the identity removal pass. | |||
2021-07-22 | glasm: Implement TEX and TEXS instructions | ReinUsesLisp | |
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported). | |||
2021-07-22 | shader_recompiler: GCC fixes | lat9nq | |
Fixes members of unnamed union not being accessible, and one function without a declaration. | |||
2021-07-22 | shader: Use a non-trivial dummy to construct ASL node union | ReinUsesLisp | |