summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Vulkan: update initializationLiam2022-11-271-6/+7
| | | | Co-authored-by: bylaws <bylaws@users.noreply.github.com>
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-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.
* emit_spirv: Add Xfb execution mode when transform feedback is usedameerj2022-01-281-3/+9
| | | | Fixes Transform Feedback on Vulkan AMD drivers.
* Empty spacesMatías Locatti2021-12-281-1/+1
|
* Changes to avoid warnings in SSE4.2 optimized SPIR-VMatías Locatti2021-12-281-0/+9
|
* emit_spirv: Reduce emit_spirv.h include overheadameerj2021-12-061-0/+1
| | | | emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
* emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp2021-07-231-5/+8
| | | | Fix regression on Fire Emblem: Three Houses when using native fp16.
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-231-5/+14
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* shader: Move loop safety tests to code emissionReinUsesLisp2021-07-231-1/+18
|
* spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp2021-07-231-2/+2
|
* shader: Add loggingReinUsesLisp2021-07-231-4/+4
|
* shader: Split profile and runtime information in separate structsReinUsesLisp2021-07-231-9/+11
|
* shader: Read branch conditions from an instructionReinUsesLisp2021-07-231-1/+9
| | | | Fixes the identity removal pass.
* shader_recompiler: GCC fixeslat9nq2021-07-231-16/+16
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* emit_spirv: Jump to loop body with local variableReinUsesLisp2021-07-231-1/+1
| | | | Silence unused variable warning
* emit_spirv: Add missing block in caseReinUsesLisp2021-07-231-1/+2
|
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-231-1/+5
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-231-6/+65
| | | | | 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
|
* Move SPIR-V emission functions to their own headerReinUsesLisp2021-07-231-0/+1
|
* shader: Implement Int32 SUATOM/SUREDameerj2021-07-231-0/+3
|
* spirv: Do not enable ShaderLayerReinUsesLisp2021-07-231-3/+0
| | | | This is enabled by an extension instead of the capability.
* spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp2021-07-231-1/+1
|
* spirv: Use OriginLowerLeft when requestedReinUsesLisp2021-07-231-1/+5
|
* spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp2021-07-231-1/+1
|
* shader: Move microinstruction header to the value headerReinUsesLisp2021-07-231-1/+0
|
* shader: Address feedbackFernandoS272021-07-231-1/+1
|
* shader: Implement fine derivates constant propagationFernandoS272021-07-231-0/+3
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-231-0/+3
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-231-0/+4
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-231-0/+39
|
* spirv: Implement Layer storesReinUsesLisp2021-07-231-6/+10
|
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-231-0/+3
|
* shader: Implement early Z testsReinUsesLisp2021-07-231-0/+3
|
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-231-1/+1
|
* shader: Implement geometry shadersReinUsesLisp2021-07-231-0/+38
|
* spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp2021-07-231-0/+3
|
* shader: Implement ATOM/S and REDameerj2021-07-231-0/+3
|
* spirv: Move phi node patching to a separate functionReinUsesLisp2021-07-231-13/+16
|
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-231-1/+3
|
* spirv: Fix forward declarations on phi nodesReinUsesLisp2021-07-231-47/+25
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-231-0/+1
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-231-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>
* shader: Implement texture buffersReinUsesLisp2021-07-231-0/+1
|
* shader: Address FeedbackFernandoS272021-07-231-3/+1
|
* shader: Implement ViewportIndexFernandoS272021-07-231-0/+10
|
* shader: Fix branches to visited virtual blocksReinUsesLisp2021-07-231-0/+2
|
* shader: Fix dependency on identity removal passReinUsesLisp2021-07-231-2/+7
|
* shader: Store type of phi nodes in flagsReinUsesLisp2021-07-231-1/+2
| | | | This is needed because pseudo-instructions where invalidated.
* spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2021-07-231-6/+5
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-231-3/+7
|
* shader: Implement SHFLameerj2021-07-231-1/+5
|
* shader: Implement VOTEameerj2021-07-231-0/+9
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-231-18/+21
|
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-231-47/+60
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-231-14/+30
|
* shader: Implement FSET and FSETPameerj2021-07-231-2/+4
| | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-231-11/+6
|
* spirv: Add SignedZeroInfNanPreserve logicameerj2021-07-231-0/+6
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-231-0/+12
|
* spirv: Move phi arguments emit to a separate functionReinUsesLisp2021-07-231-27/+27
|
* spirv: Add support for self-referencing phi nodesReinUsesLisp2021-07-231-3/+10
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-231-3/+3
|
* shader: Add denorm flush supportReinUsesLisp2021-07-231-5/+58
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-231-0/+2
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-231-60/+57
|
* spirv: Implement EmitIdentityReinUsesLisp2021-07-231-2/+2
|
* spirv: Initial bindings supportReinUsesLisp2021-07-231-101/+88
|
* shader: Add support for forward declarationsReinUsesLisp2021-07-231-13/+48
|
* shader: Misc fixesReinUsesLisp2021-07-231-0/+6
|
* shader: Initial implementation of an ASTReinUsesLisp2021-07-231-2/+43
|
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-231-0/+134