summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_code: support rectangle textureGravatar FengChen2022-08-252-0/+7
|
* chore: make yuzu REUSE compliantGravatar Andrea Pappacoda2022-07-271-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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
* general: fix compilation on GCC 12Gravatar Liam2022-06-131-1/+1
|
* structured_control_flow: Remove constexpr Flow::BlockGravatar lat9nq2022-06-131-6/+0
| | | | | | 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.
* general: Avoid ambiguous format_to compilation errorsGravatar Lioncash2022-05-142-2/+2
| | | | | | | 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.
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-23137-411/+274
| | | | | 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.
* fix: typosGravatar Andrea Pappacoda2022-04-022-2/+2
|
* dead_code_elimination_pass: Remove unreachable Phi argumentsGravatar ameerj2022-03-232-0/+9
|
* Merge pull request #8038 from liamwhite/exit-register-detectionGravatar Ameer J2022-03-211-0/+4
|\ | | | | shader_recompiler/EXIT: increment output register on failed enable test
| * shader_recompiler/EXIT: skip render targets with no outputsGravatar Liam2022-03-181-0/+3
| |
| * shader_recompiler/EXIT: increment output register on failed enable testGravatar Liam2022-03-171-0/+1
| |
* | general: Fix clang/gcc build errorsGravatar ameerj2022-03-201-0/+1
| |
* | shader_recompiler: Reduce unused includesGravatar ameerj2022-03-2032-47/+7
|/
* shader_recompiler: Implement LDC.IS address modeGravatar Liam2022-03-161-2/+12
|
* Shader decompiler: do constant propgation before texture pass.Gravatar Fernando Sahmkow2022-03-131-2/+2
|
* shader_recompiler/LOP3: Use brute force python results within switch/case.Gravatar Markus Wick2022-03-082-52/+620
| | | | | | | | | | | | | | | | | | | | | 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
* lower_int64_to_int32: Add 64-bit atomic fallbacksGravatar ameerj2022-01-291-9/+9
|
* shaders: Add U64->U32x2 Atomic fallback functionsGravatar ameerj2022-01-292-0/+38
|
* video_minimum_maximum: Implement src operand selectorsGravatar ameerj2022-01-271-12/+6
| | | | Used by Pokemon Legends: Arceus
* shader_recompiler: Remove unnecessary [[nodiscard]]Gravatar Lioncash2022-01-251-2/+1
| | | | | Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function.
* shader: Add integer attribute get optimization passGravatar ameerj2021-12-291-0/+1
| | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
* Address format clangGravatar vonchenplus2021-12-181-36/+36
|
* Remove spirv handle legacy related codeGravatar vonchenplus2021-12-181-1/+1
|
* Implement convert legacy to genericGravatar Feng Chen2021-11-193-0/+101
|
* rescaling_pass: Logic simplification and minor style cleanupGravatar ameerj2021-11-161-1/+0
|
* Shader: Don't rescale FragCoord if used by ShuffleGravatar Fernando Sahmkow2021-11-161-1/+3
|
* shader: Properly scale image reads and add GL SPIR-V supportGravatar ReinUsesLisp2021-11-163-0/+6
| | | | Thanks for everything!
* spirv: Implement rescaling patchingGravatar ReinUsesLisp2021-11-161-0/+3
|
* shader: Add IsTextureScaled opcodeGravatar ReinUsesLisp2021-11-163-0/+9
|
* shader: Add copy constructor to instructionsGravatar ReinUsesLisp2021-11-164-1/+20
|
* shader: Add integer division opcodesGravatar ReinUsesLisp2021-11-163-0/+7
|
* shader: Add resolution down factor opcodeGravatar ReinUsesLisp2021-11-163-0/+7
|
* ShaderCache: Fix Phi Nodes Type on OGL.Gravatar Fernando Sahmkow2021-11-011-0/+4
|
* ShaderCache: Order Phi Arguments from farthest away to nearest.Gravatar Fernando Sahmkow2021-10-314-0/+30
|
* structured_control_flow: Skip reordering nested demote branches.Gravatar ameerj2021-08-301-0/+11
| | | | Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
* structured_control_flow: Conditionally invoke demote reorder passGravatar ameerj2021-08-303-8/+13
| | | | This is only needed on select drivers when a fragment shader discards/demotes.
* structured_control_flow: Add DemoteCombinationPassGravatar ameerj2021-08-281-1/+107
| | | | | Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program. Fixes "wireframe" issue in Pokemon SwSh on some drivers
* Merge pull request #6722 from ReinUsesLisp/xmad-optsGravatar bunnei2021-07-291-0/+8
|\ | | | | shader: Fold integer FMA from Nvidia's pattern
| * shader: Add TryInstRecursive utility to valuesGravatar ReinUsesLisp2021-07-261-0/+8
| |
* | Merge pull request #6724 from lioncash/nodisc-shaderGravatar Rodrigo Locatti2021-07-262-4/+4
|\ \ | | | | | | shader_recompiler: Remove unnecessary [[nodiscard]] instances
| * | shader_recompiler: Remove unnecessary [[nodiscard]] instancesGravatar Lioncash2021-07-262-4/+4
| |/ | | | | | | | | [[nodiscard]] doesn't do anything on functions with a void return type and causes superfluous warnings.
* / control_flow: Fix duplicate switch case in OpcodeTokenGravatar Lioncash2021-07-261-1/+1
|/ | | | This previously duplicated the case of the PBK case above it.
* shader: Support out of bound local memory reads and immediate writesGravatar ReinUsesLisp2021-07-221-4/+21
| | | | | | | | | Support ignoring immediate out of bound writes. Writing dynamically out of bounds is not yet supported (e.g. R0+0x4). Reading out of bounds yields zero. This is supported checking for the size from the IR; if the input is immediate, the optimization passes will drop it.
* shader: Implement ISETP.XGravatar ameerj2021-07-224-44/+57
|
* shader: Avoid usage of C++20 ranges to build in clangGravatar ReinUsesLisp2021-07-223-18/+23
|
* shader_recompiler, video_core: Resolve clang errorsGravatar lat9nq2021-07-228-29/+23
| | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
* shader: Manually convert from array<u32> to bitset instead of using bit_castGravatar ReinUsesLisp2021-07-221-2/+3
|
* shader: Ignore global memory ops on devices lacking int64 supportGravatar ameerj2021-07-221-14/+14
|
* shader: GCC fmt 8.0.0 fixesGravatar lat9nq2021-07-221-1/+1
|
* shader: Account for 33-bit IADD3 scenarioGravatar ameerj2021-07-221-2/+10
|