78 return resources_.size();
81 return released_resource_count_;
84 return last_released_resource_id_;
87 return staging_vertices_.size();
91 struct ResourcePayload {
93 std::uint64_t resource_id = 0;
94 std::uint64_t backend_generation = 0;
95 std::vector<WaveformPeakVertex> vertices;
98 [[nodiscard]] WaveformHeadlessRenderFrame
99 make_noop_frame(
const WaveformGpuRenderDecision& decision)
const noexcept;
100 [[nodiscard]] WaveformHeadlessRenderFrame
101 make_cached_frame(
const WaveformGpuRenderDecision& decision,
103 [[nodiscard]] WaveformHeadlessRenderFrame
104 upload_static_layer(
const WaveformGpuRenderDecision& decision);
106 const ResourcePayload* find_resource(
const WaveformGpuResourceRecord& record)
const noexcept;
107 ResourcePayload* find_resource_by_id(std::uint64_t resource_id)
noexcept;
108 bool release_record(
const WaveformGpuResourceRecord& record)
noexcept;
109 bool release_resource_by_id(std::uint64_t resource_id)
noexcept;
110 void release_all_resources() noexcept;
111 void release_commit_records(const WaveformGpuResourcePutResult& result) noexcept;
113 WaveformGpuRenderController controller_;
114 std::vector<WaveformPeakVertex> staging_vertices_;
115 std::vector<ResourcePayload> resources_;
116 std::uint64_t next_resource_id_ = 1;
117 std::
size_t released_resource_count_ = 0;
118 std::uint64_t last_released_resource_id_ = 0;
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
@ DrawCachedStaticLayer
Definition waveform_gpu_render_controller.hpp:38
@ PlayheadOnlyRedraw
Definition waveform_gpu_render_controller.hpp:39
@ CpuFallbackReady
Definition waveform_gpu_render_controller.hpp:36
WaveformHeadlessRenderStatus
Definition waveform_headless_render_backend.hpp:28
@ UploadedStaticLayer
Definition waveform_headless_render_backend.hpp:31
@ MissingCachedResource
Definition waveform_headless_render_backend.hpp:34
@ NoOp
Definition waveform_headless_render_backend.hpp:29
@ ResourceCommitRejected
Definition waveform_headless_render_backend.hpp:36
@ ResourceAllocationFailed
Definition waveform_headless_render_backend.hpp:35
Definition waveform_gpu_render_controller.hpp:23