21 std::string_view label)
24 , fSizeInBytes(sizeInBytes)
25 , fAccessPattern(pattern)
26 , fIntendedType(
type) {}
33 this->
onMap(this->mapType());
92 builder[1] = (uint32_t)
size;
93 if (
sizeof(
size_t) > 4) {
94 builder[2] = (uint32_t)((uint64_t)
size >> 32);
@ kDynamic_GrAccessPattern
static constexpr size_t SkAlignTo(size_t x, size_t alignment)
static constexpr bool SkToBool(const T &x)
constexpr uint32_t SkToU32(S x)
size_t bufferUpdateDataPreserveAlignment() const
static void ComputeScratchKeyForDynamicBuffer(size_t size, GrGpuBufferType, skgpu::ScratchKey *)
size_t size() const final
GrGpuBuffer(GrGpu *, size_t sizeInBytes, GrGpuBufferType, GrAccessPattern, std::string_view label)
GrGpuBufferType intendedType() const
virtual bool onUpdateData(const void *src, size_t offset, size_t size, bool preserve)=0
virtual void onUnmap(MapType)=0
virtual bool onClearToZero()=0
bool updateData(const void *src, size_t offset, size_t size, bool preserve)
virtual void onMap(MapType)=0
void computeScratchKey(skgpu::ScratchKey *key) const override
bool wasDestroyed() const
const GrCaps * caps() const
static ResourceType GenerateResourceType()