8#ifndef skgpu_graphite_DawnBuffer_DEFINED
9#define skgpu_graphite_DawnBuffer_DEFINED
11#include "webgpu/webgpu_cpp.h"
29 std::string_view label);
33 const wgpu::Buffer&
dawnBuffer()
const {
return fBuffer; }
40 void* mapAtCreationPtr,
41 std::string_view label);
43#if defined(__EMSCRIPTEN__)
47 void onMap()
override;
50 void mapCallback(WGPUBufferMapAsyncStatus status);
55 const char* dumpName)
const override;
virtual void onAsyncMap(GpuFinishedProc, GpuFinishedContext)
bool isUnmappable() const override
void freeGpuData() override
void onDumpMemoryStatistics(SkTraceMemoryDump *traceMemoryDump, const char *dumpName) const override
static sk_sp< DawnBuffer > Make(const DawnSharedContext *, size_t size, BufferType type, AccessPattern, std::string_view label)
const wgpu::Buffer & dawnBuffer() const
virtual void prepareForReturnToCache(const std::function< void()> &takeRef)
const SharedContext * sharedContext() const
void * GpuFinishedContext
void(*)(GpuFinishedContext finishedContext, CallbackResult) GpuFinishedProc