aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler
AgeCommit message (Collapse)Author
2022-03-23dead_code_elimination_pass: Remove unreachable Phi argumentsameerj
2022-03-22shader_recompiler/dead_code_elimination: Add DeadBranchElimination passameerj
This adds a pass to eliminate if(false) branches within the shader code
2022-03-21Merge pull request #8038 from liamwhite/exit-register-detectionAmeer J
shader_recompiler/EXIT: increment output register on failed enable test
2022-03-20general: Fix clang/gcc build errorsameerj
2022-03-20shader_recompiler: Reduce unused includesameerj
2022-03-18Address review commentsLiam
2022-03-18shader_recompiler/EXIT: skip render targets with no outputsLiam
2022-03-17shader_recompiler/EXIT: increment output register on failed enable testLiam
2022-03-17Address review commentsLiam
2022-03-17shader_recompiler: Use functions for indirect const buffer accessesLiam
2022-03-17Address review commentsLiam
2022-03-16shader_recompiler: Implement LDC.IS address modeLiam
2022-03-14shader: add support for const buffer indirect addressingLiam
2022-03-15Merge pull request #8008 from ameerj/rescale-offsets-arrayFernando S
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
2022-03-13Shader decompiler: do constant propgation before texture pass.Fernando Sahmkow
2022-03-13Shader decompiler: Fix storage tracking in deko3d.Fernando Sahmkow
2022-03-12rescaling_pass: Fix rescaling Color2DArray ImageFetch offsetsameerj
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-03-12emit_spirv, vk_compute_pass: Resolve VS2022 compiler errorsameerj
2022-03-08shader_recompiler/LOP3: Use brute force python results within switch/case.Markus Wick
Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more. The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik. Performance results: Instructions 0: 8 1: 30 2: 114 3: 80 4: 24 Latency 0: 8 1: 30 2: 194 3: 24
2022-01-29emit_glsl_atomic: Implement 32x2 fallback atomic opsameerj
2022-01-29lower_int64_to_int32: Add 64-bit atomic fallbacksameerj
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
2022-01-28Merge pull request #7786 from ameerj/vmnmx-selMorph
video_minimum_maximum: Implement src operand selectors
2022-01-28emit_spirv: Add Xfb execution mode when transform feedback is usedameerj
Fixes Transform Feedback on Vulkan AMD drivers.
2022-01-27video_minimum_maximum: Implement src operand selectorsameerj
Used by Pokemon Legends: Arceus
2022-01-25shader_recompiler: Remove unnecessary [[nodiscard]]Lioncash
Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function.
2022-01-17shader_recompiler: fix potential OOB accessv1993
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
2022-01-09logging/log.h: move enum class formatter to a separate file ...liushuyu
... to common/logging/formatter.h
2022-01-08logging: adapt to changes in fmt 8.1liushuyu
2022-01-04glsl: Remove unreachable returnNarr the Reg
2022-01-04ShaderDecompiler: Add a debug option to dump the game's shaders.Fernando Sahmkow
2022-01-03Merge pull request #7629 from ameerj/nv-driver-fixesFernando S
shaders: Add fixes for NVIDIA drivers 495+
2021-12-29glsl: Add boolean reference workaroundameerj
2021-12-29glsl_context_get_set: Add alternative cbuf type for broken driversameerj
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29emit_glsl_integer: Use negation work aroundameerj
2021-12-29shader: Add integer attribute get optimization passameerj
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-28Merge pull request #7618 from goldenx86/patch-4bunnei
Increase boost requirement to 1.78.0
2021-12-28Empty spacesMatías Locatti
2021-12-28Changes to avoid warnings in SSE4.2 optimized SPIR-VMatías Locatti
2021-12-24emit_glasm_context_get_set: Fix GetAttribute return value type.ameerj
GetAttribute expects an F32 result type at the IR level, this fixes the return value of attributes which were not returning an F32
2021-12-24emit_glsl_floating_point: Fix FPNeg on newer Nvidia driversameerj
2021-12-18Address format clangvonchenplus
2021-12-18Remove spirv handle legacy related codevonchenplus
2021-12-18Remove glsl handle legacy related codevonchenplus
2021-12-18Merge branch 'yuzu-emu:master' into convert_legacyFeng Chen
2021-12-07Merge pull request #7522 from ameerj/shader-recompiler-filenamesMai M
shader_recompiler/backend: Minor organization and refactoring to reduce compile time overhead
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-12-05glasm: Move implemented instructions from not_implemented.cppameerj
2021-12-05shader_recompiler: Adjust emit_context includesameerj