4#include <QtGui/private/qrhi_p.h>
6#include <score_plugin_gfx_export.h>
22SCORE_PLUGIN_GFX_EXPORT
23QRhiGraphicsPipeline::CompareOp toCompareOp(std::string_view s)
noexcept;
25SCORE_PLUGIN_GFX_EXPORT
26QRhiGraphicsPipeline::CullMode toCullMode(std::string_view s)
noexcept;
28SCORE_PLUGIN_GFX_EXPORT
29QRhiGraphicsPipeline::FrontFace toFrontFace(std::string_view s)
noexcept;
31SCORE_PLUGIN_GFX_EXPORT
32QRhiGraphicsPipeline::PolygonMode toPolygonMode(std::string_view s)
noexcept;
36SCORE_PLUGIN_GFX_EXPORT
37QRhiGraphicsPipeline::Topology toTopology(std::string_view s)
noexcept;
41SCORE_PLUGIN_GFX_EXPORT
42QRhiGraphicsPipeline::PolygonMode supportedPolygonMode(
43 QRhiGraphicsPipeline::PolygonMode requested,
bool nonFillSupported)
noexcept;
49SCORE_PLUGIN_GFX_EXPORT
50bool triangleFanSupported(
const QRhi& rhi)
noexcept;
56SCORE_PLUGIN_GFX_EXPORT
57QRhiGraphicsPipeline::Topology
58supportedTopology(
const QRhi& rhi, QRhiGraphicsPipeline::Topology requested)
noexcept;
64SCORE_PLUGIN_GFX_EXPORT
65void setSupportedTopology(
66 QRhiGraphicsPipeline& ps, QRhiGraphicsPipeline::Topology requested)
noexcept;
69SCORE_PLUGIN_GFX_EXPORT
70bool drawsUnsupportedFan(
const QRhiGraphicsPipeline& ps)
noexcept;
72SCORE_PLUGIN_GFX_EXPORT
73QRhiGraphicsPipeline::BlendFactor toBlendFactor(std::string_view s)
noexcept;
75SCORE_PLUGIN_GFX_EXPORT
76QRhiGraphicsPipeline::BlendOp toBlendOp(std::string_view s)
noexcept;
78SCORE_PLUGIN_GFX_EXPORT
79QRhiGraphicsPipeline::StencilOp toStencilOp(std::string_view s)
noexcept;
81SCORE_PLUGIN_GFX_EXPORT
82QRhiGraphicsPipeline::ColorMask toColorMask(std::string_view s)
noexcept;
90SCORE_PLUGIN_GFX_EXPORT
91float depthClearForCompare(QRhiGraphicsPipeline::CompareOp compare)
noexcept;
100SCORE_PLUGIN_GFX_EXPORT
101float depthClearForState(
const isf::pipeline_state& state)
noexcept;
105SCORE_PLUGIN_GFX_EXPORT
106QRhiGraphicsPipeline::TargetBlend toTargetBlend(
const isf::blend_attachment& b)
noexcept;
108SCORE_PLUGIN_GFX_EXPORT
109QRhiGraphicsPipeline::StencilOpState toStencilOpState(
const isf::stencil_op_state& s)
noexcept;
118SCORE_PLUGIN_GFX_EXPORT
119QRhiGraphicsPipeline::TargetBlend premultipliedOverBlend() noexcept;
122SCORE_PLUGIN_GFX_EXPORT
123QRhiGraphicsPipeline::TargetBlend straightOverBlend() noexcept;
136SCORE_PLUGIN_GFX_EXPORT
137QRhiGraphicsPipeline::TargetBlend
138blendFor(isf::alpha_mode alpha, isf::composite_mode composite) noexcept;
144SCORE_PLUGIN_GFX_EXPORT
145QRhiGraphicsPipeline::TargetBlend
146layerBlendFor(isf::alpha_mode alpha, isf::composite_mode composite) noexcept;
152SCORE_PLUGIN_GFX_EXPORT
153QVarLengthArray<QRhiGraphicsPipeline::TargetBlend, 4> outputBlends(
154 const isf::descriptor& desc,
int colorAttachmentCount,
bool ownTargets = false);
159SCORE_PLUGIN_GFX_EXPORT
160QRhiGraphicsPipeline::TargetBlend
161copyBlendFor(const isf::descriptor& desc, const isf::output_declaration* out) noexcept;
165SCORE_PLUGIN_GFX_EXPORT
166const isf::output_declaration*
167colorOutputDeclaration(const isf::descriptor& desc, const Node& node, const Port& output);
170SCORE_PLUGIN_GFX_EXPORT
171bool formatSupportsBlending(QRhiTexture::Format f) noexcept;
178SCORE_PLUGIN_GFX_EXPORT
179isf::pipeline_state mergeState(isf::pipeline_state base, const isf::pipeline_state& over);
184SCORE_PLUGIN_GFX_EXPORT
185bool declaresDepthWrite(const isf::pipeline_state& state) noexcept;
191SCORE_PLUGIN_GFX_EXPORT
192isf::pipeline_state depthCopyState(const isf::pipeline_state& source);
195SCORE_PLUGIN_GFX_EXPORT
196bool stateAffectsPipeline(const isf::pipeline_state&) noexcept;
212SCORE_PLUGIN_GFX_EXPORT
213void applyPipelineState(
214 const QRhi& rhi, QRhiGraphicsPipeline& pip,
215 const isf::pipeline_state& state,
216 int colorAttachmentCount,
217 bool depthAttachmentAvailable,
218 bool wantsDepthByDefault) noexcept;
226SCORE_PLUGIN_GFX_EXPORT
227void dropStencilWithoutAttachment(
228 QRhiGraphicsPipeline& pip,
bool stencilAttachmentAvailable,
229 std::string_view what) noexcept;
TreeNode< DeviceExplorerNode > Node
Definition DeviceNode.hpp:74
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:11