Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
gpu_fwd.hpp
Go to the documentation of this file.
1#pragma once
2
3// gpu_fwd.hpp — the one place the GPU device types are forward-declared.
4//
5// Where the device layer is gpu-runtime's (PULP_GPU_RUNTIME, set on
6// pulp::platform by tools/cmake/PulpGpuRuntime.cmake), pulp::render::GpuSurface
7// names gpu_runtime::GpuSurface, so a hand-written `class GpuSurface;` in
8// pulp::render would declare a second, unrelated class. Headers that need these
9// names without their definitions include this instead; it depends on nothing,
10// so it lives where every consumer already looks. core_vellum_direction.py
11// refuses a raw forward declaration of them anywhere else.
12
13#if defined(PULP_GPU_RUNTIME)
14namespace gpu_runtime {
15class GpuSurface;
16class GpuCompute;
17namespace bench {
18struct PerfCounters;
19} // namespace bench
20} // namespace gpu_runtime
21
22namespace pulp::render {
23using gpu_runtime::GpuCompute;
24using gpu_runtime::GpuSurface;
25} // namespace pulp::render
26
27namespace pulp::render::bench {
28using gpu_runtime::bench::PerfCounters;
29} // namespace pulp::render::bench
30#else
31namespace pulp::render {
32class GpuSurface;
33class GpuCompute;
34} // namespace pulp::render
35
37struct PerfCounters;
38} // namespace pulp::render::bench
39#endif
GPU compute pipeline for non-rendering workloads (e.g.
Definition gpu_compute.hpp:48
Abstract GPU surface — a presentable rendering target backed by a native window/view.
Definition gpu_surface.hpp:112
Definition gpu_fwd.hpp:36
Definition gpu_fwd.hpp:31