Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
Loading...
Searching...
No Matches
donner::geode::GeodeEmbedConfig Struct Reference

Configuration for embedding Geode into a host application that already owns a WebGPU device. More...

#include "donner/svg/renderer/geode/GeodeDevice.h"

Public Attributes

wgpu::Instance instance
 Optional host-provided WebGPU instance. Browser embedders should provide it so synchronous snapshot readback can wait for map callback completion through Instance::waitAny().
wgpu::Device device
 Host-provided WebGPU device. Must not be null.
wgpu::Queue queue
 Host-provided queue associated with device. Must not be null.
wgpu::TextureFormat textureFormat = wgpu::TextureFormat::RGBA8Unorm
 Texture format for render targets. Must match the format of any texture passed to RendererGeode::setTargetTexture().
wgpu::Adapter adapter
 Optional adapter handle. Preserved for hosts that need to query the adapter associated with the external device.

Detailed Description

Configuration for embedding Geode into a host application that already owns a WebGPU device.

The host is responsible for the lifetime of the device and queue - they must remain valid for the entire lifetime of any GeodeDevice or RendererGeode constructed from this config.

Example:

config.instance = myInstance; // Optional; enables browser snapshot callbacks.
config.device = myDevice;
config.queue = myQueue;
config.textureFormat = wgpu::TextureFormat::BGRA8Unorm;
auto geodeDevice = GeodeDevice::CreateFromExternal(config);
RendererGeode renderer(std::move(geodeDevice));
static std::unique_ptr< GeodeDevice > CreateFromExternal(const GeodeEmbedConfig &config)
Create a GeodeDevice wrapping a host-provided device and queue.
Configuration for embedding Geode into a host application that already owns a WebGPU device.
Definition GeodeDevice.h:47
wgpu::Instance instance
Optional host-provided WebGPU instance. Browser embedders should provide it so synchronous snapshot r...
Definition GeodeDevice.h:51
wgpu::Device device
Host-provided WebGPU device. Must not be null.
Definition GeodeDevice.h:54
wgpu::Queue queue
Host-provided queue associated with device. Must not be null.
Definition GeodeDevice.h:57
wgpu::TextureFormat textureFormat
Texture format for render targets. Must match the format of any texture passed to RendererGeode::setT...
Definition GeodeDevice.h:61

Member Data Documentation

◆ adapter

wgpu::Adapter donner::geode::GeodeEmbedConfig::adapter

Optional adapter handle. Preserved for hosts that need to query the adapter associated with the external device.

◆ device

wgpu::Device donner::geode::GeodeEmbedConfig::device

Host-provided WebGPU device. Must not be null.

◆ instance

wgpu::Instance donner::geode::GeodeEmbedConfig::instance

Optional host-provided WebGPU instance. Browser embedders should provide it so synchronous snapshot readback can wait for map callback completion through Instance::waitAny().

◆ queue

wgpu::Queue donner::geode::GeodeEmbedConfig::queue

Host-provided queue associated with device. Must not be null.

◆ textureFormat

wgpu::TextureFormat donner::geode::GeodeEmbedConfig::textureFormat = wgpu::TextureFormat::RGBA8Unorm

Texture format for render targets. Must match the format of any texture passed to RendererGeode::setTargetTexture().


The documentation for this struct was generated from the following file: