aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp
AgeCommit message (Collapse)Author
2023-06-03video_core: Enable support_descriptor_aliasing on Turnip, disable storage ↵bunnei
atomic otherwise.
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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-03-22Include <bit> header when std::count{r,l}_zero is usedBilly Laws
Needed for compilation with older libc++ releases
2022-01-29shaders: Add U64->U32x2 Atomic fallback functionsameerj
2022-01-28spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomicsameerj
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-05emit_spirv: Reduce emit_spirv.h include overheadameerj
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22Move SPIR-V emission functions to their own headerReinUsesLisp
2021-07-22spirv: Replace Constant/ConstantComposite with Const helperameerj
2021-07-22spirv: Fix non-atomic 64-bit storeameerj
2021-07-22spirv: Rework storage buffers and shader memoryReinUsesLisp
2021-07-22shader: Implement ATOM/S and REDameerj