summaryrefslogtreecommitdiff
path: root/src/shader_recompiler
AgeCommit message (Collapse)Author
2022-10-22CMakeLists: Disable C4100 and C4324Morph
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22CMakeLists: Remove redundant warningsMorph
These warnings are already included in /W3.
2022-10-22CMakeLists: Treat MSVC warnings as errorsMorph
2022-10-22general: Enforce C4800 everywhere except in video_coreMorph
2022-10-22CMakeLists: Remove all redundant warningsMorph
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-06General: Fix compilation for GCCLiam White
2022-10-06Shader Decompiler: implement better tracking for Vulkan samplers.Fernando Sahmkow
2022-10-06Shader Decompiler: Check for shift when deriving composite samplers.Fernando Sahmkow
2022-10-06Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Fernando Sahmkow
2022-10-02shader_recompiler: add extended LDC to GLASM backendLiam
2022-09-23chore: fix some typosAndrea Pappacoda
Fix some typos reported by Lintian
2022-08-31style: General style changes to match with the rest of the codebaseMorph
2022-08-25video_code: support rectangle textureFengChen
2022-07-29Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.Kelebek1
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-06-14Merge pull request #8383 from Morph1984/shadow-of-the-pastMai
yuzu: Make variable shadowing a compile-time error
2022-06-13general: fix compilation on GCC 12Liam
2022-06-13structured_control_flow: Remove constexpr Flow::Blocklat9nq
This seems to be unsupported in newer libstdc++ versions due to Flow::Block's base class being a non-literal type. It's not clear to me why this was permitted in earlier versions.
2022-06-13CMakeLists: Make variable shadowing a compile-time errorMorph
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-05-14general: Avoid ambiguous format_to compilation errorsLioncash
Ensures that we're using the fmt version of format_to. These are also the only three outliers. All of the other formatters we have are properly qualified.
2022-04-28GCC 12 fixesLiam
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-04-07Merge pull request #8133 from liamwhite/gl-spv-cbufFernando S
shader_recompiler: support const buffer indirect addressing on OpenGL
2022-04-04shader_recompiler: Decrease indirect cbuf limit to match hardwareLiam
2022-04-02fix: typosAndrea Pappacoda
2022-04-01shader_compiler: support const buffer indirect addressing in GLSLLiam
2022-04-01shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-VLiam
2022-03-27Merge pull request #8095 from bylaws/masterMai M
shader_recompiler: Include <bit> header when std::count{r,l}_zero is used
2022-03-23dead_code_elimination_pass: Remove unreachable Phi argumentsameerj
2022-03-22Include <bit> header when std::count{r,l}_zero is usedBilly Laws
Needed for compilation with older libc++ releases
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