summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Revert ssbo aliasing. Storage Atomics implameerj2021-07-231-7/+2
|
* glsl: Wip storage atomic opsameerj2021-07-231-2/+7
|
* shader: Fix loop safety to SSA passReinUsesLisp2021-07-231-1/+1
|
* shader: Add shader loop safety check settingslat9nq2021-07-231-19/+47
| | | | Also add a setting for enable Nsight Aftermath.
* shader: Fix VertexA Shaders.FernandoS272021-07-232-9/+16
|
* buffer_cache: Reduce uniform buffer size from shader usageReinUsesLisp2021-07-231-3/+16
| | | | Increases performance significantly on certain titles.
* shader,glasm: Implement legacy texcoord loadsReinUsesLisp2021-07-231-52/+18
|
* shader: Track legacy varyingsReinUsesLisp2021-07-231-13/+88
|
* shader: Clang-format secondary texturesReinUsesLisp2021-07-231-2/+2
|
* shader: Fix secondary texturesReinUsesLisp2021-07-231-2/+2
|
* shader: Fix FSwizzleAdd folding when going through phi nodesReinUsesLisp2021-07-231-2/+2
|
* glasm: Remove unintentionally committed fmt::printsReinUsesLisp2021-07-231-2/+0
|
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-231-5/+1
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-234-73/+8
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp2021-07-231-1/+3
|
* shader: Optimize NVN FallthroughFernandoS272021-07-231-7/+71
|
* shader: Implement Int32 SUATOM/SUREDameerj2021-07-232-1/+103
|
* shader: Address feedbackFernandoS272021-07-231-11/+9
|
* shader: Implement VertexA stageFernandoS272021-07-234-0/+128
|
* shader: Fix BFE s32 undefined checkameerj2021-07-231-1/+1
| | | | Our unit tests were hitting this exception.
* shader: Fix error checking in bitfieldExtract and implement bitfieldInsert foldingReinUsesLisp2021-07-231-5/+14
|
* 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: Implement indexed texturesReinUsesLisp2021-07-231-17/+72
|
* shader: Intrusively store in a block if it's sealed or notReinUsesLisp2021-07-231-3/+2
|
* shader: Move microinstruction header to the value headerReinUsesLisp2021-07-238-8/+8
|
* shader: Intrusively store register values in block for SSA passReinUsesLisp2021-07-231-21/+43
|
* shader: Implement D3D samplersReinUsesLisp2021-07-231-11/+69
|
* shader: Add constant propagation for arithmetic right shiftsReinUsesLisp2021-07-231-0/+3
|
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-232-38/+61
| | | | | | | 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-231-1/+1
|
* shader: Add coarse derivativesFernandoS272021-07-232-8/+2
|
* shader: Implement fine derivates constant propagationFernandoS272021-07-232-0/+71
|
* shader: Fix Phi node typesReinUsesLisp2021-07-231-0/+4
|
* shader: Implement SampleMaskReinUsesLisp2021-07-231-0/+3
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-231-0/+3
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-231-0/+3
|
* shader: Implement PrimitiveIdReinUsesLisp2021-07-231-0/+3
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-231-0/+41
|
* shader: Mark atomic instructions as writesReinUsesLisp2021-07-231-0/+27
|
* spirv: Implement image buffersReinUsesLisp2021-07-231-1/+18
|
* spirv: Implement Layer storesReinUsesLisp2021-07-231-0/+3
|
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-231-5/+64
|
* shader: Add constant propagation for *&^| binary operationsReinUsesLisp2021-07-231-0/+12
|
* spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp2021-07-231-0/+5
|
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-231-0/+3
|
* shader: Implement ATOM/S and REDameerj2021-07-233-2/+201
|
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-231-0/+7
|
* shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp2021-07-231-1/+1
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-232-25/+69
|
* shader: Address feedback + clang formatlat9nq2021-07-231-1/+2
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-238-76/+80
| | | | | | | | | | | | | | | | | 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: Implement texture buffersReinUsesLisp2021-07-231-18/+62
|
* shader: Address feedbackFernandoS272021-07-231-13/+9
|
* shader: Implement indexed Position and ClipDistancesFernandoS272021-07-231-8/+18
|
* shader: Implement indexed attributesFernandoS272021-07-232-2/+36
|
* shader: Move recursive SSA rewrite to the heapReinUsesLisp2021-07-231-29/+89
|
* shader: Add subgroup masksReinUsesLisp2021-07-231-0/+7
|
* shader: Abstract breadth searches and use the abstractionReinUsesLisp2021-07-232-104/+48
|
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-231-4/+3
| | | | It may generate better code on some compilers and it's easier to handle.
* shader: Rework global memory tracking to use breadth-first searchReinUsesLisp2021-07-231-69/+80
|
* shader: Address feedbackFernandoS272021-07-232-12/+9
|
* shader: Address FeedbackFernandoS272021-07-233-60/+9
|
* shader: Implement SR_LaneIdFernandoS272021-07-231-0/+1
|
* shader: Improve VOTE.VTG stubFernandoS272021-07-231-1/+50
|
* shader: Mark SSBOs as written when they areFernandoS272021-07-231-2/+29
|
* shader: Implement ViewportIndexFernandoS272021-07-231-0/+3
|
* shader: Fold composite extractFernandoS272021-07-231-0/+62
|
* shader: Fold comparisons and Pack/Unpack16FernandoS272021-07-231-1/+41
|
* shader: Fix constant propagation to use reverse post orderReinUsesLisp2021-07-231-1/+2
|
* shader: Implement ClipDistanceFernandoS272021-07-231-0/+10
|
* shader: Implement ImageGradientFernandoS272021-07-232-1/+15
|
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-232-1/+7
|
* shader: Implement TLDFernandoS272021-07-231-0/+1
|
* shader: Add PointCoord attributeFernandoS272021-07-231-0/+4
|
* shader: Add PointSize attributeameerj2021-07-231-0/+3
|
* shader: Implement FSWZADDameerj2021-07-231-0/+3
|
* shader: Implement BRXFernandoS272021-07-231-1/+20
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-231-0/+6
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-231-1/+1
|
* shader: Implement front faceReinUsesLisp2021-07-231-0/+3
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-232-5/+18
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-231-20/+2
|
* shader: Add IR opcode for ImageFetchFernandoS272021-07-231-0/+5
|
* shader: Implement TLD4.PTPFernandoS272021-07-231-0/+18
|
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-233-1/+29
|
* shader: Implement SHFLameerj2021-07-231-0/+6
|
* shader: Track first bindless argument instead of the instruction itselfReinUsesLisp2021-07-231-1/+1
|
* shader: Fix F2IFernandoS272021-07-232-0/+4
|
* shader: Implement VOTEameerj2021-07-231-0/+6
|
* shader: Fold interpolation multiplicationsReinUsesLisp2021-07-231-0/+34
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-232-2/+9
|
* shader: Implement F2FFernandoS272021-07-231-1/+3
|
* shader: Add missing fp64 usage flagsReinUsesLisp2021-07-231-0/+34
|
* shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2021-07-232-0/+18
|
* shader: Fix floating point comparison for FP16FernandoS272021-07-231-0/+24
|
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-231-0/+6
|
* shader: Implement I2FReinUsesLisp2021-07-232-0/+44
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-232-5/+57
|
* shader: Reorder phi nodes when redefined as undefined opcodesReinUsesLisp2021-07-231-1/+9
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-2310-57/+44
|
* shader: Implement FCMPameerj2021-07-231-1/+13
| | | | still need to configure some settings for NV denorm flush and intel NaN
* shader: Partial implementation of LDCReinUsesLisp2021-07-234-15/+146
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-234-9/+226
|
* shader: Implement HADD2ReinUsesLisp2021-07-232-1/+11
|
* shader: Implement SELameerj2021-07-231-4/+8
|
* shader: Avoid infinite recursion when tracking global memoryReinUsesLisp2021-07-231-5/+26
|
* shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp2021-07-231-1/+1
|
* shader: Add denorm flush supportReinUsesLisp2021-07-232-7/+65
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-234-7/+103
|
* shader: Add XMAD multiplication folding optimizationReinUsesLisp2021-07-231-5/+77
|
* spirv: Initial bindings supportReinUsesLisp2021-07-234-61/+210
|
* shader: Fix trackingReinUsesLisp2021-07-231-50/+72
|
* shader: Add support for forward declarationsReinUsesLisp2021-07-231-2/+2
|
* shader: Support SSA loops on IRReinUsesLisp2021-07-233-17/+55
|
* shader: Misc fixesReinUsesLisp2021-07-232-70/+70
|
* shader: Initial implementation of an ASTReinUsesLisp2021-07-233-3/+75
|
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-231-1/+1
|
* shader: Better constant foldingReinUsesLisp2021-07-231-12/+47
|
* shader: Properly store phi on InstReinUsesLisp2021-07-231-10/+12
|
* shader: Add pools and rename filesReinUsesLisp2021-07-231-14/+14
|
* shader: Make typed IRReinUsesLisp2021-07-232-10/+31
|
* shader: Remove illegal character in SSA passReinUsesLisp2021-07-231-1/+1
|
* shader: Constant propagation and global memory to storage bufferReinUsesLisp2021-07-236-36/+573
|
* shader: Initial instruction supportReinUsesLisp2021-07-232-88/+0
|
* shader: SSA and dominanceReinUsesLisp2021-07-233-1/+164
|
* shader: Initial recompiler workReinUsesLisp2021-07-235-0/+213