summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-06-22Remove memory allocations in some hot pathsKelebek11-1/+1
2022-11-27Vulkan: update initializationLiam1-6/+7
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-01-28emit_spirv: Add Xfb execution mode when transform feedback is usedameerj1-3/+9
Fixes Transform Feedback on Vulkan AMD drivers.
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-06emit_spirv: Reduce emit_spirv.h include overheadameerj1-0/+1
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
2021-07-23emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp1-5/+8
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp1-5/+14
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp1-1/+18
2021-07-23spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp1-2/+2
2021-07-23shader: Add loggingReinUsesLisp1-4/+4
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp1-9/+11
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp1-1/+9
Fixes the identity removal pass.
2021-07-23shader_recompiler: GCC fixeslat9nq1-16/+16
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-23emit_spirv: Jump to loop body with local variableReinUsesLisp1-1/+1
Silence unused variable warning
2021-07-23emit_spirv: Add missing block in caseReinUsesLisp1-1/+2
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp1-1/+5
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-6/+65
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp1-1/+3
2021-07-23Move SPIR-V emission functions to their own headerReinUsesLisp1-0/+1
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj1-0/+3
2021-07-23spirv: Do not enable ShaderLayerReinUsesLisp1-3/+0
This is enabled by an extension instead of the capability.
2021-07-23spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp1-1/+1
2021-07-23spirv: Use OriginLowerLeft when requestedReinUsesLisp1-1/+5
2021-07-23spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp1-1/+1
2021-07-23shader: Move microinstruction header to the value headerReinUsesLisp1-1/+0
2021-07-23shader: Address feedbackFernandoS271-1/+1
2021-07-23shader: Implement fine derivates constant propagationFernandoS271-0/+3
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp1-0/+3
2021-07-23spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp1-0/+4
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp1-0/+39
2021-07-23spirv: Implement Layer storesReinUsesLisp1-6/+10
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp1-0/+3
2021-07-23shader: Implement early Z testsReinUsesLisp1-0/+3
2021-07-23spirv: Rework storage buffers and shader memoryReinUsesLisp1-1/+1
2021-07-23shader: Implement geometry shadersReinUsesLisp1-0/+38
2021-07-23spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp1-0/+3
2021-07-23shader: Implement ATOM/S and REDameerj1-0/+3
2021-07-23spirv: Move phi node patching to a separate functionReinUsesLisp1-13/+16
2021-07-23spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp1-1/+3
2021-07-23spirv: Fix forward declarations on phi nodesReinUsesLisp1-47/+25
2021-07-23shader: Implement SULD and SUSTReinUsesLisp1-0/+1
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq1-8/+11
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>
2021-07-23shader: Implement texture buffersReinUsesLisp1-0/+1
2021-07-23shader: Address FeedbackFernandoS271-3/+1
2021-07-23shader: Implement ViewportIndexFernandoS271-0/+10
2021-07-23shader: Fix branches to visited virtual blocksReinUsesLisp1-0/+2
2021-07-23shader: Fix dependency on identity removal passReinUsesLisp1-2/+7
2021-07-23shader: Store type of phi nodes in flagsReinUsesLisp1-1/+2
This is needed because pseudo-instructions where invalidated.
2021-07-23spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp1-6/+5
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp1-3/+7
2021-07-23shader: Implement SHFLameerj1-1/+5
2021-07-23shader: Implement VOTEameerj1-0/+9
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj1-18/+21
2021-07-23spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp1-47/+60
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp1-14/+30
2021-07-23shader: Implement FSET and FSETPameerj1-2/+4
Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp1-11/+6
2021-07-23spirv: Add SignedZeroInfNanPreserve logicameerj1-0/+6
2021-07-23shader: Initial support for textures and TEXReinUsesLisp1-0/+12
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-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-3/+3
2021-07-23shader: Add denorm flush supportReinUsesLisp1-5/+58
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp1-0/+2
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp1-60/+57
2021-07-23spirv: Implement EmitIdentityReinUsesLisp1-2/+2
2021-07-23spirv: Initial bindings supportReinUsesLisp1-101/+88
2021-07-23shader: Add support for forward declarationsReinUsesLisp1-13/+48
2021-07-23shader: Misc fixesReinUsesLisp1-0/+6
2021-07-23shader: Initial implementation of an ASTReinUsesLisp1-2/+43
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp1-0/+134