Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #10699 from liamwhite/conditional-barrier | Matías Locatti | 2023-06-12 | 2 | -0/+45 |
|\ | | | | | shader_recompiler: remove barriers in conditional control flow when device lacks support | ||||
| * | shader_recompiler: remove barriers in conditional control flow when device lacks support | Liam | 2023-06-10 | 2 | -0/+45 |
| | | |||||
* | | shader_recompiler: translate f64 to f32 when unsupported on host | Liam | 2023-06-10 | 2 | -0/+186 |
|/ | |||||
* | buffer_cache: Add logic for non-NVN storage buffer tracking | ameerj | 2023-02-25 | 1 | -1/+7 |
| | |||||
* | Merge pull request #9588 from liamwhite/bylaws-reverts | liamwhite | 2023-02-19 | 2 | -10/+5 |
|\ | | | | | Revert "shader_recompiler: Align SSBO offsets to meet host requirements" | ||||
| * | Revert "shader_recompiler: Align SSBO offsets to meet host requirements" | Liam | 2023-01-07 | 2 | -10/+5 |
| | | | | | | | | This reverts commit 8804a4eb23e0c4f3e4bab03dee7c204bd38bf21e. | ||||
* | | Merge pull request #9699 from ameerj/texture-pass-desc | liamwhite | 2023-01-29 | 1 | -2/+9 |
|\ \ | | | | | | | texture_pass: Fix texture descriptors comparisons | ||||
| * | | texture_pass: Fix texture descriptors comparisons | ameerj | 2023-01-29 | 1 | -2/+9 |
| | | | |||||
* | | | Merge pull request #9698 from ameerj/texture-pass-handle | liamwhite | 2023-01-29 | 1 | -7/+7 |
|\ \ \ | | | | | | | | | texture_pass: Refactor texture handle retrieval | ||||
| * | | | texture_pass: Refactor texture handle retrieval | ameerj | 2023-01-29 | 1 | -7/+7 |
| | | | | |||||
* | | | | Merge pull request #9694 from ameerj/txq-mips | liamwhite | 2023-01-29 | 1 | -1/+2 |
|\ \ \ \ | |/ / / |/| | | | shader_recompiler: TXQ: Skip QueryLevels when possible | ||||
| * | | | shader_recompiler: TXQ: Skip QueryLevels when possible | ameerj | 2023-01-28 | 1 | -1/+2 |
| |/ / | |||||
* | | | Merge pull request #9682 from ameerj/shader-s32 | bunnei | 2023-01-28 | 1 | -4/+4 |
|\ \ \ | |/ / |/| | | shader_recompiler: Remove S32 IR type | ||||
| * | | shader_recompiler: Remove S32 IR type | ameerj | 2023-01-26 | 1 | -4/+4 |
| |/ | | | | | | | | | | | The frontend IR opcodes do not distinguish between signed and unsigned integer types. Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32 | ||||
* / | spirv: fix multisampled image fetch | Liam | 2023-01-23 | 1 | -0/+8 |
|/ | |||||
* | Run clang-format | Billy Laws | 2023-01-05 | 1 | -1/+2 |
| | |||||
* | shader_recompiler: Align SSBO offsets to meet host requirements | Billy Laws | 2023-01-05 | 2 | -5/+9 |
| | | | | We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself. | ||||
* | Video_core: Address feedback | Fernando Sahmkow | 2023-01-04 | 1 | -0/+3 |
| | |||||
* | ShaderCompiler: Inline driver specific constants. | Fernando Sahmkow | 2023-01-03 | 1 | -1/+29 |
| | |||||
* | MacroHLE: Add HLE replacement for base vertex and base instance. | Fernando Sahmkow | 2023-01-01 | 2 | -4/+43 |
| | |||||
* | shader_recompiler: add gl_Layer translation GS for older hardware | Liam | 2022-12-01 | 2 | -0/+69 |
| | |||||
* | Merge pull request #9167 from vonchenplus/tess | liamwhite | 2022-11-11 | 1 | -0/+3 |
|\ | | | | | video_core: Fix few issues in Tess stage | ||||
| * | video_core: Fix few issues in Tess stage | FengChen | 2022-11-07 | 1 | -0/+3 |
| | | |||||
* | | ir/texture_pass: Use host_info instead of querying Settings::values (#9176) | Morph | 2022-11-11 | 2 | -7/+11 |
|/ | |||||
* | video_core: Fix SNORM texture buffer emulating error (#9001) | Feng Chen | 2022-11-04 | 1 | -0/+49 |
| | |||||
* | Merge pull request #8858 from vonchenplus/mipmap | bunnei | 2022-11-04 | 2 | -0/+78 |
|\ | | | | | video_core: Generate mipmap texture by drawing | ||||
| * | Merge branch 'master' into mipmap | Feng Chen | 2022-09-20 | 1 | -5/+5 |
| |\ | |||||
| * | | video_core: Generate mipmap texture by drawing | FengChen | 2022-09-20 | 2 | -0/+78 |
| | | | |||||
* | | | Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" | Feng Chen | 2022-10-25 | 1 | -89/+9 |
| | | | |||||
* | | | General: Fix compilation for GCC | Liam White | 2022-10-06 | 1 | -1/+1 |
| | | | |||||
* | | | Shader Decompiler: implement better tracking for Vulkan samplers. | Fernando Sahmkow | 2022-10-06 | 1 | -9/+59 |
| | | | |||||
* | | | Shader Decompiler: Check for shift when deriving composite samplers. | Fernando Sahmkow | 2022-10-06 | 1 | -3/+31 |
| |/ |/| | |||||
* | | style: General style changes to match with the rest of the codebase | Morph | 2022-08-31 | 1 | -5/+5 |
|/ | |||||
* | video_code: support rectangle texture | FengChen | 2022-08-25 | 2 | -1/+29 |
| | |||||
* | GCC 12 fixes | Liam | 2022-04-28 | 1 | -1/+1 |
| | |||||
* | general: Convert source file copyright comments over to SPDX | Morph | 2022-04-23 | 13 | -39/+26 |
| | | | | | 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. | ||||
* | shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V | Liam | 2022-04-01 | 1 | -7/+2 |
| | |||||
* | dead_code_elimination_pass: Remove unreachable Phi arguments | ameerj | 2022-03-23 | 1 | -0/+27 |
| | |||||
* | shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass | ameerj | 2022-03-22 | 1 | -9/+62 |
| | | | | This adds a pass to eliminate if(false) branches within the shader code | ||||
* | shader_recompiler: Reduce unused includes | ameerj | 2022-03-20 | 6 | -12/+0 |
| | |||||
* | Address review comments | Liam | 2022-03-17 | 1 | -33/+28 |
| | |||||
* | shader_recompiler: Use functions for indirect const buffer accesses | Liam | 2022-03-17 | 1 | -0/+2 |
| | |||||
* | shader: add support for const buffer indirect addressing | Liam | 2022-03-15 | 1 | -8/+27 |
| | |||||
* | Merge pull request #8008 from ameerj/rescale-offsets-array | Fernando S | 2022-03-15 | 1 | -2/+27 |
|\ | | | | | rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets | ||||
| * | rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets | ameerj | 2022-03-12 | 1 | -2/+27 |
| | | | | | | | | | | | | 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. | ||||
* | | Shader decompiler: Fix storage tracking in deko3d. | Fernando Sahmkow | 2022-03-13 | 1 | -1/+2 |
|/ | |||||
* | lower_int64_to_int32: Add 64-bit atomic fallbacks | ameerj | 2022-01-30 | 2 | -2/+67 |
| | |||||
* | shaders: Add U64->U32x2 Atomic fallback functions | ameerj | 2022-01-30 | 1 | -0/+18 |
| | |||||
* | spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics | ameerj | 2022-01-29 | 1 | -1/+1 |
| | | | | | | 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 | ||||
* | shader: Add integer attribute get optimization pass | ameerj | 2021-12-30 | 2 | -0/+24 |
| | | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0. | ||||
* | ShaderCache: Better fix for Shuffling gl_FragCoord | Fernando Sahmkow | 2021-11-16 | 1 | -2/+13 |
| | |||||
* | Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs. | FernandoS27 | 2021-11-16 | 1 | -0/+21 |
| | |||||
* | rescaling_pass: Fix IR errors when unscalable texture types are encountered | ameerj | 2021-11-16 | 1 | -0/+28 |
| | |||||
* | rescaling_pass: Logic simplification and minor style cleanup | ameerj | 2021-11-16 | 1 | -32/+17 |
| | |||||
* | rescaling_pass: Scale ImageFetch offset if it exists | ameerj | 2021-11-16 | 1 | -59/+37 |
| | | | | Plus some code deduplication | ||||
* | rescaling_pass: Enable PatchImageQueryDimensions on fragment stages | ameerj | 2021-11-16 | 1 | -5/+4 |
| | |||||
* | gl_texture_cache/rescaling_pass: minor cleanup | ameerj | 2021-11-16 | 1 | -12/+8 |
| | |||||
* | rescaling_pass: Fix and simplify shuffle/fragcoord pass | ameerj | 2021-11-16 | 1 | -26/+20 |
| | |||||
* | Shader: Don't rescale FragCoord if used by Shuffle | Fernando Sahmkow | 2021-11-16 | 1 | -1/+52 |
| | |||||
* | RescalingPass: Agregate pixels on texelFetch while on Fragment Shader | Fernando Sahmkow | 2021-11-16 | 1 | -3/+97 |
| | |||||
* | shader: Fix TextureSize check on rescaling. | Fernando Sahmkow | 2021-11-16 | 1 | -27/+21 |
| | |||||
* | shader: Properly scale image reads and add GL SPIR-V support | ReinUsesLisp | 2021-11-16 | 2 | -2/+2 |
| | | | | Thanks for everything! | ||||
* | shader: Properly blacklist and scale image loads | ReinUsesLisp | 2021-11-16 | 1 | -3/+19 |
| | |||||
* | shader/rescaling_pass: Patch more instructions | ReinUsesLisp | 2021-11-16 | 1 | -4/+101 |
| | |||||
* | shader: Add IsTextureScaled opcode | ReinUsesLisp | 2021-11-16 | 1 | -0/+1 |
| | |||||
* | shader: Fix rescaling pass | ReinUsesLisp | 2021-11-16 | 1 | -1/+1 |
| | |||||
* | shader: Fix resolution scaling pass | ReinUsesLisp | 2021-11-16 | 3 | -34/+30 |
| | |||||
* | ShaderDecompiler: Add initial support for rescaling. | Fernando Sahmkow | 2021-11-16 | 1 | -0/+72 |
| | |||||
* | ShaderCache: Fix Phi Nodes Type on OGL. | Fernando Sahmkow | 2021-11-01 | 1 | -0/+24 |
| | |||||
* | ShaderCache: Order Phi Arguments from farthest away to nearest. | Fernando Sahmkow | 2021-10-31 | 1 | -0/+7 |
| | |||||
* | TexturePass: Fix clamping of images as this allowed negative indices. | Fernando Sahmkow | 2021-10-24 | 1 | -1/+1 |
| | |||||
* | Shader Compiler: avoid overflowed indices on indixed samplers. | Fernando Sahmkow | 2021-10-17 | 1 | -1/+2 |
| | |||||
* | Merge pull request #6767 from ReinUsesLisp/fold-float-pack | Morph | 2021-07-30 | 1 | -0/+4 |
|\ | | | | | shader: Fold UnpackFloat2x16 and PackFloat2x16 | ||||
| * | shader: Fold UnpackFloat2x16 and PackFloat2x16 | ReinUsesLisp | 2021-07-30 | 1 | -0/+4 |
| | | | | | | | | | | Simplifies the code a bit when possible. These instructions should be no-ops codegen wise. | ||||
* | | Merge pull request #6722 from ReinUsesLisp/xmad-opts | bunnei | 2021-07-30 | 1 | -14/+187 |
|\ \ | |/ |/| | shader: Fold integer FMA from Nvidia's pattern | ||||
| * | shader: Fold integer FMA from Nvidia's pattern | ReinUsesLisp | 2021-07-26 | 1 | -0/+175 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ``` | ||||
| * | shader: Use TryInstRecursive on XMAD multiply folding | ReinUsesLisp | 2021-07-26 | 1 | -14/+12 |
| | | | | | | | | Simplify a bit the logic. | ||||
* | | shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructions | ReinUsesLisp | 2021-07-28 | 1 | -0/+2 |
|/ | | | | | | 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. | ||||
* | shader: Avoid usage of C++20 ranges to build in clang | ReinUsesLisp | 2021-07-23 | 6 | -17/+12 |
| | |||||
* | shader_recompiler, video_core: Resolve clang errors | lat9nq | 2021-07-23 | 1 | -3/+3 |
| | | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors | ||||
* | glsl: Fix tracking of info.uses_shadow_lod | ameerj | 2021-07-23 | 1 | -4/+4 |
| | |||||
* | dual_vertex_pass: Clang format | ameerj | 2021-07-23 | 1 | -14/+14 |
| | |||||
* | shader: Rework varyings and implement passthrough geometry shaders | ReinUsesLisp | 2021-07-23 | 1 | -137/+65 |
| | | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's. | ||||
* | lower_int64_to_int32: Add missing include | lat9nq | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Add int64 to int32 lowering pass | ReinUsesLisp | 2021-07-23 | 2 | -0/+217 |
| | |||||
* | shader: Teach global memory base tracker to follow vectors | ReinUsesLisp | 2021-07-23 | 1 | -15/+14 |
| | |||||
* | shader: Add constant propagation to integer vectors | ReinUsesLisp | 2021-07-23 | 1 | -0/+9 |
| | |||||
* | shader: Move loop safety tests to code emission | ReinUsesLisp | 2021-07-23 | 1 | -30/+2 |
| | |||||
* | texture_pass: Fix is_read image qualification | ameerj | 2021-07-23 | 1 | -1/+1 |
| | | | | Atomic operations are considered to have both read and write access. This was not being accounted for. | ||||
* | shader: Align constant buffer sizes to 16 bytes | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | | | | WAR for AMD reading zeroes on uniform buffers of size 2. | ||||
* | shader: Properly manage attributes not written from previous stages | ReinUsesLisp | 2021-07-23 | 1 | -2/+4 |
| | |||||
* | glsl: Address rest of feedback | ameerj | 2021-07-23 | 1 | -2/+9 |
| | |||||
* | glsl: Conditionally add EXT_texture_shadow_lod | ameerj | 2021-07-23 | 1 | -1/+9 |
| | |||||
* | glsl: Implement legacy varyings | ameerj | 2021-07-23 | 1 | -1/+8 |
| | |||||
* | glsl: Fix ATOM and implement ATOMS | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | glsl: Track S32 atomics | ameerj | 2021-07-23 | 1 | -2/+8 |
| | |||||
* | glsl: Revert ssbo aliasing. Storage Atomics impl | ameerj | 2021-07-23 | 1 | -7/+2 |
| | |||||
* | glsl: Wip storage atomic ops | ameerj | 2021-07-23 | 1 | -2/+7 |
| | |||||
* | shader: Fix loop safety to SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add shader loop safety check settings | lat9nq | 2021-07-23 | 1 | -19/+47 |
| | | | | Also add a setting for enable Nsight Aftermath. | ||||
* | shader: Fix VertexA Shaders. | FernandoS27 | 2021-07-23 | 2 | -9/+16 |
| | |||||
* | buffer_cache: Reduce uniform buffer size from shader usage | ReinUsesLisp | 2021-07-23 | 1 | -3/+16 |
| | | | | Increases performance significantly on certain titles. | ||||
* | shader,glasm: Implement legacy texcoord loads | ReinUsesLisp | 2021-07-23 | 1 | -52/+18 |
| | |||||
* | shader: Track legacy varyings | ReinUsesLisp | 2021-07-23 | 1 | -13/+88 |
| | |||||
* | shader: Clang-format secondary textures | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader: Fix secondary textures | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader: Fix FSwizzleAdd folding when going through phi nodes | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | glasm: Remove unintentionally committed fmt::prints | ReinUsesLisp | 2021-07-23 | 1 | -2/+0 |
| | |||||
* | glasm: Initial implementation of phi nodes on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -5/+1 |
| | |||||
* | glasm: Rework control flow introducing a syntax list | ReinUsesLisp | 2021-07-23 | 4 | -73/+8 |
| | | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow. | ||||
* | glasm: Implement shuffle and vote instructions on GLASM | ReinUsesLisp | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Optimize NVN Fallthrough | FernandoS27 | 2021-07-23 | 1 | -7/+71 |
| | |||||
* | shader: Implement Int32 SUATOM/SURED | ameerj | 2021-07-23 | 2 | -1/+103 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -11/+9 |
| | |||||
* | shader: Implement VertexA stage | FernandoS27 | 2021-07-23 | 4 | -0/+128 |
| | |||||
* | shader: Fix BFE s32 undefined check | ameerj | 2021-07-23 | 1 | -1/+1 |
| | | | | Our unit tests were hitting this exception. | ||||
* | shader: Fix error checking in bitfieldExtract and implement bitfieldInsert folding | ReinUsesLisp | 2021-07-23 | 1 | -5/+14 |
| | |||||
* | shader: Add more strict validation the pass | ReinUsesLisp | 2021-07-23 | 1 | -0/+42 |
| | |||||
* | shader: Fix forward referencing identity instructions when inserting phi | ReinUsesLisp | 2021-07-23 | 1 | -11/+13 |
| | |||||
* | shader: Remove invalidated blocks in dead code elimination pass | ReinUsesLisp | 2021-07-23 | 1 | -3/+6 |
| | |||||
* | shader: Implement indexed textures | ReinUsesLisp | 2021-07-23 | 1 | -17/+72 |
| | |||||
* | shader: Intrusively store in a block if it's sealed or not | ReinUsesLisp | 2021-07-23 | 1 | -3/+2 |
| | |||||
* | shader: Move microinstruction header to the value header | ReinUsesLisp | 2021-07-23 | 8 | -8/+8 |
| | |||||
* | shader: Intrusively store register values in block for SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -21/+43 |
| | |||||
* | shader: Implement D3D samplers | ReinUsesLisp | 2021-07-23 | 1 | -11/+69 |
| | |||||
* | shader: Add constant propagation for arithmetic right shifts | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | 2021-07-23 | 2 | -38/+61 |
| | | | | | | | 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 | 1 | -1/+1 |
| | |||||
* | shader: Add coarse derivatives | FernandoS27 | 2021-07-23 | 2 | -8/+2 |
| | |||||
* | shader: Implement fine derivates constant propagation | FernandoS27 | 2021-07-23 | 2 | -0/+71 |
| | |||||
* | shader: Fix Phi node types | ReinUsesLisp | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | shader: Implement SampleMask | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement PIXLD.MY_INDEX | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | spirv: Implement ViewportMask with NV_viewport_array2 | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement PrimitiveId | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | 2021-07-23 | 1 | -0/+41 |
| | |||||
* | shader: Mark atomic instructions as writes | ReinUsesLisp | 2021-07-23 | 1 | -0/+27 |
| | |||||
* | spirv: Implement image buffers | ReinUsesLisp | 2021-07-23 | 1 | -1/+18 |
| | |||||
* | spirv: Implement Layer stores | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | spirv: Rework storage buffers and shader memory | ReinUsesLisp | 2021-07-23 | 1 | -5/+64 |
| | |||||
* | shader: Add constant propagation for *&^| binary operations | ReinUsesLisp | 2021-07-23 | 1 | -0/+12 |
| | |||||
* | spirv: Define StorageImageWriteWithoutFormat capability when used | ReinUsesLisp | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | shader: Implement SR_THREAD_KILL | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement ATOM/S and RED | ameerj | 2021-07-23 | 3 | -2/+201 |
| | |||||
* | spirv: Guard against typeless image reads on unsupported devices | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | shader: Move LaneId to the warp emission file and fix AMD | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement SULD and SUST | ReinUsesLisp | 2021-07-23 | 2 | -25/+69 |
| | |||||
* | shader: Address feedback + clang format | lat9nq | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 8 | -76/+80 |
| | | | | | | | | | | | | | | | | | 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: Implement texture buffers | ReinUsesLisp | 2021-07-23 | 1 | -18/+62 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 1 | -13/+9 |
| | |||||
* | shader: Implement indexed Position and ClipDistances | FernandoS27 | 2021-07-23 | 1 | -8/+18 |
| | |||||
* | shader: Implement indexed attributes | FernandoS27 | 2021-07-23 | 2 | -2/+36 |
| | |||||
* | shader: Move recursive SSA rewrite to the heap | ReinUsesLisp | 2021-07-23 | 1 | -29/+89 |
| | |||||
* | shader: Add subgroup masks | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | shader: Abstract breadth searches and use the abstraction | ReinUsesLisp | 2021-07-23 | 2 | -104/+48 |
| | |||||
* | shader: Reimplement GetCbufU64 as GetCbufU32x2 | ReinUsesLisp | 2021-07-23 | 1 | -4/+3 |
| | | | | It may generate better code on some compilers and it's easier to handle. | ||||
* | shader: Rework global memory tracking to use breadth-first search | ReinUsesLisp | 2021-07-23 | 1 | -69/+80 |
| | |||||
* | shader: Address feedback | FernandoS27 | 2021-07-23 | 2 | -12/+9 |
| | |||||
* | shader: Address Feedback | FernandoS27 | 2021-07-23 | 3 | -60/+9 |
| | |||||
* | shader: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Improve VOTE.VTG stub | FernandoS27 | 2021-07-23 | 1 | -1/+50 |
| | |||||
* | shader: Mark SSBOs as written when they are | FernandoS27 | 2021-07-23 | 1 | -2/+29 |
| | |||||
* | shader: Implement ViewportIndex | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Fold composite extract | FernandoS27 | 2021-07-23 | 1 | -0/+62 |
| | |||||
* | shader: Fold comparisons and Pack/Unpack16 | FernandoS27 | 2021-07-23 | 1 | -1/+41 |
| | |||||
* | shader: Fix constant propagation to use reverse post order | ReinUsesLisp | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | shader: Implement ClipDistance | FernandoS27 | 2021-07-23 | 1 | -0/+10 |
| | |||||
* | shader: Implement ImageGradient | FernandoS27 | 2021-07-23 | 2 | -1/+15 |
| | |||||
* | shader,spirv: Implement ImageQueryLod. | FernandoS27 | 2021-07-23 | 2 | -1/+7 |
| | |||||
* | shader: Implement TLD | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Add PointCoord attribute | FernandoS27 | 2021-07-23 | 1 | -0/+4 |
| | |||||
* | shader: Add PointSize attribute | ameerj | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement FSWZADD | ameerj | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement BRX | FernandoS27 | 2021-07-23 | 1 | -1/+20 |
| | |||||
* | shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Better interpolation and disabled attributes support | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Implement front face | ReinUsesLisp | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement TXQ and fix FragDepth | ReinUsesLisp | 2021-07-23 | 2 | -5/+18 |
| | |||||
* | shader: Refactor PTP and other minor changes | ReinUsesLisp | 2021-07-23 | 1 | -20/+2 |
| | |||||
* | shader: Add IR opcode for ImageFetch | FernandoS27 | 2021-07-23 | 1 | -0/+5 |
| | |||||
* | shader: Implement TLD4.PTP | FernandoS27 | 2021-07-23 | 1 | -0/+18 |
| | |||||
* | shader: Implement TLD4 and TLD4_B | FernandoS27 | 2021-07-23 | 3 | -1/+29 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Track first bindless argument instead of the instruction itself | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Fix F2I | FernandoS27 | 2021-07-23 | 2 | -0/+4 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Fold interpolation multiplications | ReinUsesLisp | 2021-07-23 | 1 | -0/+34 |
| | |||||
* | shader: Implement DMNMX, DSET, DSETP | ameerj | 2021-07-23 | 2 | -2/+9 |
| | |||||
* | shader: Implement F2F | FernandoS27 | 2021-07-23 | 1 | -1/+3 |
| | |||||
* | shader: Add missing fp64 usage flags | ReinUsesLisp | 2021-07-23 | 1 | -0/+34 |
| | |||||
* | shader: Add support for fp16 comparisons and misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -0/+18 |
| | |||||
* | shader: Fix floating point comparison for FP16 | FernandoS27 | 2021-07-23 | 1 | -0/+24 |
| | |||||
* | spirv: Implement VertexId and InstanceId, refactor code | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement I2F | ReinUsesLisp | 2021-07-23 | 2 | -0/+44 |
| | |||||
* | shader: Add partial rasterizer integration | ReinUsesLisp | 2021-07-23 | 2 | -5/+57 |
| | |||||
* | shader: Reorder phi nodes when redefined as undefined opcodes | ReinUsesLisp | 2021-07-23 | 1 | -1/+9 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 10 | -57/+44 |
| | |||||
* | shader: Implement FCMP | ameerj | 2021-07-23 | 1 | -1/+13 |
| | | | | still need to configure some settings for NV denorm flush and intel NaN | ||||
* | shader: Partial implementation of LDC | ReinUsesLisp | 2021-07-23 | 4 | -15/+146 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 4 | -9/+226 |
| | |||||
* | shader: Implement HADD2 | ReinUsesLisp | 2021-07-23 | 2 | -1/+11 |
| | |||||
* | shader: Implement SEL | ameerj | 2021-07-23 | 1 | -4/+8 |
| | |||||
* | shader: Avoid infinite recursion when tracking global memory | ReinUsesLisp | 2021-07-23 | 1 | -5/+26 |
| | |||||
* | shader: FMUL, select, RRO, and MUFU fixes | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 2 | -7/+65 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 4 | -7/+103 |
| | |||||
* | shader: Add XMAD multiplication folding optimization | ReinUsesLisp | 2021-07-23 | 1 | -5/+77 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 4 | -61/+210 |
| | |||||
* | shader: Fix tracking | ReinUsesLisp | 2021-07-23 | 1 | -50/+72 |
| | |||||
* | shader: Add support for forward declarations | ReinUsesLisp | 2021-07-23 | 1 | -2/+2 |
| | |||||
* | shader: Support SSA loops on IR | ReinUsesLisp | 2021-07-23 | 3 | -17/+55 |
| | |||||
* | shader: Misc fixes | ReinUsesLisp | 2021-07-23 | 2 | -70/+70 |
| | |||||
* | shader: Initial implementation of an AST | ReinUsesLisp | 2021-07-23 | 3 | -3/+75 |
| | |||||
* | spirv: Initial SPIR-V support | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Better constant folding | ReinUsesLisp | 2021-07-23 | 1 | -12/+47 |
| | |||||
* | shader: Properly store phi on Inst | ReinUsesLisp | 2021-07-23 | 1 | -10/+12 |
| | |||||
* | shader: Add pools and rename files | ReinUsesLisp | 2021-07-23 | 1 | -14/+14 |
| | |||||
* | shader: Make typed IR | ReinUsesLisp | 2021-07-23 | 2 | -10/+31 |
| | |||||
* | shader: Remove illegal character in SSA pass | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Constant propagation and global memory to storage buffer | ReinUsesLisp | 2021-07-23 | 6 | -36/+573 |
| | |||||
* | shader: Initial instruction support | ReinUsesLisp | 2021-07-23 | 2 | -88/+0 |
| | |||||
* | shader: SSA and dominance | ReinUsesLisp | 2021-07-23 | 3 | -1/+164 |
| | |||||
* | shader: Initial recompiler work | ReinUsesLisp | 2021-07-23 | 5 | -0/+213 |