Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | 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 | 1 | -0/+1 |
| | | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0. | ||||
* | shader: Properly scale image reads and add GL SPIR-V support | ReinUsesLisp | 2021-11-16 | 1 | -0/+1 |
| | | | | Thanks for everything! | ||||
* | shader: Add IsTextureScaled opcode | ReinUsesLisp | 2021-11-16 | 1 | -0/+1 |
| | |||||
* | shader: Fix resolution scaling pass | ReinUsesLisp | 2021-11-16 | 1 | -0/+3 |
| | |||||
* | 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. | ||||
* | glsl: Fix tracking of info.uses_shadow_lod | ameerj | 2021-07-23 | 1 | -4/+4 |
| | |||||
* | 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. | ||||
* | 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: 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 |
| | |||||
* | 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 |
| | |||||
* | 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 | 1 | -0/+36 |
| | |||||
* | shader: Move microinstruction header to the value header | ReinUsesLisp | 2021-07-23 | 1 | -1/+1 |
| | |||||
* | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | 2021-07-23 | 1 | -0/+53 |
| | | | | | | | 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 | 1 | -0/+2 |
| | |||||
* | shader: Implement fine derivates constant propagation | FernandoS27 | 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 |
| | |||||
* | 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 |
| | |||||
* | 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 | 1 | -0/+70 |
| | |||||
* | 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 | 1 | -2/+1 |
| | |||||
* | shader_recompiler,video_core: Cleanup some GCC and Clang errors | lat9nq | 2021-07-23 | 1 | -10/+10 |
| | | | | | | | | | | | | | | | | | 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: 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 | 1 | -1/+35 |
| | |||||
* | shader: Add subgroup masks | ReinUsesLisp | 2021-07-23 | 1 | -0/+7 |
| | |||||
* | 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: Implement SR_LaneId | FernandoS27 | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | shader: Implement ViewportIndex | FernandoS27 | 2021-07-23 | 1 | -0/+3 |
| | |||||
* | shader: Implement ClipDistance | FernandoS27 | 2021-07-23 | 1 | -0/+10 |
| | |||||
* | shader: Implement ImageGradient | FernandoS27 | 2021-07-23 | 1 | -1/+10 |
| | |||||
* | shader,spirv: Implement ImageQueryLod. | FernandoS27 | 2021-07-23 | 1 | -1/+2 |
| | |||||
* | 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 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 | 1 | -1/+2 |
| | |||||
* | shader: Implement TLD4 and TLD4_B | FernandoS27 | 2021-07-23 | 1 | -1/+7 |
| | |||||
* | shader: Implement SHFL | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Fix F2I | FernandoS27 | 2021-07-23 | 1 | -0/+2 |
| | |||||
* | shader: Implement VOTE | ameerj | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement DMNMX, DSET, DSETP | ameerj | 2021-07-23 | 1 | -0/+1 |
| | |||||
* | 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 | 1 | -0/+16 |
| | |||||
* | spirv: Implement VertexId and InstanceId, refactor code | ReinUsesLisp | 2021-07-23 | 1 | -0/+6 |
| | |||||
* | shader: Implement I2F | ReinUsesLisp | 2021-07-23 | 1 | -0/+28 |
| | |||||
* | shader: Add partial rasterizer integration | ReinUsesLisp | 2021-07-23 | 1 | -4/+56 |
| | |||||
* | shader: Implement CAL inlining function calls | ReinUsesLisp | 2021-07-23 | 1 | -5/+3 |
| | |||||
* | 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 | 1 | -7/+128 |
| | |||||
* | shader: Initial support for textures and TEX | ReinUsesLisp | 2021-07-23 | 1 | -0/+19 |
| | |||||
* | shader: Add denorm flush support | ReinUsesLisp | 2021-07-23 | 1 | -6/+65 |
| | |||||
* | spirv: Add lower fp16 to fp32 pass | ReinUsesLisp | 2021-07-23 | 1 | -1/+17 |
| | |||||
* | spirv: Initial bindings support | ReinUsesLisp | 2021-07-23 | 1 | -0/+81 |