Expand description
SSBO management: typed buffers, double-buffering, atomic counters, buffer pools, barrier types, memory tracking, mapped ranges, copy engine.
Structs§
- Atomic
Counter - GPU atomic counter buffer. Used for particle birth/death counting, indirect dispatch argument generation, etc.
- Buffer
Copy Engine - Performs GPU-side buffer-to-buffer copies without CPU readback.
- Buffer
Debug - Debug utilities for labeling buffers (requires GL_KHR_debug).
- Buffer
Handle - Opaque handle to a GPU buffer (wraps a raw OpenGL buffer name).
- Buffer
Pool - A pool that recycles GPU buffers to avoid frequent allocation/deallocation.
- Buffer
Ring Allocator - A ring allocator for streaming per-frame data into a large buffer. Each frame gets a slice of the ring; after N frames the oldest slice is reused.
- Copy
Region - Describes a region to copy between two buffers.
- Field
Descriptor - Metadata about a field within a structured buffer.
- Indirect
Buffer - Buffer that stores indirect dispatch commands.
- Indirect
Dispatch Command - Indirect dispatch arguments as laid out in GPU memory.
- Mapped
Range - Represents a mapped sub-range of a buffer for CPU write access. The mapping must be flushed and unmapped before the GPU can read.
- Memory
Tracker - Tracks total GPU memory allocated through this subsystem.
- Multi
Counter - Holds multiple atomic counters in a single buffer.
- Particle
Buffer - Double-buffered particle storage for ping-pong compute dispatch.
- Particle
GpuData - A particle position/velocity datum, tightly packed for GPU.
- Shared
Buffer Pool - Thread-safe buffer pool.
- Structured
Buffer - A buffer that tracks its internal field layout for shader interop.
- Typed
Buffer - A strongly-typed GPU Shader Storage Buffer Object.
Enums§
- Buffer
Barrier Type - Types of memory barriers that can be issued after compute writes.
- Buffer
Usage - Intended usage hint when creating a buffer.
Functions§
- issue_
barrier - Issue a glMemoryBarrier with the given barrier type.
- issue_
barrier_ raw - Issue a glMemoryBarrier with raw bits.
- shared_
tracker - Create a new shared memory tracker (convenience wrapper).