|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
RAII wrapper around a WebGPU device - headless or host-provided. More...
#include <algorithm>#include <atomic>#include <chrono>#include <cstddef>#include <deque>#include <functional>#include <map>#include <memory>#include <mutex>#include <tuple>#include <vector>#include <webgpu/webgpu.hpp>#include "donner/base/Utils.h"#include "donner/gpu/Device.h"#include "donner/svg/renderer/geode/GeodeCounters.h"#include "donner/svg/renderer/geode/GeodeGpuContext.h"#include "donner/svg/renderer/geode/GeodeGpuWait.h"#include "donner/svg/renderer/geode/GeodeWgpuUtil.h"Classes | |
| struct | donner::geode::SnapshotReadbackResources |
| Move-only resource set for one GPU snapshot unpremultiply readback: a straight-alpha staging texture, its view, and a map-readable readback buffer. More... | |
| struct | donner::geode::GeodeEmbedConfig |
| Configuration for embedding Geode into a host application that already owns a WebGPU device. More... | |
| class | donner::geode::GeodeDevice |
| Owns (or wraps) a WebGPU device/queue pair for GPU rendering. More... | |
| struct | donner::geode::GeodeDevice::ReadbackStats |
| struct | donner::geode::GeodeDevice::SceneBatchBindGroupKey |
| Key identifying a scene-batch bind group by its exact buffer bindings: the shared batch uniform allocation, the geometry slab chunk, and the record span. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
| namespace | donner::svg |
| Donner SVG library, which can load, manipulate and render SVG files. | |
RAII wrapper around a WebGPU device - headless or host-provided.
| struct donner::geode::GeodeDevice::ReadbackStats |
| Class Members | ||
|---|---|---|
| uint64_t | bindgroupCreates = 0 | |
| uint64_t | bufferCreates = 0 | GPU allocation and submission work performed by isolated captures. |
| uint64_t | captureCancellations = 0 | Captures cancelled while acquiring the context, mapping, or copying pixels. |
| uint64_t | captureTimeouts = 0 | Captures whose total deadline expired. |
| uint64_t | contextCreates = 0 | Lazily created readback-only contexts; independent of rendering pipelines. |
| int | count = 0 | |
| bool | deviceLost = false | True once this device has been declared lost. Sticky, so every later consume keeps reporting it: a frame that never rendered has no other evidence to carry. |
| int | pollIterations = 0 | |
| uint64_t | poolBytes = 0 | |
| uint64_t | poolEntries = 0 | Idle pooled resource sets and their logical backing bytes after the latest capture. |
| uint64_t | submits = 0 | |
| uint64_t | textureCreates = 0 | |
| int | timedOutWaitMs = 0 | Wall time that wait spent before giving up, in milliseconds. |
| GpuWaitSite | timedOutWaitSite = GpuWaitSite::None | Bounded wait that declared that loss, or None. |
| bool | usedTimedWaitAny = false | |