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

donner::gpu::metal::MetalDevice - the Metal backend for the Donner GPU runtime. More...

#include <chrono>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <vector>
#include "donner/gpu/Device.h"
#include "donner/gpu/GpuLimits.h"
Include dependency graph for MetalDevice.h:

Classes

class  donner::gpu::metal::MetalDevice
 Metal backend of the Donner GPU runtime. More...
struct  donner::gpu::metal::MetalDevice::WriteStats
 Snapshot of upload bookkeeping for tests and performance measurements. More...

Namespaces

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

Detailed Description

donner::gpu::metal::MetalDevice - the Metal backend for the Donner GPU runtime.


Class Documentation

◆ donner::gpu::metal::MetalDevice::WriteStats

struct donner::gpu::metal::MetalDevice::WriteStats

Snapshot of upload bookkeeping for tests and performance measurements.

Class Members
uint64_t inFlightStagingBytes = 0 Packed staging bytes retained until GPU completion.
uint64_t pendingStagingBytes = 0 Packed staging bytes reserved for those writes.
size_t pendingWrites = 0 Coalesced writes awaiting a normal submission.
uint64_t stagingAllocations = 0 Native upload staging allocations attempted.
uint64_t submittedUploadBatches = 0 Ordinary submissions containing queued writes.
uint64_t unalignedWriteWaits = 0 Resource waits needed by unaligned buffer writes.