Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
GeodeGpuContext.h File Reference

donner::geode::GeodeGpuContext - the donner::gpu facing context Geode's encoders record against, plus donner::geode::GeodeTransientResources, the per-recording RAII holder for transient GPU handles. More...

#include <cstdint>
#include <deque>
#include <utility>
#include "donner/gpu/Handles.h"
Include dependency graph for GeodeGpuContext.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::geode::GeodeGpuContext
 Everything Geode's encoders need to record a frame through the donner::gpu runtime. More...
struct  donner::geode::GeodeTransientResources
 RAII holder for transient GPU handles created while recording draws - per-draw uniform buffers, texture views, samplers, and bind groups. More...

Namespaces

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

Variables

constexpr uint64_t donner::geode::kUniformOffsetAlignment = 256u
 Uniform-buffer binding offset alignment every Geode uniform arena honors. 256 is the WebGPU default minUniformBufferOffsetAlignment; a path that ever queries the device limit instead must keep this in sync, or its bindings fail validation on a device with a larger one.

Detailed Description

donner::geode::GeodeGpuContext - the donner::gpu facing context Geode's encoders record against, plus donner::geode::GeodeTransientResources, the per-recording RAII holder for transient GPU handles.

Variable Documentation

◆ kUniformOffsetAlignment

uint64_t donner::geode::kUniformOffsetAlignment = 256u
inlineconstexpr

Uniform-buffer binding offset alignment every Geode uniform arena honors. 256 is the WebGPU default minUniformBufferOffsetAlignment; a path that ever queries the device limit instead must keep this in sync, or its bindings fail validation on a device with a larger one.

Defined here rather than beside any one arena because four of them need it, and a per-arena copy is how they drift apart.