summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler (follow)
Commit message (Expand)AuthorAgeFilesLines
* shader: Fix BFE s32 undefined checkameerj2021-07-231-1/+1
* shader: Fix error checking in bitfieldExtract and implement bitfieldInsert foldingReinUsesLisp2021-07-231-5/+14
* shader: Fix storage type when reading patches on tess controlReinUsesLisp2021-07-231-1/+2
* shader: Fix VMNMX selector BReinUsesLisp2021-07-231-1/+2
* shader: Increase the maximum number of storage buffersReinUsesLisp2021-07-231-1/+1
* shader: Remove identity removal pass for better build timesReinUsesLisp2021-07-231-1/+0
* shader: Add more strict validation the passReinUsesLisp2021-07-231-0/+42
* shader: Fix forward referencing identity instructions when inserting phiReinUsesLisp2021-07-231-11/+13
* shader: Remove invalidated blocks in dead code elimination passReinUsesLisp2021-07-231-3/+6
* shader: Add missing UndoUse case for GetSparseFromOpReinUsesLisp2021-07-231-0/+4
* shader: Simplify code in opcodes.h to fix IntellisenseReinUsesLisp2021-07-231-8/+6
* shader: Implement indexed texturesReinUsesLisp2021-07-237-93/+189
* 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-232-3/+11
* cmake: Link to common in shader_recompilerReinUsesLisp2021-07-231-1/+1
* shader: Improve goto removal algorithm complexityReinUsesLisp2021-07-231-49/+28
* 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-2319-180/+161
* 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-232-21/+53
* 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: Implement D3D samplersReinUsesLisp2021-07-233-12/+76
* shader: Add constant propagation for arithmetic right shiftsReinUsesLisp2021-07-231-0/+3
* shader: Simplify code for local memoryReinUsesLisp2021-07-231-6/+11
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-239-62/+214
* spirv: Fix ViewportMaskReinUsesLisp2021-07-231-1/+2
* spirv: Replace Constant/ConstantComposite with Const helperameerj2021-07-2312-112/+101
* 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: Address feedbackFernandoS272021-07-234-7/+4
* shader: Add coarse derivativesFernandoS272021-07-237-8/+28
* shader: Implement fine derivates constant propagationFernandoS272021-07-239-0/+101
* shader: Implement SR_Y_DIRECTIONFernandoS272021-07-237-0/+18
* shader: Fix Phi node typesReinUsesLisp2021-07-232-4/+4
* shader: Fix memory barriersReinUsesLisp2021-07-238-62/+30
* spirv: Fix implicit lod typeReinUsesLisp2021-07-232-1/+5
* spirv: Use explicit lods outside of fragment shadersReinUsesLisp2021-07-231-5/+16
* spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp2021-07-233-21/+67
* shader: Implement BFE and BFI CCameerj2021-07-233-14/+17
* shader: Implement SampleMaskReinUsesLisp2021-07-2311-2/+22
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-2313-4/+69
* spirv: Bitcast non-F32 output attributes to their type before storeReinUsesLisp2021-07-231-13/+28
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-237-0/+20
* spirv: Bitcast non-F32 attributes to F32ReinUsesLisp2021-07-231-7/+9
* shader: Implement PrimitiveIdReinUsesLisp2021-07-235-0/+10
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-2322-88/+555
* shader: Mark atomic instructions as writesReinUsesLisp2021-07-231-0/+27
* spirv: Implement image buffersReinUsesLisp2021-07-235-23/+86
* spirv: Implement Layer storesReinUsesLisp2021-07-236-9/+30
* spirv: Fix alpha testFernandoS272021-07-231-0/+5
* spirv: Fix non-atomic 64-bit storeameerj2021-07-231-1/+1
* spirv: Implement alpha testameerj2021-07-232-1/+59
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-238-16/+116
* shader: Implement early Z testsReinUsesLisp2021-07-232-0/+4
* shader: Document and relax cache control on surface instructionsReinUsesLisp2021-07-231-10/+11
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-238-499/+553
* shader: Fix fixed pipeline point size on geometry shadersReinUsesLisp2021-07-231-10/+18
* shader: Add constant propagation for *&^| binary operationsReinUsesLisp2021-07-231-0/+12
* shader: Implement geometry shadersReinUsesLisp2021-07-2312-84/+221
* shader: Implement OUTReinUsesLisp2021-07-2310-17/+73
* 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-233-4/+56
* shader: Fix CC in I2IReinUsesLisp2021-07-231-0/+2
* spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp2021-07-233-0/+9
* 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-233-12/+29
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-2310-0/+22
* shader: Apply sign bit in FCMP (imm)ReinUsesLisp2021-07-231-1/+1
* shader: Implement ATOM/S and REDameerj2021-07-2318-19/+1724
* spirv: Move phi node patching to a separate functionReinUsesLisp2021-07-231-13/+16
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-235-1/+16
* shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp2021-07-235-7/+11
* spirv: Fix forward declarations on phi nodesReinUsesLisp2021-07-231-47/+25
* shader: Mark ImageWrite with side effectsReinUsesLisp2021-07-231-0/+3
* shader: Implement CC for ISET, FSET, PSET, CSET, and DSETFernandoS272021-07-2318-13/+136
* shader: Remove outdated comment in F2IReinUsesLisp2021-07-231-4/+0
* shader: Implement SULD and SUSTReinUsesLisp2021-07-2323-137/+597
* shader: Fix Windows build issuesReinUsesLisp2021-07-231-1/+1
* shader: Address feedback + clang formatlat9nq2021-07-2311-22/+20
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-2359-297/+289
* shader: Fix FCMP immediate variantReinUsesLisp2021-07-231-1/+9
* shader: Fix dangling labelsReinUsesLisp2021-07-231-0/+5
* shader: Interact texture buffers with buffer cacheReinUsesLisp2021-07-233-29/+29
* shader: Fix F2IReinUsesLisp2021-07-231-1/+1
* shader: Fix TextureGradReinUsesLisp2021-07-231-1/+1
* shader: Implement texture buffersReinUsesLisp2021-07-236-23/+125
* shader: Address feedbackFernandoS272021-07-235-53/+54
* shader: Implement indexed Position and ClipDistancesFernandoS272021-07-233-11/+100
* shader: Implement indexed attributesFernandoS272021-07-2312-35/+279
* shader: Implement AL2PFernandoS272021-07-233-4/+36
* shader: Fix BRX trackingFernandoS272021-07-232-3/+4
* shader: Move recursive SSA rewrite to the heapReinUsesLisp2021-07-231-29/+89
* shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS272021-07-231-1/+1
* 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-2310-45/+169
* shader: Implement BAR and fix memory barriersReinUsesLisp2021-07-237-5/+79
* shader: Abstract breadth searches and use the abstractionReinUsesLisp2021-07-234-104/+106
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-239-22/+21
* shader: Remove unused header in VOTEReinUsesLisp2021-07-231-2/+0
* shader: Rework global memory tracking to use breadth-first searchReinUsesLisp2021-07-231-69/+80
* 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-233-13/+16
* shader: "Implement" NOPFernandoS272021-07-231-1/+1
* shader: Address FeedbackFernandoS272021-07-2316-211/+60
* shader: Implement SR_LaneIdFernandoS272021-07-237-0/+15
* shader: Fix shared memory on cool driversFernandoS272021-07-231-0/+1
* shader: Implement MEMBARFernandoS272021-07-239-11/+121
* shader: Improve VOTE.VTG stubFernandoS272021-07-237-4/+147
* shader: Mark SSBOs as written when they areFernandoS272021-07-232-2/+30
* shader: Implement ViewportIndexFernandoS272021-07-237-2/+32
* shader: Stub TLD4's PTP when it isn't constantFernandoS272021-07-231-1/+2
* shader: Stub VOTE.VTGFernandoS272021-07-234-4/+15
* shader: Fold composite extractFernandoS272021-07-231-0/+62
* shader: Fold comparisons and Pack/Unpack16FernandoS272021-07-231-1/+41
* shader: Fix branches to visited virtual blocksReinUsesLisp2021-07-232-0/+12
* shader: Fix dependency on identity removal passReinUsesLisp2021-07-232-3/+8
* shader: Fix constant propagation to use reverse post orderReinUsesLisp2021-07-231-1/+2
* shader: Implement LDG .U.128 as .128ReinUsesLisp2021-07-231-3/+2
* shader: Unroll "using enum" for opcode declarationsReinUsesLisp2021-07-231-1/+27
* spirv: Remove unnecesary variable for clip distancesReinUsesLisp2021-07-232-6/+2
* shader: Implement ClipDistanceFernandoS272021-07-235-0/+36
* shader: Fix TXDFernandoS272021-07-232-2/+2
* shader: Address feedbackFernandoS272021-07-234-52/+48
* shader: Always pass a lod for TexelFetchReinUsesLisp2021-07-233-25/+17
* shader: Implement TXDFernandoS272021-07-234-10/+183
* shader: Implement ImageGradientFernandoS272021-07-238-2/+84
* shader: Implement TMML partiallyFernandoS272021-07-236-13/+137
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-239-1/+38
* shader: Implement TLDSFernandoS272021-07-233-4/+253
* shader: Implement TLDFernandoS272021-07-237-14/+173
* spirv: Add fixed pipeline point sizeReinUsesLisp2021-07-233-1/+8
* shader: Add PointCoord attributeFernandoS272021-07-235-0/+16
* shader: Add PointSize attributeameerj2021-07-235-0/+13
* shader: Store type of phi nodes in flagsReinUsesLisp2021-07-233-2/+11
* shader: Fix indirect branches to scheduler instructionsReinUsesLisp2021-07-233-7/+17
* spirv: Fix default output attribute initializationReinUsesLisp2021-07-231-3/+3
* shader: Add missing new linesReinUsesLisp2021-07-231-0/+2
* shader: Implement FSWZADDameerj2021-07-2314-4/+87
* shader: Implement BRXFernandoS272021-07-2320-47/+388
* shader: Fix alignment checks on RZReinUsesLisp2021-07-231-1/+1
* shader: Implement I2I CCameerj2021-07-233-24/+45
* shader: Implement I2I SATameerj2021-07-236-10/+52
* 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-2317-17/+626
* shader: Implement ISCADD CCameerj2021-07-231-1/+4
* shader: Implement VMAD, VMNMX, VSETPameerj2021-07-239-23/+319
* shader: Add missing I2I exception when CC is usedReinUsesLisp2021-07-231-0/+4
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-237-23/+96
* spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2021-07-234-9/+12
* shader: Implement front faceReinUsesLisp2021-07-235-0/+12
* shader: Fix structured control flow on KIL instructionsReinUsesLisp2021-07-232-3/+7
* shader: Fix TXQFernandoS272021-07-231-1/+1
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-2314-21/+172
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-2314-123/+67
* shader: Add IR opcode for ImageFetchFernandoS272021-07-237-5/+55
* shader: Implement TLD4.PTPFernandoS272021-07-2315-28/+111
* shader: Fix Array Indices in TEX/TLD4FernandoS272021-07-232-6/+6
* shader: Implement FragDepthFernandoS272021-07-232-1/+7
* shader: Implement TLD4S.FernandoS272021-07-233-4/+134
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-2313-11/+315
* shader: Implement SHFLameerj2021-07-2316-69/+284
* shader: Track first bindless argument instead of the instruction itselfReinUsesLisp2021-07-231-1/+1
* shader: Properly insert Prologue instructionReinUsesLisp2021-07-231-1/+2
* shader: Minor style nitsReinUsesLisp2021-07-231-2/+4
* shader: Fix F2IFernandoS272021-07-2310-9/+147
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-2312-40/+149
* shader: Fix use-after-free bug in object_poolReinUsesLisp2021-07-231-3/+3
* shader: Implement VOTEameerj2021-07-2314-5/+167
* shader: Fix TEX maskReinUsesLisp2021-07-231-1/+3
* vk_pipeline_cache: Add pipeline cacheReinUsesLisp2021-07-234-8/+15
* shader: Fold interpolation multiplicationsReinUsesLisp2021-07-231-0/+34
* shader: Better but still partial interpolation supportReinUsesLisp2021-07-231-5/+7
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-2315-59/+208
* shader: Implement FADD32IFernandoS272021-07-231-2/+15
* shader: Implement F2FFernandoS272021-07-236-20/+192
* shader: Add missing fp64 usage flagsReinUsesLisp2021-07-231-0/+34
* shader: Implement DMUL and DFMAameerj2021-07-238-30/+111
* shader: Add FP64 register load/store helpersameerj2021-07-233-21/+24
* shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2021-07-2311-14/+56
* shader: Fix floating point comparison for FP16FernandoS272021-07-235-32/+56
* shader: Implement HSETP2FernandoS272021-07-233-12/+117
* shader: Implement HSET2FernandoS272021-07-235-14/+119
* shader: Implement HMUL2FernandoS272021-07-233-16/+144
* shader: Implement HFMA2FernandoS272021-07-235-20/+192
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-239-144/+243
* shader: Refactor half floating instructionsFernandoS272021-07-234-58/+84
* shader: Implement I2FReinUsesLisp2021-07-2316-69/+427
* shader: Implement ISCADD (imm)ReinUsesLisp2021-07-231-2/+2
* shader: Implement LOP32IReinUsesLisp2021-07-232-18/+45
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-2334-156/+629
* shader: Implement DADDameerj2021-07-238-14/+132
* shader: Implement CSET and CSETPameerj2021-07-236-15/+114
* shader: Reorder phi nodes when redefined as undefined opcodesReinUsesLisp2021-07-231-1/+9
* shader: Fix instruction transitions in and out of PhiReinUsesLisp2021-07-231-9/+11
* shader: Implement FSET and FSETPameerj2021-07-239-94/+204
* shader: Implement TEXSReinUsesLisp2021-07-238-7/+287
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-2324-330/+286
* spirv: Add SignedZeroInfNanPreserve logicameerj2021-07-232-0/+8
* shader: Implement FMNMXameerj2021-07-238-25/+101
* shader: Fix rebase issueReinUsesLisp2021-07-231-1/+0
* shader: Implement FCMPameerj2021-07-239-50/+203
* shader: Partial implementation of LDCReinUsesLisp2021-07-2316-50/+405
* shader: Initial support for textures and TEXReinUsesLisp2021-07-2329-341/+1378
* shader: Implement R2Pameerj2021-07-238-15/+88
* shader: Implement SHFameerj2021-07-238-31/+119
* shader: Implement LEAameerj2021-07-239-29/+136
* shader: Deduplicate HADD2 codeReinUsesLisp2021-07-231-19/+16
* shader: Implement I2Iameerj2021-07-233-12/+100
* shader: Implement HADD2ReinUsesLisp2021-07-2312-42/+400
* shader: Implement LOP and LOP3ameerj2021-07-238-31/+227
* shader: Implement IADD3ameerj2021-07-233-12/+104
* shader: Implement PSETPameerj2021-07-234-5/+40
* Implement PSET, refactor common comparison funcsameerj2021-07-239-101/+88
* shader: Implement FLOameerj2021-07-238-18/+75
* shader: Implement ISET, add common_funcsameerj2021-07-238-50/+150
* shader: Make IMNMX, SHR, SEL stylistically more consistentameerj2021-07-233-5/+5
* shader: Implement ICMPameerj2021-07-233-16/+84
* shader: Implement IMNMXameerj2021-07-238-12/+105
* shader: Implement BFIameerj2021-07-233-16/+57
* shader: Implement BFEameerj2021-07-233-12/+67
* shader: Implement POPCameerj2021-07-238-12/+59
* shader: Implement SHRameerj2021-07-238-18/+80
* shader: Implement SELameerj2021-07-234-16/+53
* spirv: Move phi arguments emit to a separate functionReinUsesLisp2021-07-231-27/+27
* shader: Avoid infinite recursion when tracking global memoryReinUsesLisp2021-07-231-5/+26
* shader: Fix conditional execution of exit instructionsReinUsesLisp2021-07-232-5/+6
* spirv: Add support for self-referencing phi nodesReinUsesLisp2021-07-231-3/+10
* shader: Fix control flowReinUsesLisp2021-07-238-20/+39
* shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp2021-07-235-28/+76
* shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp2021-07-2318-119/+507
* shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2021-07-234-11/+11
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-2310-32/+43
* shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp2021-07-2317-125/+211
* shader: Add denorm flush supportReinUsesLisp2021-07-2315-60/+210
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-2328-276/+465
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-2328-498/+573
* shader: Add XMAD multiplication folding optimizationReinUsesLisp2021-07-231-5/+77
* shader: Simplify ISCADDReinUsesLisp2021-07-231-6/+1
* shader: Add utility to resolve identities on a valueReinUsesLisp2021-07-232-0/+8
* spirv: Implement EmitIdentityReinUsesLisp2021-07-232-3/+3
* spirv: Initial bindings supportReinUsesLisp2021-07-2322-292/+671
* shader: Improve object poolReinUsesLisp2021-07-233-50/+66
* shader: Fix trackingReinUsesLisp2021-07-231-50/+72
* shader: Add support for forward declarationsReinUsesLisp2021-07-2310-68/+79
* shader: Support SSA loops on IRReinUsesLisp2021-07-2312-46/+150
* shader: Misc fixesReinUsesLisp2021-07-2310-89/+104
* shader: Initial implementation of an ASTReinUsesLisp2021-07-2332-589/+1345
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-2318-34/+1400
* shader: Better constant foldingReinUsesLisp2021-07-232-13/+48
* shader: Properly store phi on InstReinUsesLisp2021-07-236-75/+132
* shader: Add pools and rename filesReinUsesLisp2021-07-2330-108/+255
* shader: Make typed IRReinUsesLisp2021-07-2319-269/+495
* shader: Remove illegal character in SSA passReinUsesLisp2021-07-231-1/+1
* shader: Constant propagation and global memory to storage bufferReinUsesLisp2021-07-2317-63/+652
* shader: Initial instruction supportReinUsesLisp2021-07-2328-334/+1450
* shader: SSA and dominanceReinUsesLisp2021-07-2324-77/+570
* shader: Initial recompiler workReinUsesLisp2021-07-2356-0/+7060