|
|
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.
|
Move-only, generation-checked resource handles for donner::gpu.
More...
#include <cstdint>#include <ostream>Classes | |
| class | donner::gpu::Handle< Tag > |
| Move-only handle to a device resource. More... | |
| class | donner::gpu::HandleRef< Tag > |
| Copyable non-owning reference to a Handle, used inside descriptor structs. More... | |
| struct | donner::gpu::BufferTag |
| Tag for Buffer handles. More... | |
| struct | donner::gpu::TextureTag |
| Tag for Texture handles. More... | |
| struct | donner::gpu::TextureViewTag |
| Tag for TextureView handles. More... | |
| struct | donner::gpu::SamplerTag |
| Tag for Sampler handles. More... | |
| struct | donner::gpu::BindGroupLayoutTag |
| Tag for BindGroupLayout handles. More... | |
| struct | donner::gpu::BindGroupTag |
| Tag for BindGroup handles. More... | |
| struct | donner::gpu::PipelineLayoutTag |
| Tag for PipelineLayout handles. More... | |
| struct | donner::gpu::ShaderModuleTag |
| Tag for ShaderModule handles. More... | |
| struct | donner::gpu::RenderPipelineTag |
| Tag for RenderPipeline handles. More... | |
| struct | donner::gpu::CommandBufferTag |
| Tag for CommandBuffer handles. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Typedefs | |
| using | donner::gpu::Buffer = Handle<BufferTag> |
| Buffer handle. | |
| using | donner::gpu::Texture = Handle<TextureTag> |
| Texture handle. | |
| using | donner::gpu::TextureView = Handle<TextureViewTag> |
| Texture view handle. | |
| using | donner::gpu::Sampler = Handle<SamplerTag> |
| Sampler handle. | |
| using | donner::gpu::BindGroupLayout = Handle<BindGroupLayoutTag> |
| Bind group layout handle. | |
| using | donner::gpu::BindGroup = Handle<BindGroupTag> |
| Bind group handle. | |
| using | donner::gpu::PipelineLayout = Handle<PipelineLayoutTag> |
| Pipeline layout handle. | |
| using | donner::gpu::ShaderModule = Handle<ShaderModuleTag> |
| Shader module handle. | |
| using | donner::gpu::RenderPipeline = Handle<RenderPipelineTag> |
| Render pipeline handle. | |
| using | donner::gpu::CommandBuffer = Handle<CommandBufferTag> |
| Finished command buffer handle. | |
| using | donner::gpu::BufferRef = HandleRef<BufferTag> |
| Buffer reference. | |
| using | donner::gpu::TextureRef = HandleRef<TextureTag> |
| Texture reference. | |
| using | donner::gpu::TextureViewRef = HandleRef<TextureViewTag> |
| Texture view reference. | |
| using | donner::gpu::SamplerRef = HandleRef<SamplerTag> |
| Sampler reference. | |
| using | donner::gpu::BindGroupLayoutRef = HandleRef<BindGroupLayoutTag> |
| Bind group layout reference. | |
| using | donner::gpu::BindGroupRef = HandleRef<BindGroupTag> |
| Bind group reference. | |
| using | donner::gpu::PipelineLayoutRef = HandleRef<PipelineLayoutTag> |
| Pipeline layout reference. | |
| using | donner::gpu::ShaderModuleRef = HandleRef<ShaderModuleTag> |
| Shader module reference. | |
| using | donner::gpu::RenderPipelineRef = HandleRef<RenderPipelineTag> |
| Render pipeline reference. | |
Functions | |
| template<typename Tag> | |
| void | donner::gpu::PrintTo (const Handle< Tag > &handle, std::ostream *os) |
| gtest PrintTo support: prints <name>#<slot>@<generation> or <name>(null). | |
| template<typename Tag> | |
| void | donner::gpu::PrintTo (const HandleRef< Tag > &ref, std::ostream *os) |
| gtest PrintTo support: prints <name>#<slot>@<generation> or <name>(null). | |
Move-only, generation-checked resource handles for donner::gpu.
Handles are NOT RAII in this packet: resources are freed by an explicit Device::destroy*(handle) call, and device teardown frees everything that remains. RAII ownership wrappers arrive with the resource-lifetime packet (design 0053 change sequence step 3, "Resource lifetime and submission model"). Dropping a handle without destroying the resource does not dangle or leak beyond the device's lifetime; the resource simply stays alive until device teardown.
| void donner::gpu::PrintTo | ( | const Handle< Tag > & | handle, |
| std::ostream * | os ) |
gtest PrintTo support: prints <name>#<slot>@<generation> or <name>(null).
| handle | Handle to print. |
| os | Output stream. |
| void donner::gpu::PrintTo | ( | const HandleRef< Tag > & | ref, |
| std::ostream * | os ) |
gtest PrintTo support: prints <name>#<slot>@<generation> or <name>(null).
| ref | Reference to print. |
| os | Output stream. |