|
| | GpuComputePass (GaussianSplatGpuContext &ctx, ComputeProgramId pid, const char *label=nullptr) |
| |
| | ~GpuComputePass () |
| |
| | GpuComputePass (const GpuComputePass &)=delete |
| |
| GpuComputePass & | operator= (const GpuComputePass &)=delete |
| |
| bool | ok () const |
| | Returns false only when EnsureProgramsLoaded() failed (device error). More...
|
| |
| GpuComputePass & | UBO (std::uint32_t binding, std::uintptr_t buf) |
| |
| GpuComputePass & | UBORange (std::uint32_t binding, std::uintptr_t buf, std::size_t offset, std::size_t size) |
| |
| GpuComputePass & | SSBO (std::uint32_t binding, std::uintptr_t buf) |
| |
| GpuComputePass & | Image (std::uint32_t binding, std::uintptr_t tex, std::uint32_t w, std::uint32_t h, ImageFormat fmt) |
| |
| GpuComputePass & | Sampler (std::uint32_t unit, std::uintptr_t tex, std::uint32_t w, std::uint32_t h) |
| |
| void | Dispatch (std::uint32_t gx, std::uint32_t gy, std::uint32_t gz) |
| |
| void | DispatchIndirect (std::uintptr_t buf, std::size_t byte_offset) |
| |
RAII dispatch helper. Ctor: UseProgram + PushDebugGroup. Builder methods bind resources (return *this for chaining). Dispatch() / DispatchIndirect() fires the GPU work. Dtor: PopDebugGroup (if programs loaded successfully).
If EnsureProgramsLoaded() fails, ok() returns false. All builder methods and dispatch calls become no-ops — caller does NOT need to test ok() unless it wants to short-circuit further work for the whole pass sequence.