21 public BackendCast<DeviceBufferGLES, DeviceBuffer> {
24 std::shared_ptr<ReactorGLES>
reactor,
25 std::unique_ptr<Allocation> backing_store);
33 const std::function<
void(uint8_t*,
size_t length)>& update_buffer_data);
43 void Flush(std::optional<Range> range = std::nullopt)
const override;
48 std::shared_ptr<ReactorGLES> reactor_;
49 std::optional<std::string> label_;
51 mutable std::optional<HandleGLES> handle_;
52 mutable std::unique_ptr<Allocation> backing_store_;
56 mutable Mutex dirty_range_mutex_;
57 mutable std::optional<Range> dirty_range_
59 mutable bool initialized_ =
false;
62 uint8_t* OnGetContents()
const override;
65 bool OnCopyHostBuffer(
const uint8_t* source,
67 size_t offset)
override;
70 bool SetLabel(std::string_view label)
override;
73 bool SetLabel(std::string_view label,
Range range)
override;