16 size_t size,
size_t requiredAlignment) {
17 StagingBuffer*
buffer =
nullptr;
19 for (
size_t i = 0; i < fBuffers.size(); ++i) {
20 size_t totalBufferSize = fBuffers[i].fBuffer->size();
21 size_t currentOffset = fBuffers[i].fOffset;
22 offset = ((currentOffset + requiredAlignment - 1)/requiredAlignment)*requiredAlignment;
23 if (totalBufferSize -
offset >= size) {
32 size_t bufferSize = std::max(size, minSize);
41 void* mapPtr = newBuffer->map();
45 fBuffers.emplace_back(std::move(newBuffer), mapPtr);
54 char* offsetMapPtr =
static_cast<char*
>(
buffer->fMapPtr) +
offset;
const GrContextOptions & options() const
GrResourceProvider * resourceProvider()
GrDirectContextPriv priv()
static const uint8_t buffer[]
size_t fMinimumStagingBufferSize