Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-04-23 | general: Convert source file copyright comments over to SPDX | Morph | |
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | |||
2022-04-01 | shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V | Liam | |
2022-03-23 | dead_code_elimination_pass: Remove unreachable Phi arguments | ameerj | |
2022-03-22 | shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass | ameerj | |
This adds a pass to eliminate if(false) branches within the shader code | |||
2022-03-20 | shader_recompiler: Reduce unused includes | ameerj | |
2022-03-17 | Address review comments | Liam | |
2022-03-17 | shader_recompiler: Use functions for indirect const buffer accesses | Liam | |
2022-03-14 | shader: add support for const buffer indirect addressing | Liam | |
2022-03-15 | Merge pull request #8008 from ameerj/rescale-offsets-array | Fernando S | |
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets | |||
2022-03-13 | Shader decompiler: Fix storage tracking in deko3d. | Fernando Sahmkow | |
2022-03-12 | rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets | ameerj | |
ImageFetch offsets for 2D array coordinates have a different composite size than the coordinates. The rescaling pass was not taking this into account. Fixes broken shaders when scaling is enabled in Astral Chain, and likely other titles. | |||
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-28 | spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics | ameerj | |
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used. Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus | |||
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-11-16 | ShaderCache: Better fix for Shuffling gl_FragCoord | Fernando Sahmkow | |
2021-11-16 | Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and ↵ | FernandoS27 | |
make reaper more agressive on 4Gb GPUs. | |||
2021-11-16 | rescaling_pass: Fix IR errors when unscalable texture types are encountered | ameerj | |
2021-11-16 | rescaling_pass: Logic simplification and minor style cleanup | ameerj | |
2021-11-16 | rescaling_pass: Scale ImageFetch offset if it exists | ameerj | |
Plus some code deduplication | |||
2021-11-16 | rescaling_pass: Enable PatchImageQueryDimensions on fragment stages | ameerj | |
2021-11-16 | gl_texture_cache/rescaling_pass: minor cleanup | ameerj | |
2021-11-16 | rescaling_pass: Fix and simplify shuffle/fragcoord pass | ameerj | |
2021-11-16 | Shader: Don't rescale FragCoord if used by Shuffle | Fernando Sahmkow | |
2021-11-16 | RescalingPass: Agregate pixels on texelFetch while on Fragment Shader | Fernando Sahmkow | |
2021-11-16 | shader: Fix TextureSize check on rescaling. | Fernando Sahmkow | |
2021-11-16 | shader: Properly scale image reads and add GL SPIR-V support | ReinUsesLisp | |
Thanks for everything! | |||
2021-11-16 | shader: Properly blacklist and scale image loads | ReinUsesLisp | |
2021-11-16 | shader/rescaling_pass: Patch more instructions | ReinUsesLisp | |
2021-11-16 | shader: Add IsTextureScaled opcode | ReinUsesLisp | |
2021-11-16 | shader: Fix rescaling pass | ReinUsesLisp | |
2021-11-16 | shader: Fix resolution scaling pass | ReinUsesLisp | |
2021-11-16 | ShaderDecompiler: Add initial support for rescaling. | Fernando Sahmkow | |
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-10-24 | TexturePass: Fix clamping of images as this allowed negative indices. | Fernando Sahmkow | |
2021-10-17 | Shader Compiler: avoid overflowed indices on indixed samplers. | Fernando Sahmkow | |
2021-07-30 | Merge pull request #6767 from ReinUsesLisp/fold-float-pack | Morph | |
shader: Fold UnpackFloat2x16 and PackFloat2x16 | |||
2021-07-29 | Merge pull request #6722 from ReinUsesLisp/xmad-opts | bunnei | |
shader: Fold integer FMA from Nvidia's pattern | |||
2021-07-29 | shader: Fold UnpackFloat2x16 and PackFloat2x16 | ReinUsesLisp | |
Simplifies the code a bit when possible. These instructions should be no-ops codegen wise. | |||
2021-07-27 | shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructions | ReinUsesLisp | |
Fixes instances where fp16 types are not declared on SPIR-V but they are used. This shouldn't happen on master, as it's been uncovered by an additional optimization pass. | |||
2021-07-26 | shader: Fold integer FMA from Nvidia's pattern | ReinUsesLisp | |
Fold shaders doing "a * b + c" on integers from the pattern generated by Nvidia's GL compiler. On a somewhat complex compute shader it reduces the code size by 16 instructions from 2 matches on Turing GPUs. On Intel as extracted from KHR_pipeline_executable_properties: Before the optimization: ``` Instruction Count: 2057 Basic Block Count: 45 Scratch Memory Size: 14752 Spill Count: 232 Fill Count: 261 SEND Count: 610 Cycle Count: 11325 ``` After the optimization: ``` Instruction Count: 2046 Basic Block Count: 44 Scratch Memory Size: 13728 Spill Count: 219 Fill Count: 268 SEND Count: 604 Cycle Count: 11367 ``` | |||
2021-07-26 | shader: Use TryInstRecursive on XMAD multiply folding | ReinUsesLisp | |
Simplify a bit the logic. | |||
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 | glsl: Fix tracking of info.uses_shadow_lod | ameerj | |
2021-07-22 | dual_vertex_pass: Clang format | ameerj | |
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 | lower_int64_to_int32: Add missing include | lat9nq | |
2021-07-22 | shader: Add int64 to int32 lowering pass | ReinUsesLisp | |