13 auto name = vello_cpp::shader(stage).name();
18 auto wgSize = vello_cpp::shader(stage).workgroup_size();
24 auto wgBuffers = vello_cpp::shader(stage).workgroup_buffers();
26 if (!wgBuffers.empty()) {
27 result.reserve(wgBuffers.size());
28 for (
const auto&
desc : wgBuffers) {
39 const auto& shader = vello_cpp::shader(stage);
41 std::string entryPoint;
44 case NativeFormat::kWGSL:
50 case NativeFormat::kMSL:
56 return {std::string_view(),
""};
59 return {{
source.data(),
source.length()}, std::move(entryPoint)};
62#define BUFFER_BINDING(slot, type, policy) \
64 ComputeStep::ResourceType::k##type##Buffer, \
65 ComputeStep::DataFlow::kShared, \
66 ComputeStep::ResourcePolicy::k##policy, \
70#define TEXTURE_BINDING(slot, type, policy) \
72 ComputeStep::ResourceType::k##type##Texture, \
73 ComputeStep::DataFlow::kShared, \
74 ComputeStep::ResourcePolicy::k##policy, \
79VelloPathtagReduceStep::VelloPathtagReduceStep()
87VelloPathtagScanSmallStep::VelloPathtagScanSmallStep()
96VelloPathtagReduce2Step::VelloPathtagReduce2Step()
98 BUFFER_BINDING(LargePathtagReduceFirstPassOutput, ReadOnlyStorage, None),
103VelloPathtagScan1Step::VelloPathtagScan1Step()
105 BUFFER_BINDING(LargePathtagReduceFirstPassOutput, ReadOnlyStorage, None),
106 BUFFER_BINDING(LargePathtagReduceSecondPassOutput, ReadOnlyStorage, None),
111VelloPathtagScanLargeStep::VelloPathtagScanLargeStep()
115 BUFFER_BINDING(LargePathtagScanFirstPassOutput, ReadOnlyStorage, None),
120VelloBboxClearStep::VelloBboxClearStep()
127VelloFlattenStep::VelloFlattenStep()
138VelloDrawReduceStep::VelloDrawReduceStep()
146VelloDrawLeafStep::VelloDrawLeafStep()
158VelloClipReduceStep::VelloClipReduceStep()
167VelloClipLeafStep::VelloClipLeafStep()
179VelloBinningStep::VelloBinningStep()
192VelloTileAllocStep::VelloTileAllocStep()
203VelloPathCountSetupStep::VelloPathCountSetupStep()
210VelloPathCountStep::VelloPathCountStep()
221VelloBackdropDynStep::VelloBackdropDynStep()
230VelloCoarseStep::VelloCoarseStep()
244VelloPathTilingSetupStep::VelloPathTilingSetupStep()
252VelloPathTilingStep::VelloPathTilingStep()
#define BUFFER_BINDING(slot, type, policy)
#define TEXTURE_BINDING(slot, type, policy)
VelloFineAreaAlpha8Step()
VelloFineMsaa16Alpha8Step()
VelloFineMsaa8Alpha8Step()
uint32_t uint32_t * format
DEF_SWITCHES_START aot vmservice shared library name
static constexpr ComputeStep::ResourceDesc kFineMsaaResources[]
skia_private::TArray< ComputeStep::WorkgroupBufferDesc > VelloWorkgroupBuffers(vello_cpp::ShaderStage stage)
std::string_view VelloStageName(vello_cpp::ShaderStage stage)
ComputeStep::NativeShaderSource VelloNativeShaderSource(vello_cpp::ShaderStage stage, ComputeStep::NativeShaderFormat format)
WorkgroupSize VelloStageLocalSize(vello_cpp::ShaderStage stage)
static constexpr ComputeStep::ResourceDesc kFineAreaResources[]