summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv (unfollow)
Commit message (Expand)AuthorFilesLines
2023-06-22Remove memory allocations in some hot pathsKelebek12-2/+2
2023-06-03video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.bunnei1-0/+10
2023-06-03Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws1-1/+16
2023-06-03Implement scaled vertex buffer format emulationBilly Laws3-49/+72
2023-05-11Fix Tears of the Kingdom flickering clouds and depths.Kelebek11-6/+2
2023-04-30Define SampleMask as an arrayKelebek12-2/+4
2023-04-08shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffsetWollnashorn1-18/+9
2023-04-08shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn1-0/+39
2023-02-14remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistencyarades791-1/+1
2023-02-14add static lifetime to constexpr values to force compile time evaluation where possiblearades791-1/+1
2023-01-29spirv: Fix TXQ with MSAA texturesameerj3-8/+19
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj2-3/+6
2023-01-26shader_recompiler: Remove S32 IR typeameerj2-5/+0
2023-01-23spirv: fix multisampled image fetchLiam2-2/+7
2023-01-05Run clang-formatBilly Laws2-7/+9
2023-01-05shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUsBilly Laws1-30/+28
2023-01-05shader_recompiler: SPIRV: Only enable int64 feature when supportedBilly Laws1-1/+1
2023-01-05Vulkan: Add a workaround for input_position on Adreno driversBilly Laws3-11/+39
2023-01-04Video_core: Address feedbackFernando Sahmkow3-0/+8
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow2-0/+18
2022-12-14Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS272-3/+4
2022-12-14spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationIdLiam1-0/+2
2022-11-27Vulkan: update initializationLiam3-19/+31
2022-11-19spirv_emit_context: add missing flat decorationLiam1-0/+1
2022-11-17shader: Implement miss attribute layerFengChen2-0/+6
2022-11-07video_core: Fix few issues in Tess stageFengChen4-0/+18
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen2-1/+6
2022-09-20video_core: Generate mipmap texture by drawingFengChen5-1/+51
2022-08-25video_code: support rectangle textureFengChen2-0/+2
2022-07-29Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.Kelebek11-2/+3
2022-04-23general: Convert source file copyright comments over to SPDXMorph23-69/+46
2022-04-01shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-VLiam1-10/+11
2022-03-22Include <bit> header when std::count{r,l}_zero is usedBilly Laws3-0/+4
2022-03-20shader_recompiler: Reduce unused includesameerj16-18/+0
2022-03-17Address review commentsLiam2-19/+7
2022-03-17shader_recompiler: Use functions for indirect const buffer accessesLiam3-39/+91
2022-03-17Address review commentsLiam1-16/+15
2022-03-15shader: add support for const buffer indirect addressingLiam1-10/+41
2022-03-12emit_spirv, vk_compute_pass: Resolve VS2022 compiler errorsameerj1-1/+1
2022-01-30shaders: Add U64->U32x2 Atomic fallback functionsameerj2-1/+148
2022-01-29spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomicsameerj1-2/+2
2022-01-28emit_spirv: Add Xfb execution mode when transform feedback is usedameerj1-3/+9
2022-01-17shader_recompiler: fix potential OOB accessv19931-3/+4
2021-12-30shader: Add integer attribute get optimization passameerj2-0/+26
2021-12-28Empty spacesMatías Locatti1-1/+1
2021-12-28Changes to avoid warnings in SSE4.2 optimized SPIR-VMatías Locatti1-0/+9
2021-12-18Remove spirv handle legacy related codevonchenplus3-189/+0
2021-12-06emit_spirv: Reduce emit_spirv.h include overheadameerj20-3/+20
2021-12-06shader_recompiler: Adjust emit_context includesameerj2-2/+2
2021-12-05shader_recompiler: Rename backend emit_context filesameerj2-0/+0
2021-11-16vulkan: Fix rescaling push constant usageameerj4-34/+36
2021-11-16shader, video_core: Fix GCC build errorsameerj1-4/+0
2021-11-16emit_spirv: Fix RescalingLayout alignmentameerj1-0/+1
2021-11-16emit_spirv: Fix RescalingLayout alignmentameerj1-2/+2
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp6-44/+136
2021-11-16spirv: Implement rescaling patchingReinUsesLisp5-5/+72
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp2-0/+5
2021-11-16shader: Add integer division opcodesReinUsesLisp2-0/+10
2021-11-16shader: Add resolution down factor opcodeReinUsesLisp2-0/+6
2021-11-04Simply legacy attribute implementFeng Chen3-152/+125
2021-10-31Support gl_FogFragCoord attributevonchenplus3-48/+58
2021-10-26Support gl_BackSecondaryColor attributevonchenplus3-0/+33
2021-10-26Support gl_FrontSecondaryColor attributevonchenplus3-0/+33
2021-10-26Support gl_BackColor attributevonchenplus3-0/+33
2021-10-17emit_spirv_image: Fix depth image implicit lod sample in computeameerj1-5/+16
2021-09-15Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.Fernando Sahmkow1-1/+7
2021-09-08Detail adjustmentFeng Chen1-13/+14
2021-09-08Detail adjustmentFeng Chen2-28/+35
2021-09-07Re-implement get unused locationFeng Chen1-30/+30
2021-09-07Move attribute related definitions to spirv anonymous namespaceFeng Chen2-5/+26
2021-09-06Dynamic get unused locationFeng Chen1-27/+49
2021-09-06Implement intput and output fixed fnc texturesFeng Chen3-19/+23
2021-09-03Rename parametersFeng Chen3-9/+9
2021-09-03Fix create GraphicsPipelines crashFeng Chen1-5/+5
2021-09-02Add input/output locationFeng Chen1-5/+13
2021-08-31emit_spirv_warp: Fix shuffle ops for 64-thread warp sizesameerj1-1/+29
2021-08-31emit_spirv_warp: Fix ballot related ops for 64-thread warp sizesameerj1-10/+11
2021-08-31Add colorfront and txtcoord supportFeng Chen3-0/+44
2021-08-27emit_spirv_context_get_set: Fix Get FrontFace return valueameerj1-2/+3
2021-08-19SPIR-V: Merge two ifs in EmitGetAttributeValeri1-6/+2
2021-07-26emit_spirv_instructions: Add missing header guardLioncash1-0/+2
2021-07-23shader: Fix disabled attribute default valuesameerj1-1/+1
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq1-5/+10
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj2-7/+31
2021-07-23emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp1-5/+8
2021-07-23shader: GCC fmt 8.0.0 fixeslat9nq1-2/+3
2021-07-23shader: Fix disabled and unwritten attributes and varyingsReinUsesLisp1-1/+5
2021-07-23spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp1-1/+2
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp4-50/+70
2021-07-23shader: Remove IAbs64ReinUsesLisp2-5/+0
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp3-11/+18
2021-07-23spirv: Properly handle devices without int8 and int16ReinUsesLisp2-39/+67
2021-07-23spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp2-6/+6
2021-07-23shader: Properly manage attributes not written from previous stagesReinUsesLisp2-1/+4
2021-07-23shader: Split profile and runtime info headersReinUsesLisp1-0/+1
2021-07-23spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp1-2/+2
2021-07-23shader: Add loggingReinUsesLisp4-11/+11
2021-07-23shader: Add shader loop safety check settingslat9nq2-8/+18
2021-07-23spirv/convert: Catch more signed operations oversightsameerj1-5/+5
2021-07-23spirv/convert: Catch more broken signed operations on Nvidia OpenGLReinUsesLisp1-0/+6
2021-07-23shader: Add support for "negative" and unaligned offsetsReinUsesLisp1-6/+3
2021-07-23spirv: Fix output generics with componentsReinUsesLisp1-1/+1
2021-07-23opengl: Declare fragment outputs even if they are not usedReinUsesLisp1-1/+1
2021-07-23spirv: Fix image and image buffer descriptor index usageReinUsesLisp1-5/+7
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp6-33/+42
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp2-2/+11
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp2-6/+6
2021-07-23shader_recompiler: GCC fixeslat9nq1-16/+16
2021-07-23emit_spirv: Jump to loop body with local variableReinUsesLisp1-1/+1
2021-07-23emit_spirv: Add missing block in caseReinUsesLisp1-1/+2
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2-2/+7
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp5-49/+74
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp2-2/+4
2021-07-23shader: Fixup SPIR-V emit header namespacesReinUsesLisp1-2/+2
2021-07-23Move SPIR-V emission functions to their own headerReinUsesLisp22-572/+610
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