Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2021-07-22 | shader: Teach global memory base tracker to follow vectors | ReinUsesLisp | |
2021-07-22 | shader: Add constant propagation to integer vectors | ReinUsesLisp | |
2021-07-22 | shader: Move loop safety tests to code emission | ReinUsesLisp | |
2021-07-22 | texture_pass: Fix is_read image qualification | ameerj | |
Atomic operations are considered to have both read and write access. This was not being accounted for. | |||
2021-07-22 | shader: Align constant buffer sizes to 16 bytes | ReinUsesLisp | |
WAR for AMD reading zeroes on uniform buffers of size 2. | |||
2021-07-22 | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | |
2021-07-22 | glsl: Address rest of feedback | ameerj | |
2021-07-22 | glsl: Conditionally add EXT_texture_shadow_lod | ameerj | |
2021-07-22 | glsl: Implement legacy varyings | ameerj | |
2021-07-22 | glsl: Fix ATOM and implement ATOMS | ameerj | |
2021-07-22 | glsl: Track S32 atomics | ameerj | |
2021-07-22 | glsl: Revert ssbo aliasing. Storage Atomics impl | ameerj | |
2021-07-22 | glsl: Wip storage atomic ops | ameerj | |
2021-07-22 | shader: Fix loop safety to SSA pass | ReinUsesLisp | |
2021-07-22 | shader: Add shader loop safety check settings | lat9nq | |
Also add a setting for enable Nsight Aftermath. | |||
2021-07-22 | shader: Fix VertexA Shaders. | FernandoS27 | |
2021-07-22 | buffer_cache: Reduce uniform buffer size from shader usage | ReinUsesLisp | |
Increases performance significantly on certain titles. | |||
2021-07-22 | shader,glasm: Implement legacy texcoord loads | ReinUsesLisp | |
2021-07-22 | shader: Track legacy varyings | ReinUsesLisp | |
2021-07-22 | shader: Clang-format secondary textures | ReinUsesLisp | |
2021-07-22 | shader: Fix secondary textures | ReinUsesLisp | |
2021-07-22 | shader: Fix FSwizzleAdd folding when going through phi nodes | ReinUsesLisp | |
2021-07-22 | glasm: Remove unintentionally committed fmt::prints | ReinUsesLisp | |
2021-07-22 | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | |
2021-07-22 | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | |
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | |||
2021-07-22 | glasm: Implement shuffle and vote instructions on GLASM | ReinUsesLisp | |
2021-07-22 | shader: Optimize NVN Fallthrough | FernandoS27 | |
2021-07-22 | shader: Implement Int32 SUATOM/SURED | ameerj | |
2021-07-22 | shader: Address feedback | FernandoS27 | |
2021-07-22 | shader: Implement VertexA stage | FernandoS27 | |
2021-07-22 | shader: Fix BFE s32 undefined check | ameerj | |
Our unit tests were hitting this exception. | |||
2021-07-22 | shader: Fix error checking in bitfieldExtract and implement bitfieldInsert ↵ | ReinUsesLisp | |
folding | |||
2021-07-22 | shader: Add more strict validation the pass | ReinUsesLisp | |
2021-07-22 | shader: Fix forward referencing identity instructions when inserting phi | ReinUsesLisp | |
2021-07-22 | shader: Remove invalidated blocks in dead code elimination pass | ReinUsesLisp | |