summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend (unfollow)
Commit message (Expand)AuthorFilesLines
2021-07-23glasm: Fix InvocationId declarationReinUsesLisp1-1/+1
2021-07-23glasm: Implement InvocationIdReinUsesLisp2-2/+5
2021-07-23glasm: Optimize EmitVertex into EMITReinUsesLisp1-1/+5
2021-07-23glasm: Implement geometry shader attribute readsReinUsesLisp2-4/+18
2021-07-23glasm: Properly declare attributes on geometry programsReinUsesLisp3-6/+14
2021-07-23glasm: Declare geometry program headersReinUsesLisp1-0/+35
2021-07-23glasm: Fix potential aliasing bug on cube array samplesReinUsesLisp2-35/+44
2021-07-23glasm: Implement ImageWriteReinUsesLisp1-4/+7
2021-07-23glasm: Implement ImageReadReinUsesLisp4-4/+56
2021-07-23glasm: Implement EmitVertex and EndPrimitiveReinUsesLisp2-4/+8
2021-07-23glasm: Implement ImageGradientReinUsesLisp2-7/+65
2021-07-23glasm: Implement 64-bit shiftsReinUsesLisp2-12/+14
2021-07-23glasm: Implement barriersReinUsesLisp1-3/+3
2021-07-23glasm: Fix compute stage nameReinUsesLisp1-1/+1
2021-07-23glasm: Fix phi instruction typesReinUsesLisp1-1/+1
2021-07-23glasm: Implement PREC on relevant instructionsReinUsesLisp1-6/+12
2021-07-23glasm: Implement stores to gl_ViewportIndexReinUsesLisp4-7/+29
2021-07-23glasm: Implement gl_PointSize storesReinUsesLisp1-0/+3
2021-07-23glasm: Implement gl_PointCoordReinUsesLisp1-0/+4
2021-07-23glasm: Implement ImageQueryLodReinUsesLisp1-3/+5
2021-07-23glasm: Implement ImageFetchReinUsesLisp4-13/+38
2021-07-23glasm: Implement IADD.CCameerj1-1/+26
2021-07-23glasm: Implement BFE.CCReinUsesLisp1-0/+8
2021-07-23glasm: Implement SelectU1ReinUsesLisp2-4/+5
2021-07-23glasm: Implement gl_WorkGroupIDReinUsesLisp2-3/+3
2021-07-23glasm: Implement TXQ and improve texture info readsReinUsesLisp2-50/+51
2021-07-23glasm: Implement gl_FrongFacing attributeReinUsesLisp1-0/+3
2021-07-23glasm: Support textures used in more than one stageReinUsesLisp3-4/+24
2021-07-23glasm: Implement textureGather instructionsReinUsesLisp2-15/+97
2021-07-23glasm: Implement gl_FragDepth and gl_SampleMask storesReinUsesLisp2-5/+5
2021-07-23glasm: Do not alias ConditionRef for nowReinUsesLisp2-3/+2
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp7-5/+20
2021-07-23glasm: Implement InstanceId and VertexIdReinUsesLisp1-0/+6
2021-07-23glasm: Add missing return value on move assignmentReinUsesLisp1-0/+1
2021-07-23glasm: Fix aliased bitcasts ref countingReinUsesLisp3-13/+42
2021-07-23glasm: Remove unintentional comma on vector insertReinUsesLisp1-1/+1
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp6-47/+258
2021-07-23glasm: Add support for non-2D texture samplesReinUsesLisp1-4/+26
2021-07-23glasm: Reorder unreachable image instructions to the bottomReinUsesLisp1-97/+97
2021-07-23glasm: Add support for texture offsetsReinUsesLisp1-11/+15
2021-07-23glasm: Improve texture sampling instructionsReinUsesLisp2-50/+70
2021-07-23emit_glasm: Enable ARB_draw_buffers when neededReinUsesLisp2-1/+5
2021-07-23emit_glasm: Add support for reading position attributesReinUsesLisp1-3/+13
2021-07-23shader_recompiler: GCC fixeslat9nq3-25/+25
2021-07-23glasm: Implement rest of shared memameerj2-35/+29
2021-07-23emit_spirv: Jump to loop body with local variableReinUsesLisp1-1/+1
2021-07-23glasm: Implement derivative instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Initial (broken) implementation of TEX on GLASMReinUsesLisp3-299/+386
2021-07-23glasm: Implement some graphics instructions on GLASMReinUsesLisp2-6/+5
2021-07-23glasm: Add Void type to GLASM valuesReinUsesLisp3-0/+15
2021-07-23glasm: Add graphics specific shader declarations to GLASMReinUsesLisp2-6/+63
2021-07-23glasm: Implement local memory for glasmameerj4-9/+12
2021-07-23emit_spirv: Add missing block in caseReinUsesLisp1-1/+2
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp5-10/+88
2021-07-23glasm: Write result to scalar on integer comparison instructionsReinUsesLisp1-10/+10
2021-07-23glasm: Declare NV_shader_thread_group when neededReinUsesLisp1-3/+4
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp9-88/+116
2021-07-23glasm: Implement Storage atomicsameerj5-109/+156
2021-07-23glasm: Ensure reg alloc order across compilers on GLASMReinUsesLisp1-11/+14
2021-07-23glasm: Enable unintentionally disabled register aliasing on GLASMReinUsesLisp1-16/+11
2021-07-23glasm: Review all GLASM insts to be aware of register aliasingReinUsesLisp4-20/+51
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp8-99/+162
2021-07-23glasm: Add MUFU instructions to GLASMReinUsesLisp2-21/+22
2021-07-23glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp2-6/+6
2021-07-23glasm: Properly clamp Fp64 on GLASMReinUsesLisp1-6/+6
2021-07-23glasm: Fix register allocation when moving immediate on GLASMReinUsesLisp3-42/+89
2021-07-23glasm: Implement SelectU64 on GLASMReinUsesLisp2-4/+20
2021-07-23glasm: Fix clamps so the min value has priority on NAN on GLASMReinUsesLisp1-12/+15
2021-07-23glasm: Fix moving U64 immediates to registers in GLASMReinUsesLisp2-3/+4
2021-07-23glasm: Implement storage atomic opsameerj4-305/+358
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp9-282/+351
2021-07-23glasm: Add fp min/max insts and fix store for fp64 on GLASMReinUsesLisp2-10/+8
2021-07-23glasm: Add logical instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Remove duplicated Fp64 pack instructions on GLASMReinUsesLisp1-8/+0
2021-07-23glasm: Remove unnecesary new white space on Clamp GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Add floating-point comparisons on GLASMReinUsesLisp3-120/+116
2021-07-23emit_glasm: Implement more integer alu opsameerj2-47/+41
2021-07-23glasm: Reimplement bitwise ops and BFI/BFEameerj4-88/+108
2021-07-23glasm: Initial GLASM fp64 supportReinUsesLisp9-55/+152
2021-07-23glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp4-66/+77
2021-07-23glasm: Remove unused functions left from rebaseReinUsesLisp1-12/+0
2021-07-23glasm: Specify namespace when using FormatToReinUsesLisp1-6/+6
2021-07-23glasm: Implement more GLASM composite instructionsReinUsesLisp2-54/+63
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp12-1244/+1380
2021-07-23glasm: Use CMP.S for Select32ameerj3-12/+8
2021-07-23glasm: Implement more logical opsameerj2-5/+5
2021-07-23glasm: Implement BFI, BFEameerj4-138/+164
2021-07-23glasm: Use BitField instead of C bitfieldsReinUsesLisp2-8/+12
2021-07-23glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp1-7/+7
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp9-840/+1167
2021-07-23glasm: Changes to GLASM register allocator and emit contextReinUsesLisp4-26/+64
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp26-0/+3079
2021-07-23shader: Fixup SPIR-V emit header namespacesReinUsesLisp1-2/+2
2021-07-23Move SPIR-V emission functions to their own headerReinUsesLisp23-572/+629
2021-07-23shader: Optimize NVN FallthroughFernandoS271-0/+3
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj5-0/+233
2021-07-23spirv: Be aware of NAN unaware driversReinUsesLisp1-18/+40
2021-07-23spirv: Add SSBO read fallbacks when no aliasing is availableReinUsesLisp1-37/+99
2021-07-23spirv: Add OpKill fallback to demoteReinUsesLisp1-2/+6
2021-07-23spirv: Do not enable ShaderLayerReinUsesLisp1-3/+0
2021-07-23spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp1-1/+1
2021-07-23spirv: Use OriginLowerLeft when requestedReinUsesLisp1-1/+5
2021-07-23spirv: Only add image operands mask when neededReinUsesLisp1-5/+9
2021-07-23spirv: Workaround image unsigned offset bugReinUsesLisp2-9/+26
2021-07-23spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp1-2/+2
2021-07-23spirv: Add integer clamping workaroundsReinUsesLisp1-4/+34
2021-07-23spirv: Implement int8 and int16 conversion fallbacksReinUsesLisp1-19/+80
2021-07-23spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp5-56/+163
2021-07-23spirv: Desambiguate descriptor namesReinUsesLisp1-9/+37
2021-07-23shader: Implement VertexA stageFernandoS272-0/+5
2021-07-23shader: Fix storage type when reading patches on tess controlReinUsesLisp1-1/+2
2021-07-23shader: Implement indexed texturesReinUsesLisp3-56/+92
2021-07-23shader: Move microinstruction header to the value headerReinUsesLisp2-2/+0
2021-07-23shader: Add NVN storage buffer fallbacksReinUsesLisp5-24/+109
2021-07-23spirv: Fix ViewportMaskReinUsesLisp1-1/+2
2021-07-23spirv: Replace Constant/ConstantComposite with Const helperameerj12-112/+101
2021-07-23shader: Address feedbackFernandoS272-5/+2
2021-07-23shader: Add coarse derivativesFernandoS272-0/+12
2021-07-23shader: Implement fine derivates constant propagationFernandoS273-0/+15
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS272-0/+8
2021-07-23shader: Fix memory barriersReinUsesLisp2-12/+7
2021-07-23spirv: Fix implicit lod typeReinUsesLisp2-1/+5
2021-07-23spirv: Use explicit lods outside of fragment shadersReinUsesLisp1-5/+16
2021-07-23spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp3-21/+67
2021-07-23shader: Implement BFE and BFI CCameerj1-2/+1
2021-07-23shader: Implement SampleMaskReinUsesLisp4-1/+10
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp5-0/+12
2021-07-23spirv: Bitcast non-F32 output attributes to their type before storeReinUsesLisp1-13/+28
2021-07-23spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp4-0/+15
2021-07-23spirv: Bitcast non-F32 attributes to F32ReinUsesLisp1-7/+9
2021-07-23shader: Implement PrimitiveIdReinUsesLisp3-0/+6
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp5-55/+232
2021-07-23spirv: Implement image buffersReinUsesLisp3-22/+58
2021-07-23spirv: Implement Layer storesReinUsesLisp4-9/+26
2021-07-23spirv: Fix alpha testFernandoS271-0/+5
2021-07-23spirv: Fix non-atomic 64-bit storeameerj1-1/+1
2021-07-23spirv: Implement alpha testameerj1-0/+45
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp5-16/+97
2021-07-23shader: Implement early Z testsReinUsesLisp1-0/+3
2021-07-23spirv: Rework storage buffers and shader memoryReinUsesLisp6-492/+487
2021-07-23shader: Fix fixed pipeline point size on geometry shadersReinUsesLisp1-10/+18
2021-07-23shader: Implement geometry shadersReinUsesLisp5-65/+163
2021-07-23shader: Implement OUTReinUsesLisp2-0/+10
2021-07-23spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp1-0/+3
2021-07-23shader: Implement LOP CCReinUsesLisp2-9/+18
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp4-0/+9
2021-07-23shader: Implement ATOM/S and REDameerj5-4/+800
2021-07-23spirv: Move phi node patching to a separate functionReinUsesLisp1-13/+16
2021-07-23spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2-1/+7
2021-07-23shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp3-5/+9
2021-07-23spirv: Fix forward declarations on phi nodesReinUsesLisp1-47/+25
2021-07-23shader: Implement SULD and SUSTReinUsesLisp5-29/+130
2021-07-23shader: Address feedback + clang formatlat9nq2-5/+0
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq4-14/+22
2021-07-23shader: Interact texture buffers with buffer cacheReinUsesLisp2-28/+28
2021-07-23shader: Fix TextureGradReinUsesLisp1-1/+1
2021-07-23shader: Implement texture buffersReinUsesLisp4-5/+54
2021-07-23shader: Address feedbackFernandoS271-20/+20
2021-07-23shader: Implement indexed Position and ClipDistancesFernandoS271-0/+40
2021-07-23shader: Implement indexed attributesFernandoS274-6/+134
2021-07-23shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS271-1/+1
2021-07-23shader: Add subgroup masksReinUsesLisp4-10/+56
2021-07-23shader: Implement BAR and fix memory barriersReinUsesLisp2-3/+13
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp4-6/+6
2021-07-23shader: Address FeedbackFernandoS276-71/+26
2021-07-23shader: Implement SR_LaneIdFernandoS272-0/+5
2021-07-23shader: Fix shared memory on cool driversFernandoS271-0/+1
2021-07-23shader: Implement MEMBARFernandoS272-0/+41
2021-07-23shader: Improve VOTE.VTG stubFernandoS272-0/+40
2021-07-23shader: Implement ViewportIndexFernandoS274-2/+27
2021-07-23shader: Stub TLD4's PTP when it isn't constantFernandoS271-1/+2
2021-07-23shader: Fix branches to visited virtual blocksReinUsesLisp1-0/+2
2021-07-23shader: Fix dependency on identity removal passReinUsesLisp2-3/+8
2021-07-23spirv: Remove unnecesary variable for clip distancesReinUsesLisp2-6/+2
2021-07-23shader: Implement ClipDistanceFernandoS273-0/+25
2021-07-23shader: Fix TXDFernandoS271-1/+1
2021-07-23shader: Address feedbackFernandoS271-15/+15
2021-07-23shader: Implement ImageGradientFernandoS272-1/+54
2021-07-23shader: Implement TMML partiallyFernandoS271-2/+2
2021-07-23shader,spirv: Implement ImageQueryLod.FernandoS274-0/+20
2021-07-23shader: Implement TLDFernandoS271-1/+1
2021-07-23spirv: Add fixed pipeline point sizeReinUsesLisp2-1/+5
2021-07-23shader: Add PointCoord attributeFernandoS273-0/+11
2021-07-23shader: Add PointSize attributeameerj3-0/+9
2021-07-23shader: Store type of phi nodes in flagsReinUsesLisp1-1/+2
2021-07-23spirv: Fix default output attribute initializationReinUsesLisp1-3/+3
2021-07-23shader: Implement FSWZADDameerj4-0/+27
2021-07-23shader: Implement BRXFernandoS273-2/+15
2021-07-23shader: Implement I2I CCameerj2-21/+41
2021-07-23shader: Implement I2I SATameerj2-0/+10
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp5-1/+334
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp2-12/+46
2021-07-23spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2-9/+7
2021-07-23shader: Implement front faceReinUsesLisp3-0/+8
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp5-8/+64
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp5-56/+46
2021-07-23shader: Add IR opcode for ImageFetchFernandoS273-3/+35
2021-07-23shader: Implement TLD4.PTPFernandoS275-9/+40
2021-07-23shader: Implement FragDepthFernandoS271-0/+6
2021-07-23shader: Implement TLD4 and TLD4_BFernandoS272-0/+48
2021-07-23shader: Implement SHFLameerj5-60/+151
2021-07-23shader: Fix F2IFernandoS272-4/+19
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp5-39/+112
2021-07-23shader: Implement VOTEameerj5-1/+77
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj3-18/+26
2021-07-23shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2-0/+10
2021-07-23spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp6-144/+234
2021-07-23shader: Implement I2FReinUsesLisp4-0/+67
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp6-50/+172
2021-07-23shader: Implement DADDameerj1-0/+2
2021-07-23shader: Implement FSET and FSETPameerj1-2/+4
2021-07-23shader: Implement TEXSReinUsesLisp1-1/+10
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp2-15/+8
2021-07-23spirv: Add SignedZeroInfNanPreserve logicameerj1-0/+6
2021-07-23shader: Implement FMNMXameerj2-12/+12
2021-07-23shader: Implement FCMPameerj2-0/+5
2021-07-23shader: Partial implementation of LDCReinUsesLisp4-25/+124
2021-07-23shader: Initial support for textures and TEXReinUsesLisp7-5/+327
2021-07-23shader: Implement R2Pameerj3-3/+13
2021-07-23shader: Implement SHFameerj2-9/+19
2021-07-23shader: Implement LEAameerj3-3/+13
2021-07-23shader: Implement HADD2ReinUsesLisp3-18/+98
2021-07-23shader: Implement FLOameerj2-3/+13
2021-07-23shader: Implement IMNMXameerj2-0/+20
2021-07-23shader: Implement POPCameerj2-0/+10
2021-07-23shader: Implement SHRameerj2-6/+11
2021-07-23spirv: Move phi arguments emit to a separate functionReinUsesLisp1-27/+27
2021-07-23spirv: Add support for self-referencing phi nodesReinUsesLisp1-3/+10
2021-07-23shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp2-6/+6
2021-07-23shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp3-52/+228
2021-07-23shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2-6/+6
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp6-20/+31
2021-07-23shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp4-79/+98
2021-07-23shader: Add denorm flush supportReinUsesLisp3-9/+64
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp12-210/+255
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp13-467/+461
2021-07-23spirv: Implement EmitIdentityReinUsesLisp2-3/+3
2021-07-23spirv: Initial bindings supportReinUsesLisp12-218/+408
2021-07-23shader: Add support for forward declarationsReinUsesLisp2-52/+49
2021-07-23shader: Support SSA loops on IRReinUsesLisp3-15/+15
2021-07-23shader: Misc fixesReinUsesLisp2-0/+11
2021-07-23shader: Initial implementation of an ASTReinUsesLisp5-41/+67
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp12-3/+1359
2021-07-23shader: Add pools and rename filesReinUsesLisp1-0/+21