summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J4-18/+19
2023-11-18shader_recompiler: add byteswap pattern workaround for NvidiaAmeer J1-0/+1
2023-11-01shader_recompiler: Align SSBO offsets to meet host requirementsAmeer J1-1/+1
Co-Authored-By: Billy Laws <blaws05@gmail.com>
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 Sahmkow5-5/+9
2023-06-10shader_recompiler: translate f64 to f32 when unsupported on hostLiam1-0/+3
2023-06-10shader_recompiler: remove barriers in conditional control flow when device lacks supportLiam1-0/+3
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-02-04shader_recompiler/value.h: Remove lingering references to S32ameerj1-11/+0
2023-01-30Move to Clang Format 15Levi Behunin2-8/+8
Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj4-12/+16
2023-01-26shader_recompiler: Remove S32 IR typeameerj6-27/+15
The frontend IR opcodes do not distinguish between signed and unsigned integer types. Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-07Revert "shader_recompiler: Align SSBO offsets to meet host requirements"Liam1-1/+1
This reverts commit 8804a4eb23e0c4f3e4bab03dee7c204bd38bf21e.
2023-01-07Avoid OOB array access reading passthrough attr maskBilly Laws1-1/+1
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-05Run clang-formatBilly Laws1-13/+19
2023-01-05shader_recompiler: Add support for lowering geometry passthroughBilly Laws1-40/+66
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05shader_recompiler: Align SSBO offsets to meet host requirementsBilly Laws1-1/+1
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-04Video_core: Address feedbackFernando Sahmkow2-0/+3
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow5-1/+19
2022-12-01shader_recompiler: add gl_Layer translation GS for older hardwareLiam2-0/+90
2022-11-30value.h: remove recursive includeameerj1-1/+0
2022-11-23general: fix compile for Apple ClangLiam5-3/+8
2022-11-11ir/texture_pass: Use host_info instead of querying Settings::values (#9176)Morph1-1/+1
2022-11-07video_core: Fix few issues in Tess stageFengChen5-5/+8
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen6-15/+38
2022-10-25Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass"Feng Chen2-9/+0
2022-10-17Address feedbackFengChen1-6/+6
2022-10-06Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Fernando Sahmkow1-3/+3
2022-09-20video_core: Fix legacy to generic location unpairedFengChen1-15/+24
2022-09-20video_core: Generate mipmap texture by drawingFengChen4-0/+14
2022-08-25video_code: support rectangle textureFengChen2-0/+7
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-06-14general: fix compilation on GCC 12Liam1-1/+1
2022-06-14structured_control_flow: Remove constexpr Flow::Blocklat9nq1-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.
2022-05-14general: Avoid ambiguous format_to compilation errorsLioncash2-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.
2022-04-23general: Convert source file copyright comments over to SPDXMorph137-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.
2022-04-02fix: typosAndrea Pappacoda2-2/+2
2022-03-23dead_code_elimination_pass: Remove unreachable Phi argumentsameerj2-0/+9
2022-03-20general: Fix clang/gcc build errorsameerj1-0/+1
2022-03-20shader_recompiler: Reduce unused includesameerj32-47/+7
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-13Shader decompiler: do constant propgation before texture pass.Fernando Sahmkow1-2/+2
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-30lower_int64_to_int32: Add 64-bit atomic fallbacksameerj1-9/+9
2022-01-30shaders: Add U64->U32x2 Atomic fallback functionsameerj2-0/+38
2022-01-27video_minimum_maximum: Implement src operand selectorsameerj1-12/+6
Used by Pokemon Legends: Arceus
2022-01-25shader_recompiler: Remove unnecessary [[nodiscard]]Lioncash1-2/+1
Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function.
2022-01-10logging/log.h: move enum class formatter to a separate file ...liushuyu1-2/+2
... to common/logging/formatter.h
2022-01-08logging: adapt to changes in fmt 8.1liushuyu1-2/+2
2021-12-30shader: Add integer attribute get optimization passameerj1-0/+1
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-18Address format clangvonchenplus1-36/+36
2021-12-18Remove spirv handle legacy related codevonchenplus1-1/+1
2021-11-19Implement convert legacy to genericFeng Chen3-0/+101
2021-11-16rescaling_pass: Logic simplification and minor style cleanupameerj1-1/+0
2021-11-16Shader: Don't rescale FragCoord if used by ShuffleFernando Sahmkow1-1/+3
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp3-0/+6
Thanks for everything!
2021-11-16spirv: Implement rescaling patchingReinUsesLisp1-0/+3
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp3-0/+9
2021-11-16shader: Add copy constructor to instructionsReinUsesLisp4-1/+20
2021-11-16shader: Add integer division opcodesReinUsesLisp3-0/+7
2021-11-16shader: Add resolution down factor opcodeReinUsesLisp3-0/+7
2021-11-01ShaderCache: Fix Phi Nodes Type on OGL.Fernando Sahmkow1-0/+4
2021-10-31ShaderCache: Order Phi Arguments from farthest away to nearest.Fernando Sahmkow4-0/+30
2021-09-07Move attribute related definitions to spirv anonymous namespaceFeng Chen2-25/+0
2021-09-06Implement intput and output fixed fnc texturesFeng Chen1-0/+2
2021-09-03Rename parametersFeng Chen2-5/+15
2021-08-31Add colorfront and txtcoord supportFeng Chen2-0/+13
2021-08-30structured_control_flow: Skip reordering nested demote branches.ameerj1-0/+11
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
2021-08-30structured_control_flow: Conditionally invoke demote reorder passameerj3-8/+13
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-28structured_control_flow: Add DemoteCombinationPassameerj1-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
2021-07-26shader_recompiler: Remove unnecessary [[nodiscard]] instancesLioncash2-4/+4
[[nodiscard]] doesn't do anything on functions with a void return type and causes superfluous warnings.
2021-07-26control_flow: Fix duplicate switch case in OpcodeTokenLioncash1-1/+1
This previously duplicated the case of the PBK case above it.
2021-07-26shader: Add TryInstRecursive utility to valuesReinUsesLisp1-0/+8
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: Avoid usage of C++20 ranges to build in clangReinUsesLisp3-18/+23
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq8-29/+23
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-23shader: Manually convert from array<u32> to bitset instead of using bit_castReinUsesLisp1-2/+3
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj1-14/+14
2021-07-23shader: GCC fmt 8.0.0 fixeslat9nq1-1/+1
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: Use std::bit_cast instead of Common::BitCast for passthroughReinUsesLisp1-2/+3
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp3-8/+17
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23shader: Only verify shader when graphics debugging is enabledReinUsesLisp1-2/+7
2021-07-23shader: Emulate 64-bit integers when not supportedReinUsesLisp1-0/+3
Useful for mobile and Intel Xe devices.
2021-07-23shader: Remove IAbs64ReinUsesLisp3-11/+3
2021-07-23shader_recompiler: Fix IADD3 input partitioningameerj1-14/+13
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp4-46/+4
2021-07-23shader: Calibrate loop safety thresholdReinUsesLisp1-1/+1
2021-07-23shader: Simplify MergeDualVertexProgramsReinUsesLisp1-6/+4
2021-07-23shader: Properly manage attributes not written from previous stagesReinUsesLisp1-1/+3
2021-07-23shader: Add support for native 16-bit floatsReinUsesLisp2-4/+7
2021-07-23shader: Rename maxwell/program.h to translate_program.hReinUsesLisp2-7/+2
2021-07-23shader: Fix loop safety to SSA passReinUsesLisp1-1/+3
2021-07-23shader: Add loggingReinUsesLisp4-7/+7
2021-07-23shader: Add shader loop safety check settingslat9nq4-6/+55
Also add a setting for enable Nsight Aftermath.
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: Fix VertexA Shaders.FernandoS271-5/+14
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: Always initialize up reference in structure control flowReinUsesLisp1-31/+36
Fixes ubsan issue.
2021-07-23shader: Fix ImageWrite indexingReinUsesLisp1-1/+1
2021-07-23shader: Fix TMML queriesReinUsesLisp1-5/+9
2021-07-23shader: Handle host exceptionsReinUsesLisp3-5/+11
2021-07-23Revert "glasm: Skip phi moves on undefined instructions"ReinUsesLisp1-13/+0
Causes regressions on Bowser's Fury.
2021-07-23glasm: Skip phi moves on undefined instructionsReinUsesLisp1-0/+13
2021-07-23video_core,shader: Clang-format fixesReinUsesLisp2-2/+2
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp5-11/+16
Fixes the identity removal pass.
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp4-22/+17
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23shader_recompiler: GCC fixeslat9nq4-33/+30
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-23shader: Use a non-trivial dummy to construct ASL node unionReinUsesLisp1-1/+6
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp6-10/+28
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp19-344/+312
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 I2FReinUsesLisp3-35/+42
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp1-0/+6
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp1-0/+6
2021-07-23shader: ISET.X implementationameerj1-8/+58
2021-07-23shader: Optimize NVN FallthroughFernandoS271-2/+5
2021-07-23shader: Stub SR_AFFINITYFernandoS271-0/+3
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj8-5/+393
2021-07-23shader: Initial OpenGL implementationReinUsesLisp3-0/+12
2021-07-23shader: Address feedbackFernandoS273-24/+24
2021-07-23shader: Implement VertexA stageFernandoS274-0/+32
2021-07-23shader: Implement delegation of Exit to dispatcher on CFGFernandoS272-3/+47
2021-07-23shader: Fix IADD3.CCameerj1-12/+5
2021-07-23shader: Fix VMNMX selector BReinUsesLisp1-1/+2
2021-07-23shader: Remove identity removal pass for better build timesReinUsesLisp1-1/+0
2021-07-23shader: Add missing UndoUse case for GetSparseFromOpReinUsesLisp1-0/+4
2021-07-23shader: Simplify code in opcodes.h to fix IntellisenseReinUsesLisp1-8/+6
Avoid using std::array to fix Intellisense not properly compiling this code and disabling itself on all files that include it. While we are at it, change the code to use u8 instead of size_t for the number of instructions in an opcode.
2021-07-23shader: Implement indexed texturesReinUsesLisp2-20/+21
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: Fix gcc warningsReinUsesLisp2-2/+2
2021-07-23shader: Inline common Value gettersReinUsesLisp2-109/+102
2021-07-23shader: Intrusively store in a block if it's sealed or notReinUsesLisp1-0/+9
2021-07-23shader: Improve goto removal algorithm complexityReinUsesLisp1-49/+28
Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
2021-07-23shader: Use memset to reset instruction argumentsReinUsesLisp2-4/+7
2021-07-23shader: Inline common Value functions into the headerReinUsesLisp2-19/+23
2021-07-23shader: Move microinstruction header to the value headerReinUsesLisp8-169/+153
2021-07-23shader: Move siblings check to a separate function and comment them outReinUsesLisp1-16/+21
2021-07-23shader: Intrusively store register values in block for SSA passReinUsesLisp1-0/+10
2021-07-23shader: Inline common Opcode and Inst functionsReinUsesLisp4-112/+83
2021-07-23shader: Inline common IR::Block methodsReinUsesLisp2-17/+12
2021-07-23shader: Use a small_vector for phi blocksReinUsesLisp1-1/+2
2021-07-23shader: Calculate number of arguments in an opcode at compile timeReinUsesLisp1-3/+12
2021-07-23shader: Simplify code for local memoryReinUsesLisp1-6/+11
2021-07-23shader: Add NVN storage buffer fallbacksReinUsesLisp1-0/+43
When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime.
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: Add coarse derivativesFernandoS273-0/+14
2021-07-23shader: Implement fine derivates constant propagationFernandoS273-0/+14
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS274-0/+8
2021-07-23shader: Fix Phi node typesReinUsesLisp1-4/+0
2021-07-23shader: Fix memory barriersReinUsesLisp6-50/+23
2021-07-23shader: Implement BFE and BFI CCameerj2-12/+16
Fix two bugs in BFI.
2021-07-23shader: Implement SampleMaskReinUsesLisp5-1/+8
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp5-4/+52
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp13-33/+259
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp2-0/+9
2021-07-23shader: Document and relax cache control on surface instructionsReinUsesLisp1-10/+11
2021-07-23shader: Implement geometry shadersReinUsesLisp6-19/+48
2021-07-23shader: Implement OUTReinUsesLisp7-17/+62
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: Mark blocks with no end branch as unreachableReinUsesLisp1-2/+7
2021-07-23shader: Implement LOP CCReinUsesLisp1-3/+11
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp4-0/+9
2021-07-23shader: Apply sign bit in FCMP (imm)ReinUsesLisp1-1/+1
2021-07-23shader: Implement ATOM/S and REDameerj7-13/+706
2021-07-23shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp1-1/+1
2021-07-23shader: Mark ImageWrite with side effectsReinUsesLisp1-0/+3
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 SUSTReinUsesLisp14-68/+365
2021-07-23shader: Fix Windows build issuesReinUsesLisp1-1/+1
2021-07-23shader: Address feedback + clang formatlat9nq6-15/+15
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq45-206/+184
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 dangling labelsReinUsesLisp1-0/+5
2021-07-23shader: Fix F2IReinUsesLisp1-1/+1
2021-07-23shader: Address feedbackFernandoS273-20/+25
2021-07-23shader: Implement indexed attributesFernandoS274-14/+37
2021-07-23shader: Implement AL2PFernandoS272-4/+35
2021-07-23shader: Fix BRX trackingFernandoS272-3/+4
2021-07-23shader: Fix splits on blocks using indirect branchesReinUsesLisp3-17/+38
2021-07-23shader: Eliminate orphan blocks more efficientlyReinUsesLisp1-7/+8
2021-07-23shader: Add subgroup masksReinUsesLisp4-35/+105
2021-07-23shader: Implement BAR and fix memory barriersReinUsesLisp5-2/+66
2021-07-23shader: Abstract breadth searches and use the abstractionReinUsesLisp1-0/+57
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp4-12/+12
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: Fix undetected bug from reviewFernandoS271-0/+3
2021-07-23shader: Address feedbackFernandoS271-1/+7
2021-07-23shader: "Implement" NOPFernandoS271-1/+1
2021-07-23shader: Address FeedbackFernandoS277-80/+25
2021-07-23shader: Implement SR_LaneIdFernandoS274-0/+9
2021-07-23shader: Implement MEMBARFernandoS276-11/+78
2021-07-23shader: Improve VOTE.VTG stubFernandoS274-3/+57
2021-07-23shader: Stub VOTE.VTGFernandoS274-4/+15
2021-07-23shader: Fix branches to visited virtual blocksReinUsesLisp1-0/+10
2021-07-23shader: Implement LDG .U.128 as .128ReinUsesLisp1-3/+2
2021-07-23shader: Unroll "using enum" for opcode declarationsReinUsesLisp1-1/+27
2021-07-23shader: Fix TXDFernandoS271-1/+1
2021-07-23shader: Address feedbackFernandoS273-37/+33
2021-07-23shader: Always pass a lod for TexelFetchReinUsesLisp3-25/+17
2021-07-23shader: Implement TXDFernandoS273-10/+182
2021-07-23shader: Implement ImageGradientFernandoS274-0/+15
2021-07-23shader: Implement TMML partiallyFernandoS274-11/+134
2021-07-23shader,spirv: Implement ImageQueryLod.FernandoS273-0/+11
2021-07-23shader: Implement TLDSFernandoS272-4/+252
2021-07-23shader: Implement TLDFernandoS274-13/+170
2021-07-23shader: Store type of phi nodes in flagsReinUsesLisp2-1/+9
This is needed because pseudo-instructions where invalidated.
2021-07-23shader: Fix indirect branches to scheduler instructionsReinUsesLisp3-7/+17
2021-07-23shader: Add missing new linesReinUsesLisp1-0/+2
2021-07-23shader: Implement FSWZADDameerj7-4/+55
2021-07-23shader: Implement BRXFernandoS2714-44/+347
2021-07-23shader: Fix alignment checks on RZReinUsesLisp1-1/+1
2021-07-23shader: Implement I2I CCameerj1-3/+4
2021-07-23shader: Implement I2I SATameerj4-10/+42
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 availableReinUsesLisp8-16/+277
2021-07-23shader: Implement ISCADD CCameerj1-1/+4
2021-07-23shader: Implement VMAD, VMNMX, VSETPameerj8-23/+314
2021-07-23shader: Add missing I2I exception when CC is usedReinUsesLisp1-0/+4
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp2-9/+36
2021-07-23spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2-0/+5
2021-07-23shader: Fix structured control flow on KIL instructionsReinUsesLisp2-3/+7
This could potentially leave unvisited blocks, leading to illegal phi nodes.
2021-07-23shader: Fix TXQFernandoS271-1/+1
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp5-8/+86
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp7-46/+19
2021-07-23shader: Add IR opcode for ImageFetchFernandoS273-2/+15
2021-07-23shader: Implement TLD4.PTPFernandoS278-19/+52
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_BFernandoS277-10/+237
2021-07-23shader: Implement SHFLameerj8-8/+124
2021-07-23shader: Properly insert Prologue instructionReinUsesLisp1-1/+2
2021-07-23shader: Minor style nitsReinUsesLisp1-2/+4
2021-07-23shader: Fix F2IFernandoS276-5/+124
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp5-1/+23
2021-07-23shader: Implement VOTEameerj5-4/+79
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, DSETPameerj8-39/+169
2021-07-23shader: Implement FADD32IFernandoS271-2/+15
2021-07-23shader: Implement F2FFernandoS274-19/+188
2021-07-23shader: Implement DMUL and DFMAameerj7-30/+109
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 fixesReinUsesLisp7-14/+28
2021-07-23shader: Fix floating point comparison for FP16FernandoS274-32/+32
2021-07-23shader: Implement HSETP2FernandoS272-12/+116
2021-07-23shader: Implement HSET2FernandoS274-14/+118
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 I2FReinUsesLisp9-69/+315
2021-07-23shader: Implement ISCADD (imm)ReinUsesLisp1-2/+2
2021-07-23shader: Implement LOP32IReinUsesLisp2-18/+45
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp19-51/+212
2021-07-23shader: Implement DADDameerj6-14/+129
2021-07-23shader: Implement CSET and CSETPameerj5-15/+113
2021-07-23shader: Fix instruction transitions in and out of PhiReinUsesLisp1-9/+11
2021-07-23shader: Implement FSET and FSETPameerj7-92/+198
Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
2021-07-23shader: Implement TEXSReinUsesLisp6-5/+275
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp11-254/+232
2021-07-23shader: Implement FMNMXameerj5-13/+88
And add a const in FCMP
2021-07-23shader: Fix rebase issueReinUsesLisp1-1/+0
2021-07-23shader: Implement FCMPameerj5-49/+184
still need to configure some settings for NV denorm flush and intel NaN
2021-07-23shader: Partial implementation of LDCReinUsesLisp6-10/+128
2021-07-23shader: Initial support for textures and TEXReinUsesLisp13-315/+772
2021-07-23shader: Implement R2Pameerj4-12/+74
2021-07-23shader: Implement SHFameerj5-22/+99
2021-07-23shader: Implement LEAameerj5-26/+122
2021-07-23shader: Deduplicate HADD2 codeReinUsesLisp1-19/+16
2021-07-23shader: Implement I2Iameerj2-12/+99
2021-07-23shader: Implement HADD2ReinUsesLisp6-23/+290
2021-07-23shader: Implement LOP and LOP3ameerj7-31/+225
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 FLOameerj5-15/+61
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 IMNMXameerj5-12/+84
2021-07-23shader: Implement BFIameerj2-16/+56
2021-07-23shader: Implement BFEameerj2-12/+66
2021-07-23shader: Implement POPCameerj5-12/+48
2021-07-23shader: Implement SHRameerj5-12/+68
2021-07-23shader: Implement SELameerj2-12/+44
2021-07-23shader: Fix conditional execution of exit instructionsReinUsesLisp2-5/+6
2021-07-23shader: Fix control flowReinUsesLisp8-20/+39
2021-07-23shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp3-22/+70
2021-07-23shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp13-66/+277
2021-07-23shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2-5/+5
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp3-12/+9
2021-07-23shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp12-45/+111
2021-07-23shader: Add denorm flush supportReinUsesLisp4-33/+49
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp9-55/+97
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp7-24/+30
2021-07-23shader: Simplify ISCADDReinUsesLisp1-6/+1
2021-07-23shader: Add utility to resolve identities on a valueReinUsesLisp2-0/+8
2021-07-23spirv: Initial bindings supportReinUsesLisp3-3/+22
2021-07-23shader: Improve object poolReinUsesLisp1-5/+5
2021-07-23shader: Add support for forward declarationsReinUsesLisp6-13/+27
2021-07-23shader: Support SSA loops on IRReinUsesLisp4-4/+70
2021-07-23shader: Misc fixesReinUsesLisp5-13/+17
2021-07-23shader: Initial implementation of an ASTReinUsesLisp21-535/+1152
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp3-19/+15
2021-07-23shader: Better constant foldingReinUsesLisp1-1/+1
2021-07-23shader: Properly store phi on InstReinUsesLisp4-59/+115
2021-07-23shader: Add pools and rename filesReinUsesLisp25-87/+113
2021-07-23shader: Make typed IRReinUsesLisp16-258/+463
2021-07-23shader: Constant propagation and global memory to storage bufferReinUsesLisp10-27/+77
2021-07-23shader: Initial instruction supportReinUsesLisp24-243/+1437
2021-07-23shader: SSA and dominanceReinUsesLisp19-74/+401
2021-07-23shader: Initial recompiler workReinUsesLisp45-0/+6582