summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/ir (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-07video_core: Fix few issues in Tess stageFengChen4-3/+7
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-09-20video_core: Generate mipmap texture by drawingFengChen3-0/+12
2022-08-25video_code: support rectangle textureFengChen2-0/+7
2022-05-14general: Avoid ambiguous format_to compilation errorsLioncash1-1/+1
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 SPDXMorph29-87/+58
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-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 includesameerj5-8/+0
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-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-18Remove spirv handle legacy related codevonchenplus1-1/+1
2021-11-19Implement convert legacy to genericFeng Chen1-0/+2
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp3-0/+6
Thanks for everything!
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 Sahmkow3-0/+28
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-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-26shader: Add TryInstRecursive utility to valuesReinUsesLisp1-0/+8
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq1-1/+2
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj1-14/+14
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2-0/+7
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23shader: Remove IAbs64ReinUsesLisp3-11/+3
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp3-13/+0
2021-07-23shader: Add loggingReinUsesLisp1-1/+1
2021-07-23shader: Add shader loop safety check settingslat9nq3-2/+17
Also add a setting for enable Nsight Aftermath.
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 instructionReinUsesLisp4-5/+13
Fixes the identity removal pass.
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp2-10/+6
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-23shader_recompiler: GCC fixeslat9nq2-8/+5
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 GLASMReinUsesLisp5-7/+25
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp14-225/+151
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 I2FReinUsesLisp2-34/+36
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp1-0/+6
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp1-0/+6
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj4-0/+186
2021-07-23shader: Initial OpenGL implementationReinUsesLisp2-0/+5
2021-07-23shader: Implement VertexA stageFernandoS272-0/+2
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: Fix gcc warningsReinUsesLisp1-1/+1
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: 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 headerReinUsesLisp7-168/+152
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: Add coarse derivativesFernandoS273-0/+14
2021-07-23shader: Implement fine derivates constant propagationFernandoS273-0/+14
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS273-0/+6
2021-07-23shader: Fix Phi node typesReinUsesLisp1-4/+0
2021-07-23shader: Fix memory barriersReinUsesLisp5-30/+13
2021-07-23shader: Implement SampleMaskReinUsesLisp4-0/+7
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp3-0/+6
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp10-20/+232
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp2-0/+9
2021-07-23shader: Implement geometry shadersReinUsesLisp4-12/+26
2021-07-23shader: Implement OUTReinUsesLisp4-0/+15
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp3-0/+7
2021-07-23shader: Implement ATOM/S and REDameerj4-1/+374
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 SULD and SUSTReinUsesLisp4-9/+27
2021-07-23shader: Address feedback + clang formatlat9nq1-1/+1
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq11-26/+24
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: Address feedbackFernandoS272-4/+4
2021-07-23shader: Implement indexed attributesFernandoS272-0/+11
2021-07-23shader: Add subgroup masksReinUsesLisp3-0/+30
2021-07-23shader: Implement BAR and fix memory barriersReinUsesLisp4-0/+10
2021-07-23shader: Abstract breadth searches and use the abstractionReinUsesLisp1-0/+57
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp3-6/+6
It may generate better code on some compilers and it's easier to handle.
2021-07-23shader: Fix undetected bug from reviewFernandoS271-0/+3
2021-07-23shader: Address feedbackFernandoS271-1/+7
2021-07-23shader: Address FeedbackFernandoS274-68/+18
2021-07-23shader: Implement SR_LaneIdFernandoS273-0/+7
2021-07-23shader: Implement MEMBARFernandoS274-0/+22
2021-07-23shader: Improve VOTE.VTG stubFernandoS273-2/+53
2021-07-23shader: Stub VOTE.VTGFernandoS271-0/+7
2021-07-23shader: Unroll "using enum" for opcode declarationsReinUsesLisp1-1/+27
2021-07-23shader: Fix TXDFernandoS271-1/+1
2021-07-23shader: Always pass a lod for TexelFetchReinUsesLisp1-3/+3
2021-07-23shader: Implement ImageGradientFernandoS274-0/+15
2021-07-23shader: Implement TMML partiallyFernandoS272-3/+4
2021-07-23shader,spirv: Implement ImageQueryLod.FernandoS273-0/+11
2021-07-23shader: Implement TLDFernandoS271-3/+3
2021-07-23shader: Store type of phi nodes in flagsReinUsesLisp2-1/+9
This is needed because pseudo-instructions where invalidated.
2021-07-23shader: Add missing new linesReinUsesLisp1-0/+2
2021-07-23shader: Implement FSWZADDameerj3-0/+6
2021-07-23shader: Implement BRXFernandoS274-0/+20
2021-07-23shader: Fix alignment checks on RZReinUsesLisp1-1/+1
2021-07-23shader: Implement I2I SATameerj3-0/+12
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp5-0/+78
2021-07-23shader: Implement VMAD, VMNMX, VSETPameerj2-10/+13
2021-07-23spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp1-0/+2
2021-07-23shader: Fix structured control flow on KIL instructionsReinUsesLisp1-0/+1
This could potentially leave unvisited blocks, leading to illegal phi nodes.
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp3-0/+10
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp6-31/+6
2021-07-23shader: Add IR opcode for ImageFetchFernandoS273-2/+15
2021-07-23shader: Implement TLD4.PTPFernandoS276-5/+36
2021-07-23shader: Implement TLD4 and TLD4_BFernandoS274-0/+26
2021-07-23shader: Implement SHFLameerj5-2/+53
2021-07-23shader: Fix F2IFernandoS273-0/+22
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp4-0/+17
2021-07-23shader: Implement VOTEameerj3-0/+27
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj2-0/+3
2021-07-23shader: Implement F2FFernandoS272-7/+8
2021-07-23shader: Add support for fp16 comparisons and misc fixesReinUsesLisp3-7/+24
2021-07-23shader: Implement I2FReinUsesLisp3-55/+117
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp8-8/+34
2021-07-23shader: Implement DADDameerj2-0/+9
2021-07-23shader: Implement CSET and CSETPameerj3-7/+59
2021-07-23shader: Fix instruction transitions in and out of PhiReinUsesLisp1-9/+11
2021-07-23shader: Implement TEXSReinUsesLisp3-1/+13
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp6-802/+10
2021-07-23shader: Implement FMNMXameerj2-0/+30
And add a const in FCMP
2021-07-23shader: Fix rebase issueReinUsesLisp1-1/+0
2021-07-23shader: Implement FCMPameerj3-33/+68
still need to configure some settings for NV denorm flush and intel NaN
2021-07-23shader: Partial implementation of LDCReinUsesLisp3-2/+31
2021-07-23shader: Initial support for textures and TEXReinUsesLisp9-305/+537
2021-07-23shader: Implement R2Pameerj2-0/+3
2021-07-23shader: Implement SHFameerj3-6/+22
2021-07-23shader: Implement LEAameerj3-6/+22
2021-07-23shader: Implement HADD2ReinUsesLisp3-6/+105
2021-07-23shader: Implement FLOameerj3-3/+15
2021-07-23shader: Implement IMNMXameerj3-0/+25
2021-07-23shader: Implement POPCameerj3-0/+12
2021-07-23shader: Implement SHRameerj3-0/+6
2021-07-23shader: Fix control flowReinUsesLisp5-16/+35
2021-07-23shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp3-28/+184
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-3/+0
2021-07-23shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp2-10/+10
2021-07-23shader: Add denorm flush supportReinUsesLisp3-29/+34
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp6-39/+47
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp2-1/+3
2021-07-23shader: Add utility to resolve identities on a valueReinUsesLisp2-0/+8
2021-07-23spirv: Initial bindings supportReinUsesLisp2-0/+18
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 IRReinUsesLisp3-0/+62
2021-07-23shader: Misc fixesReinUsesLisp3-9/+13
2021-07-23shader: Initial implementation of an ASTReinUsesLisp11-58/+914
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp2-14/+10
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 filesReinUsesLisp10-24/+73
2021-07-23shader: Make typed IRReinUsesLisp7-212/+389
2021-07-23shader: Constant propagation and global memory to storage bufferReinUsesLisp9-25/+73
2021-07-23shader: Initial instruction supportReinUsesLisp8-65/+398
2021-07-23shader: SSA and dominanceReinUsesLisp11-19/+178
2021-07-23shader: Initial recompiler workReinUsesLisp21-0/+3027