summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader: Refactor atomic_operations_global_memoryameerj2021-07-231-44/+36
|
* shader: add missing include guard in half_floating_point_helper.hameerj2021-07-231-0/+2
|
* shader: Fix gcc warningsReinUsesLisp2021-07-232-2/+2
|
* shader: Inline common Value gettersReinUsesLisp2021-07-232-109/+102
|
* shader: Intrusively store in a block if it's sealed or notReinUsesLisp2021-07-231-0/+9
|
* shader: Improve goto removal algorithm complexityReinUsesLisp2021-07-231-49/+28
| | | | | Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
* shader: Use memset to reset instruction argumentsReinUsesLisp2021-07-232-4/+7
|
* shader: Inline common Value functions into the headerReinUsesLisp2021-07-232-19/+23
|
* shader: Move microinstruction header to the value headerReinUsesLisp2021-07-238-169/+153
|
* shader: Move siblings check to a separate function and comment them outReinUsesLisp2021-07-231-16/+21
|
* shader: Intrusively store register values in block for SSA passReinUsesLisp2021-07-231-0/+10
|
* shader: Inline common Opcode and Inst functionsReinUsesLisp2021-07-234-112/+83
|
* shader: Inline common IR::Block methodsReinUsesLisp2021-07-232-17/+12
|
* shader: Use a small_vector for phi blocksReinUsesLisp2021-07-231-1/+2
|
* shader: Calculate number of arguments in an opcode at compile timeReinUsesLisp2021-07-231-3/+12
|
* shader: Simplify code for local memoryReinUsesLisp2021-07-231-6/+11
|
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-231-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.
* shader: Address feedbackFernandoS272021-07-232-7/+10
|
* shader: Implement F2F (Imm)FernandoS272021-07-231-2/+28
|
* shader: Implement IADD3.CC/.XFernandoS272021-07-231-7/+22
|
* shader: Add coarse derivativesFernandoS272021-07-233-0/+14
|
* shader: Implement fine derivates constant propagationFernandoS272021-07-233-0/+14
|
* shader: Implement SR_Y_DIRECTIONFernandoS272021-07-234-0/+8
|
* shader: Fix Phi node typesReinUsesLisp2021-07-231-4/+0
|
* shader: Fix memory barriersReinUsesLisp2021-07-236-50/+23
|
* shader: Implement BFE and BFI CCameerj2021-07-232-12/+16
| | | | Fix two bugs in BFI.
* shader: Implement SampleMaskReinUsesLisp2021-07-235-1/+8
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-235-4/+52
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-2313-33/+259
|
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-232-0/+9
|
* shader: Document and relax cache control on surface instructionsReinUsesLisp2021-07-231-10/+11
|
* shader: Implement geometry shadersReinUsesLisp2021-07-236-19/+48
|
* shader: Implement OUTReinUsesLisp2021-07-237-17/+62
|
* internal_stage_buffer_entry_read: Remove pragma optimize offlat9nq2021-07-231-2/+0
|
* shader: Stub SR_INVOCATION_INFOReinUsesLisp2021-07-231-2/+5
|
* shader: Stub ISBERDReinUsesLisp2021-07-232-4/+55
|
* shader: Fix CC in I2IReinUsesLisp2021-07-231-0/+2
|
* shader: Simplify FLO and throw on CCReinUsesLisp2021-07-231-12/+13
|
* shader: Mark blocks with no end branch as unreachableReinUsesLisp2021-07-231-2/+7
|
* shader: Implement LOP CCReinUsesLisp2021-07-231-3/+11
|
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-234-0/+9
|
* shader: Apply sign bit in FCMP (imm)ReinUsesLisp2021-07-231-1/+1
|
* shader: Implement ATOM/S and REDameerj2021-07-237-13/+706
|
* shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp2021-07-231-1/+1
|
* shader: Mark ImageWrite with side effectsReinUsesLisp2021-07-231-0/+3
|
* shader: Implement CC for ISET, FSET, PSET, CSET, and DSETFernandoS272021-07-2318-13/+136
| | | | Throw when other instructions are missing CC.
* shader: Remove outdated comment in F2IReinUsesLisp2021-07-231-4/+0
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-2314-68/+365
|
* shader: Fix Windows build issuesReinUsesLisp2021-07-231-1/+1
|
* shader: Address feedback + clang formatlat9nq2021-07-236-15/+15
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-2345-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>
* shader: Fix FCMP immediate variantReinUsesLisp2021-07-231-1/+9
|
* shader: Fix dangling labelsReinUsesLisp2021-07-231-0/+5
|
* shader: Fix F2IReinUsesLisp2021-07-231-1/+1
|
* shader: Address feedbackFernandoS272021-07-233-20/+25
|
* shader: Implement indexed attributesFernandoS272021-07-234-14/+37
|
* shader: Implement AL2PFernandoS272021-07-232-4/+35
|
* shader: Fix BRX trackingFernandoS272021-07-232-3/+4
|
* shader: Fix splits on blocks using indirect branchesReinUsesLisp2021-07-233-17/+38
|
* shader: Eliminate orphan blocks more efficientlyReinUsesLisp2021-07-231-7/+8
|
* shader: Add subgroup masksReinUsesLisp2021-07-234-35/+105
|
* shader: Implement BAR and fix memory barriersReinUsesLisp2021-07-235-2/+66
|
* shader: Abstract breadth searches and use the abstractionReinUsesLisp2021-07-231-0/+57
|
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-234-12/+12
| | | | It may generate better code on some compilers and it's easier to handle.
* shader: Remove unused header in VOTEReinUsesLisp2021-07-231-2/+0
|
* shader: Fix fp16 merge when using native fp16ReinUsesLisp2021-07-231-3/+3
|
* shader: Fix FADD32IReinUsesLisp2021-07-231-6/+4
|
* shader: Fix undetected bug from reviewFernandoS272021-07-231-0/+3
|
* shader: Address feedbackFernandoS272021-07-231-1/+7
|
* shader: "Implement" NOPFernandoS272021-07-231-1/+1
|
* shader: Address FeedbackFernandoS272021-07-237-80/+25
|
* shader: Implement SR_LaneIdFernandoS272021-07-234-0/+9
|
* shader: Implement MEMBARFernandoS272021-07-236-11/+78
|
* shader: Improve VOTE.VTG stubFernandoS272021-07-234-3/+57
|
* shader: Stub VOTE.VTGFernandoS272021-07-234-4/+15
|
* shader: Fix branches to visited virtual blocksReinUsesLisp2021-07-231-0/+10
|
* shader: Implement LDG .U.128 as .128ReinUsesLisp2021-07-231-3/+2
|
* shader: Unroll "using enum" for opcode declarationsReinUsesLisp2021-07-231-1/+27
|
* shader: Fix TXDFernandoS272021-07-231-1/+1
|
* shader: Address feedbackFernandoS272021-07-233-37/+33
|
* shader: Always pass a lod for TexelFetchReinUsesLisp2021-07-233-25/+17
|
* shader: Implement TXDFernandoS272021-07-233-10/+182
|
* shader: Implement ImageGradientFernandoS272021-07-234-0/+15
|
* shader: Implement TMML partiallyFernandoS272021-07-234-11/+134
|
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-233-0/+11
|
* shader: Implement TLDSFernandoS272021-07-232-4/+252
|
* shader: Implement TLDFernandoS272021-07-234-13/+170
|
* shader: Store type of phi nodes in flagsReinUsesLisp2021-07-232-1/+9
| | | | This is needed because pseudo-instructions where invalidated.
* shader: Fix indirect branches to scheduler instructionsReinUsesLisp2021-07-233-7/+17
|
* shader: Add missing new linesReinUsesLisp2021-07-231-0/+2
|
* shader: Implement FSWZADDameerj2021-07-237-4/+55
|
* shader: Implement BRXFernandoS272021-07-2314-44/+347
|
* shader: Fix alignment checks on RZReinUsesLisp2021-07-231-1/+1
|
* shader: Implement I2I CCameerj2021-07-231-3/+4
|
* shader: Implement I2I SATameerj2021-07-234-10/+42
|
* shader: Fix ISCADD logic for PO/CCameerj2021-07-231-7/+8
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-238-16/+277
|
* shader: Implement ISCADD CCameerj2021-07-231-1/+4
|
* shader: Implement VMAD, VMNMX, VSETPameerj2021-07-238-23/+314
|
* shader: Add missing I2I exception when CC is usedReinUsesLisp2021-07-231-0/+4
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-232-9/+36
|
* spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2021-07-232-0/+5
|
* shader: Fix structured control flow on KIL instructionsReinUsesLisp2021-07-232-3/+7
| | | | | This could potentially leave unvisited blocks, leading to illegal phi nodes.
* shader: Fix TXQFernandoS272021-07-231-1/+1
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-235-8/+86
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-237-46/+19
|
* shader: Add IR opcode for ImageFetchFernandoS272021-07-233-2/+15
|
* shader: Implement TLD4.PTPFernandoS272021-07-238-19/+52
|
* shader: Fix Array Indices in TEX/TLD4FernandoS272021-07-232-6/+6
|
* shader: Implement FragDepthFernandoS272021-07-231-1/+1
|
* shader: Implement TLD4S.FernandoS272021-07-232-4/+133
|
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-237-10/+237
|
* shader: Implement SHFLameerj2021-07-238-8/+124
|
* shader: Properly insert Prologue instructionReinUsesLisp2021-07-231-1/+2
|
* shader: Minor style nitsReinUsesLisp2021-07-231-2/+4
|
* shader: Fix F2IFernandoS272021-07-236-5/+124
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-235-1/+23
|
* shader: Implement VOTEameerj2021-07-235-4/+79
|
* shader: Fix TEX maskReinUsesLisp2021-07-231-1/+3
|
* shader: Better but still partial interpolation supportReinUsesLisp2021-07-231-5/+7
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-238-39/+169
|
* shader: Implement FADD32IFernandoS272021-07-231-2/+15
|
* shader: Implement F2FFernandoS272021-07-234-19/+188
|
* shader: Implement DMUL and DFMAameerj2021-07-237-30/+109
| | | | Also add a missing const on DADD
* shader: Add FP64 register load/store helpersameerj2021-07-233-21/+24
|
* shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2021-07-237-14/+28
|
* shader: Fix floating point comparison for FP16FernandoS272021-07-234-32/+32
|
* shader: Implement HSETP2FernandoS272021-07-232-12/+116
|
* shader: Implement HSET2FernandoS272021-07-234-14/+118
|
* shader: Implement HMUL2FernandoS272021-07-232-16/+143
|
* shader: Implement HFMA2FernandoS272021-07-234-20/+191
|
* shader: Refactor half floating instructionsFernandoS272021-07-233-58/+82
|
* shader: Implement I2FReinUsesLisp2021-07-239-69/+315
|
* shader: Implement ISCADD (imm)ReinUsesLisp2021-07-231-2/+2
|
* shader: Implement LOP32IReinUsesLisp2021-07-232-18/+45
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-2319-51/+212
|
* shader: Implement DADDameerj2021-07-236-14/+129
|
* shader: Implement CSET and CSETPameerj2021-07-235-15/+113
|
* shader: Fix instruction transitions in and out of PhiReinUsesLisp2021-07-231-9/+11
|
* shader: Implement FSET and FSETPameerj2021-07-237-92/+198
| | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
* shader: Implement TEXSReinUsesLisp2021-07-236-5/+275
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-2311-254/+232
|
* shader: Implement FMNMXameerj2021-07-235-13/+88
| | | | And add a const in FCMP
* shader: Fix rebase issueReinUsesLisp2021-07-231-1/+0
|
* shader: Implement FCMPameerj2021-07-235-49/+184
| | | | still need to configure some settings for NV denorm flush and intel NaN
* shader: Partial implementation of LDCReinUsesLisp2021-07-236-10/+128
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-2313-315/+772
|
* shader: Implement R2Pameerj2021-07-234-12/+74
|
* shader: Implement SHFameerj2021-07-235-22/+99
|
* shader: Implement LEAameerj2021-07-235-26/+122
|
* shader: Deduplicate HADD2 codeReinUsesLisp2021-07-231-19/+16
|
* shader: Implement I2Iameerj2021-07-232-12/+99
|
* shader: Implement HADD2ReinUsesLisp2021-07-236-23/+290
|
* shader: Implement LOP and LOP3ameerj2021-07-237-31/+225
|
* shader: Implement IADD3ameerj2021-07-232-12/+103
|
* shader: Implement PSETPameerj2021-07-233-4/+38
|
* Implement PSET, refactor common comparison funcsameerj2021-07-238-101/+87
|
* shader: Implement FLOameerj2021-07-235-15/+61
|
* shader: Implement ISET, add common_funcsameerj2021-07-237-50/+147
|
* shader: Make IMNMX, SHR, SEL stylistically more consistentameerj2021-07-233-5/+5
|
* shader: Implement ICMPameerj2021-07-232-16/+83
|
* shader: Implement IMNMXameerj2021-07-235-12/+84
|
* shader: Implement BFIameerj2021-07-232-16/+56
|
* shader: Implement BFEameerj2021-07-232-12/+66
|
* shader: Implement POPCameerj2021-07-235-12/+48
|
* shader: Implement SHRameerj2021-07-235-12/+68
|
* shader: Implement SELameerj2021-07-232-12/+44
|
* shader: Fix conditional execution of exit instructionsReinUsesLisp2021-07-232-5/+6
|
* shader: Fix control flowReinUsesLisp2021-07-238-20/+39
|
* shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp2021-07-233-22/+70
|
* shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp2021-07-2313-66/+277
|
* shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2021-07-232-5/+5
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-233-12/+9
|
* shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp2021-07-2312-45/+111
|
* shader: Add denorm flush supportReinUsesLisp2021-07-234-33/+49
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-239-55/+97
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-237-24/+30
|
* shader: Simplify ISCADDReinUsesLisp2021-07-231-6/+1
|
* shader: Add utility to resolve identities on a valueReinUsesLisp2021-07-232-0/+8
|
* spirv: Initial bindings supportReinUsesLisp2021-07-233-3/+22
|
* shader: Improve object poolReinUsesLisp2021-07-231-5/+5
|
* shader: Add support for forward declarationsReinUsesLisp2021-07-236-13/+27
|
* shader: Support SSA loops on IRReinUsesLisp2021-07-234-4/+70
|
* shader: Misc fixesReinUsesLisp2021-07-235-13/+17
|
* shader: Initial implementation of an ASTReinUsesLisp2021-07-2321-535/+1152
|
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-233-19/+15
|
* shader: Better constant foldingReinUsesLisp2021-07-231-1/+1
|
* shader: Properly store phi on InstReinUsesLisp2021-07-234-59/+115
|
* shader: Add pools and rename filesReinUsesLisp2021-07-2325-87/+113
|
* shader: Make typed IRReinUsesLisp2021-07-2316-258/+463
|
* shader: Constant propagation and global memory to storage bufferReinUsesLisp2021-07-2310-27/+77
|
* shader: Initial instruction supportReinUsesLisp2021-07-2324-243/+1437
|
* shader: SSA and dominanceReinUsesLisp2021-07-2319-74/+401
|
* shader: Initial recompiler workReinUsesLisp2021-07-2345-0/+6582