summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell/translate (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J1-14/+15
2023-08-27Shader Recompiler: Auto stub special registers and dump pipelines on exception.Fernando Sahmkow1-1/+2
2023-08-19Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagationFernando Sahmkow4-5/+8
2023-05-26shader_recompiler: fix copy-paste errorLiam1-1/+1
2023-05-11Fix Tears of the Kingdom flickering clouds and depths.Kelebek11-6/+1
2023-02-14remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistencyarades793-4/+4
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14add static lifetime to constexpr values to force compile time evaluation where possiblearades793-4/+4
Signed-off-by: arades79 <scravers@protonmail.com>
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj1-3/+5
2022-11-23general: fix compile for Apple ClangLiam1-3/+4
2022-11-07video_core: Fix few issues in Tess stageFengChen1-2/+1
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda1-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
2022-04-23general: Convert source file copyright comments over to SPDXMorph93-279/+186
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-02fix: typosAndrea Pappacoda2-2/+2
2022-03-20shader_recompiler: Reduce unused includesameerj20-29/+2
2022-03-18shader_recompiler/EXIT: skip render targets with no outputsLiam1-0/+3
2022-03-18shader_recompiler/EXIT: increment output register on failed enable testLiam1-0/+1
2022-03-16shader_recompiler: Implement LDC.IS address modeLiam1-2/+12
2022-03-08shader_recompiler/LOP3: Use brute force python results within switch/case.Markus Wick2-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
2022-01-27video_minimum_maximum: Implement src operand selectorsameerj1-12/+6
Used by Pokemon Legends: Arceus
2021-07-23shader: Support out of bound local memory reads and immediate writesReinUsesLisp1-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.
2021-07-23shader: Implement ISETP.Xameerj4-44/+57
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq5-20/+19
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-23shader: Account for 33-bit IADD3 scenarioameerj1-2/+10
2021-07-23shader: Only apply shift on register mode for IADD3ReinUsesLisp1-10/+14
2021-07-23shader_recompiler: Fix IADD3 input partitioningameerj1-14/+13
2021-07-23shader: Add loggingReinUsesLisp3-6/+6
2021-07-23shader: Comment why the array component is not read in TMMLReinUsesLisp1-0/+2
2021-07-23tmml: Remove index component from coords vecameerj1-4/+3
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
2021-07-23shader: Add 2D and 3D variants to SUATOM and SUREDReinUsesLisp1-0/+4
Used by Claybook.
2021-07-23shader: Avoid CPU side undefined behavior on I2FReinUsesLisp1-0/+2
2021-07-23shader: Add support for "negative" and unaligned offsetsReinUsesLisp1-2/+2
"Negative" offsets don't exist. They are shown as such due to a bug in nvdisasm. Unaligned offsets have been proved to read the aligned offset. For example, when reading an U32, if the offset is 6, the offset read will be 4.
2021-07-23shader: Implement ISCADD32IReinUsesLisp1-17/+31
2021-07-23shader: Fix ImageWrite indexingReinUsesLisp1-1/+1
2021-07-23shader: Fix TMML queriesReinUsesLisp1-5/+9
2021-07-23shader: Handle host exceptionsReinUsesLisp1-4/+9
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp2-12/+11
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp2-5/+4
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23shader: Add floating-point rounding to I2FReinUsesLisp1-1/+6
2021-07-23shader: ISET.X implementationameerj1-8/+58
2021-07-23shader: Stub SR_AFFINITYFernandoS271-0/+3
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj3-4/+205
2021-07-23shader: Initial OpenGL implementationReinUsesLisp1-0/+7
2021-07-23shader: Fix IADD3.CCameerj1-12/+5
2021-07-23shader: Fix VMNMX selector BReinUsesLisp1-1/+2
2021-07-23shader: Refactor atomic_operations_global_memoryameerj1-44/+36
2021-07-23shader: add missing include guard in half_floating_point_helper.hameerj1-0/+2
2021-07-23shader: Simplify code for local memoryReinUsesLisp1-6/+11
2021-07-23shader: Address feedbackFernandoS272-7/+10
2021-07-23shader: Implement F2F (Imm)FernandoS271-2/+28
2021-07-23shader: Implement IADD3.CC/.XFernandoS271-7/+22
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS271-0/+2
2021-07-23shader: Fix memory barriersReinUsesLisp1-20/+10
2021-07-23shader: Implement BFE and BFI CCameerj2-12/+16
Fix two bugs in BFI.
2021-07-23shader: Implement SampleMaskReinUsesLisp1-1/+1
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp2-4/+46
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2-13/+22
2021-07-23shader: Document and relax cache control on surface instructionsReinUsesLisp1-10/+11
2021-07-23shader: Implement geometry shadersReinUsesLisp1-6/+10
2021-07-23shader: Implement OUTReinUsesLisp3-17/+47
2021-07-23internal_stage_buffer_entry_read: Remove pragma optimize offlat9nq1-2/+0
2021-07-23shader: Stub SR_INVOCATION_INFOReinUsesLisp1-2/+5
2021-07-23shader: Stub ISBERDReinUsesLisp2-4/+55
2021-07-23shader: Fix CC in I2IReinUsesLisp1-0/+2
2021-07-23shader: Simplify FLO and throw on CCReinUsesLisp1-12/+13
2021-07-23shader: Implement LOP CCReinUsesLisp1-3/+11
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp1-0/+2
2021-07-23shader: Apply sign bit in FCMP (imm)ReinUsesLisp1-1/+1
2021-07-23shader: Implement ATOM/S and REDameerj3-12/+332
2021-07-23shader: Implement CC for ISET, FSET, PSET, CSET, and DSETFernandoS2718-13/+136
Throw when other instructions are missing CC.
2021-07-23shader: Remove outdated comment in F2IReinUsesLisp1-4/+0
2021-07-23shader: Implement SULD and SUSTReinUsesLisp10-59/+338
2021-07-23shader: Fix Windows build issuesReinUsesLisp1-1/+1
2021-07-23shader: Address feedback + clang formatlat9nq2-3/+3
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq30-87/+90
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>
2021-07-23shader: Fix FCMP immediate variantReinUsesLisp1-1/+9
2021-07-23shader: Fix F2IReinUsesLisp1-1/+1
2021-07-23shader: Address feedbackFernandoS271-16/+21
2021-07-23shader: Implement indexed attributesFernandoS271-13/+25
2021-07-23shader: Implement AL2PFernandoS272-4/+35
2021-07-23shader: Add subgroup masksReinUsesLisp1-35/+75
2021-07-23shader: Implement BAR and fix memory barriersReinUsesLisp1-2/+56
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp1-6/+6
It may generate better code on some compilers and it's easier to handle.
2021-07-23shader: Remove unused header in VOTEReinUsesLisp1-2/+0
2021-07-23shader: Fix fp16 merge when using native fp16ReinUsesLisp1-3/+3
2021-07-23shader: Fix FADD32IReinUsesLisp1-6/+4
2021-07-23shader: "Implement" NOPFernandoS271-1/+1
2021-07-23shader: Address FeedbackFernandoS273-12/+7
2021-07-23shader: Implement SR_LaneIdFernandoS271-0/+2
2021-07-23shader: Implement MEMBARFernandoS272-11/+56
2021-07-23shader: Improve VOTE.VTG stubFernandoS271-1/+4
2021-07-23shader: Stub VOTE.VTGFernandoS273-4/+8
2021-07-23shader: Implement LDG .U.128 as .128ReinUsesLisp1-3/+2
2021-07-23shader: Address feedbackFernandoS273-37/+33
2021-07-23shader: Always pass a lod for TexelFetchReinUsesLisp2-22/+14
2021-07-23shader: Implement TXDFernandoS272-8/+180
2021-07-23shader: Implement TMML partiallyFernandoS272-8/+130
2021-07-23shader: Implement TLDSFernandoS272-4/+252
2021-07-23shader: Implement TLDFernandoS272-8/+165
2021-07-23shader: Implement FSWZADDameerj4-4/+49
2021-07-23shader: Implement BRXFernandoS274-34/+78
2021-07-23shader: Implement I2I CCameerj1-3/+4
2021-07-23shader: Implement I2I SATameerj1-10/+30
2021-07-23shader: Fix ISCADD logic for PO/CCameerj1-7/+8
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2-16/+197
2021-07-23shader: Implement ISCADD CCameerj1-1/+4
2021-07-23shader: Implement VMAD, VMNMX, VSETPameerj6-13/+301
2021-07-23shader: Add missing I2I exception when CC is usedReinUsesLisp1-0/+4
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp1-9/+1
2021-07-23shader: Fix TXQFernandoS271-1/+1
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp2-8/+76
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp1-15/+13
2021-07-23shader: Implement TLD4.PTPFernandoS272-14/+16
2021-07-23shader: Fix Array Indices in TEX/TLD4FernandoS272-6/+6
2021-07-23shader: Implement FragDepthFernandoS271-1/+1
2021-07-23shader: Implement TLD4S.FernandoS272-4/+133
2021-07-23shader: Implement TLD4 and TLD4_BFernandoS272-8/+209
2021-07-23shader: Implement SHFLameerj3-6/+71
2021-07-23shader: Minor style nitsReinUsesLisp1-2/+4
2021-07-23shader: Fix F2IFernandoS273-5/+102
2021-07-23shader: Implement VOTEameerj2-4/+52
2021-07-23shader: Fix TEX maskReinUsesLisp1-1/+3
2021-07-23shader: Better but still partial interpolation supportReinUsesLisp1-5/+7
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj5-37/+164
2021-07-23shader: Implement FADD32IFernandoS271-2/+15
2021-07-23shader: Implement F2FFernandoS272-12/+180
2021-07-23shader: Implement DMUL and DFMAameerj6-29/+108
Also add a missing const on DADD
2021-07-23shader: Add FP64 register load/store helpersameerj3-21/+24
2021-07-23shader: Add support for fp16 comparisons and misc fixesReinUsesLisp4-7/+4
2021-07-23shader: Fix floating point comparison for FP16FernandoS274-32/+32
2021-07-23shader: Implement HSETP2FernandoS272-12/+116
2021-07-23shader: Implement HSET2FernandoS273-12/+116
2021-07-23shader: Implement HMUL2FernandoS272-16/+143
2021-07-23shader: Implement HFMA2FernandoS274-20/+191
2021-07-23shader: Refactor half floating instructionsFernandoS273-58/+82
2021-07-23shader: Implement I2FReinUsesLisp6-14/+198
2021-07-23shader: Implement ISCADD (imm)ReinUsesLisp1-2/+2
2021-07-23shader: Implement LOP32IReinUsesLisp2-18/+45
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp7-34/+134
2021-07-23shader: Implement DADDameerj4-14/+120
2021-07-23shader: Implement CSET and CSETPameerj2-8/+54
2021-07-23shader: Implement FSET and FSETPameerj7-92/+198
Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
2021-07-23shader: Implement TEXSReinUsesLisp3-4/+262
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp2-3/+3
2021-07-23shader: Implement FMNMXameerj3-13/+58
And add a const in FCMP
2021-07-23shader: Implement FCMPameerj2-16/+116
still need to configure some settings for NV denorm flush and intel NaN
2021-07-23shader: Partial implementation of LDCReinUsesLisp3-8/+97
2021-07-23shader: Initial support for textures and TEXReinUsesLisp2-8/+232
2021-07-23shader: Implement R2Pameerj2-12/+71
2021-07-23shader: Implement SHFameerj2-16/+77
2021-07-23shader: Implement LEAameerj2-20/+100
2021-07-23shader: Deduplicate HADD2 codeReinUsesLisp1-19/+16
2021-07-23shader: Implement I2Iameerj2-12/+99
2021-07-23shader: Implement HADD2ReinUsesLisp3-17/+185
2021-07-23shader: Implement LOP and LOP3ameerj6-29/+223
2021-07-23shader: Implement IADD3ameerj2-12/+103
2021-07-23shader: Implement PSETPameerj3-4/+38
2021-07-23Implement PSET, refactor common comparison funcsameerj8-101/+87
2021-07-23shader: Implement FLOameerj2-12/+46
2021-07-23shader: Implement ISET, add common_funcsameerj7-50/+147
2021-07-23shader: Make IMNMX, SHR, SEL stylistically more consistentameerj3-5/+5
2021-07-23shader: Implement ICMPameerj2-16/+83
2021-07-23shader: Implement IMNMXameerj2-12/+59
2021-07-23shader: Implement BFIameerj2-16/+56
2021-07-23shader: Implement BFEameerj2-12/+66
2021-07-23shader: Implement POPCameerj2-12/+36
2021-07-23shader: Implement SHRameerj2-12/+62
2021-07-23shader: Implement SELameerj2-12/+44
2021-07-23shader: Fix control flowReinUsesLisp2-3/+3
2021-07-23shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp3-22/+70
2021-07-23shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp10-38/+93
2021-07-23shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2-5/+5
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-6/+9
2021-07-23shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp9-34/+100
2021-07-23shader: Add denorm flush supportReinUsesLisp1-4/+15
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp2-16/+48
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp4-22/+26
2021-07-23shader: Simplify ISCADDReinUsesLisp1-6/+1
2021-07-23shader: Misc fixesReinUsesLisp2-4/+4
2021-07-23shader: Initial implementation of an ASTReinUsesLisp3-17/+9
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp1-5/+5
2021-07-23shader: Add pools and rename filesReinUsesLisp8-10/+14
2021-07-23shader: Make typed IRReinUsesLisp9-46/+74
2021-07-23shader: Initial instruction supportReinUsesLisp15-178/+1038
2021-07-23shader: SSA and dominanceReinUsesLisp2-5/+5
2021-07-23shader: Initial recompiler workReinUsesLisp11-0/+2012