Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
skgpu::graphite::UploadBufferManager Class Reference

#include <UploadBufferManager.h>

Public Member Functions

 UploadBufferManager (ResourceProvider *, const Caps *)
 
 ~UploadBufferManager ()
 
std::tuple< TextureUploadWriter, BindBufferInfogetTextureUploadWriter (size_t requiredBytes, size_t requiredAlignment)
 
void transferToRecording (Recording *)
 
void transferToCommandBuffer (CommandBuffer *)
 

Friends

class DrawBufferManager
 
class StaticBufferManager
 

Detailed Description

Definition at line 27 of file UploadBufferManager.h.

Constructor & Destructor Documentation

◆ UploadBufferManager()

skgpu::graphite::UploadBufferManager::UploadBufferManager ( ResourceProvider resourceProvider,
const Caps caps 
)

Definition at line 22 of file UploadBufferManager.cpp.

24 : fResourceProvider(resourceProvider)
25 , fMinAlignment(caps->requiredTransferBufferAlignment()) {}

◆ ~UploadBufferManager()

skgpu::graphite::UploadBufferManager::~UploadBufferManager ( )

Definition at line 27 of file UploadBufferManager.cpp.

27{}

Member Function Documentation

◆ getTextureUploadWriter()

std::tuple< TextureUploadWriter, BindBufferInfo > skgpu::graphite::UploadBufferManager::getTextureUploadWriter ( size_t  requiredBytes,
size_t  requiredAlignment 
)

Definition at line 29 of file UploadBufferManager.cpp.

30 {
31 auto[bufferMapPtr, bindInfo] = this->makeBindInfo(requiredBytes,
32 requiredAlignment,
33 "TextureUploadBuffer");
34 if (!bufferMapPtr) {
35 return {TextureUploadWriter(), BindBufferInfo()};
36 }
37
38 return {TextureUploadWriter(bufferMapPtr, requiredBytes), bindInfo};
39}

◆ transferToCommandBuffer()

void skgpu::graphite::UploadBufferManager::transferToCommandBuffer ( CommandBuffer commandBuffer)

Definition at line 117 of file UploadBufferManager.cpp.

117 {
118 for (sk_sp<Buffer>& buffer : fUsedBuffers) {
119 buffer->unmap();
120 commandBuffer->trackResource(std::move(buffer));
121 }
122 fUsedBuffers.clear();
123
124 if (fReusedBuffer) {
125 fReusedBuffer->unmap();
126 commandBuffer->trackResource(std::move(fReusedBuffer));
127 }
128}
static const uint8_t buffer[]

◆ transferToRecording()

void skgpu::graphite::UploadBufferManager::transferToRecording ( Recording recording)

Definition at line 104 of file UploadBufferManager.cpp.

104 {
105 for (sk_sp<Buffer>& buffer : fUsedBuffers) {
106 buffer->unmap();
107 recording->priv().addResourceRef(std::move(buffer));
108 }
109 fUsedBuffers.clear();
110
111 if (fReusedBuffer) {
112 fReusedBuffer->unmap();
113 recording->priv().addResourceRef(std::move(fReusedBuffer));
114 }
115}

Friends And Related Symbol Documentation

◆ DrawBufferManager

friend class DrawBufferManager
friend

Definition at line 40 of file UploadBufferManager.h.

◆ StaticBufferManager

friend class StaticBufferManager
friend

Definition at line 41 of file UploadBufferManager.h.


The documentation for this class was generated from the following files: