Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
GeodeShaders.h File Reference

Frozen shader modules used by the live Slug rendering pipelines. Each creator selects the projection the device consumes: the platform-native artifact for a Metal or Vulkan device, and the authored WGSL artifact everywhere else. More...

Include dependency graph for GeodeShaders.h:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Functions

gpu::Result< gpu::ShaderModule > donner::geode::createSlugFillShader (gpu::Device &device)
 Creates the SlugFill module from the frozen artifact matching the device's source kind. Ordinary and batched fills share reflected draw and instance records.
gpu::Result< gpu::ShaderModule > donner::geode::createSlugGradientShader (gpu::Device &device)
 Creates the SlugGradient module from the frozen artifact matching the device's source kind. Linear and radial gradients share the verified gradient parameter block.
gpu::Result< gpu::ShaderModule > donner::geode::createSlugMaskShader (gpu::Device &device)
 Creates the SlugMask module from the frozen artifact matching the device's source kind. The fragment writes scalar clip coverage to an RGBA8Unorm target.
gpu::Result< gpu::ShaderModule > donner::geode::createImageBlitShader (gpu::Device &device)
 Creates the ImageBlit module from the frozen artifact matching the device's source kind. The quad is generated from the vertex index and needs no vertex buffers.

Detailed Description

Frozen shader modules used by the live Slug rendering pipelines. Each creator selects the projection the device consumes: the platform-native artifact for a Metal or Vulkan device, and the authored WGSL artifact everywhere else.

Function Documentation

◆ createImageBlitShader()

gpu::Result< gpu::ShaderModule > donner::geode::createImageBlitShader ( gpu::Device & device)

Creates the ImageBlit module from the frozen artifact matching the device's source kind. The quad is generated from the vertex index and needs no vertex buffers.

Parameters
deviceGPU device receiving the prevalidated source and metadata.
Returns
Shader module or creation error.

◆ createSlugFillShader()

gpu::Result< gpu::ShaderModule > donner::geode::createSlugFillShader ( gpu::Device & device)

Creates the SlugFill module from the frozen artifact matching the device's source kind. Ordinary and batched fills share reflected draw and instance records.

Parameters
deviceGPU device receiving the prevalidated source and metadata.
Returns
Shader module or creation error.

◆ createSlugGradientShader()

gpu::Result< gpu::ShaderModule > donner::geode::createSlugGradientShader ( gpu::Device & device)

Creates the SlugGradient module from the frozen artifact matching the device's source kind. Linear and radial gradients share the verified gradient parameter block.

Parameters
deviceGPU device receiving the prevalidated source and metadata.
Returns
Shader module or creation error.

◆ createSlugMaskShader()

gpu::Result< gpu::ShaderModule > donner::geode::createSlugMaskShader ( gpu::Device & device)

Creates the SlugMask module from the frozen artifact matching the device's source kind. The fragment writes scalar clip coverage to an RGBA8Unorm target.

Parameters
deviceGPU device receiving the prevalidated source and metadata.
Returns
Shader module or creation error.