Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-03-20 | general: Fix clang/gcc build errors | ameerj | |
2022-03-20 | shader_recompiler: Reduce unused includes | ameerj | |
2022-03-18 | shader_recompiler/EXIT: skip render targets with no outputs | Liam | |
2022-03-17 | shader_recompiler/EXIT: increment output register on failed enable test | Liam | |
2022-03-16 | shader_recompiler: Implement LDC.IS address mode | Liam | |
2022-03-13 | Shader decompiler: do constant propgation before texture pass. | Fernando Sahmkow | |
2022-03-08 | shader_recompiler/LOP3: Use brute force python results within switch/case. | Markus Wick | |
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 | |||
2022-01-29 | lower_int64_to_int32: Add 64-bit atomic fallbacks | ameerj | |
2022-01-29 | shaders: Add U64->U32x2 Atomic fallback functions | ameerj | |
2022-01-27 | video_minimum_maximum: Implement src operand selectors | ameerj | |
Used by Pokemon Legends: Arceus | |||
2022-01-25 | shader_recompiler: Remove unnecessary [[nodiscard]] | Lioncash | |
Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function. | |||
2021-12-29 | shader: Add integer attribute get optimization pass | ameerj | |
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0. | |||
2021-12-18 | Address format clang | vonchenplus | |
2021-12-18 | Remove spirv handle legacy related code | vonchenplus | |
2021-11-19 | Implement convert legacy to generic | Feng Chen | |
2021-11-16 | rescaling_pass: Logic simplification and minor style cleanup | ameerj | |
2021-11-16 | Shader: Don't rescale FragCoord if used by Shuffle | Fernando Sahmkow | |
2021-11-16 | shader: Properly scale image reads and add GL SPIR-V support | ReinUsesLisp | |
Thanks for everything! | |||
2021-11-16 | spirv: Implement rescaling patching | ReinUsesLisp | |
2021-11-16 | shader: Add IsTextureScaled opcode | ReinUsesLisp | |
2021-11-16 | shader: Add copy constructor to instructions | ReinUsesLisp | |
2021-11-16 | shader: Add integer division opcodes | ReinUsesLisp | |
2021-11-16 | shader: Add resolution down factor opcode | ReinUsesLisp | |
2021-11-01 | ShaderCache: Fix Phi Nodes Type on OGL. | Fernando Sahmkow | |
2021-10-31 | ShaderCache: Order Phi Arguments from farthest away to nearest. | Fernando Sahmkow | |
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 | |