24 SkASSERT(size <= srcBuffer->size() - srcOffset);
26 SkASSERT(size <= dstBuffer->size() - dstOffset);
34CopyBufferToBufferTask::CopyBufferToBufferTask(
const Buffer* srcBuffer,
39 : fSrcBuffer(srcBuffer)
40 , fSrcOffset(srcOffset)
41 , fDstBuffer(
std::move(dstBuffer))
42 , fDstOffset(dstOffset)
49 return Status::kSuccess;
55 if (commandBuffer->
copyBufferToBuffer(fSrcBuffer, fSrcOffset, fDstBuffer, fDstOffset, fSize)) {
56 return Status::kSuccess;
66 size_t bufferRowBytes) {
78 size_t bufferRowBytes)
79 : fTextureProxy(
std::move(textureProxy))
82 , fBufferOffset(bufferOffset)
83 , fBufferRowBytes(bufferRowBytes) {
91 SKGPU_LOG_E(
"No texture proxy specified for CopyTextureToBufferTask");
95 SKGPU_LOG_E(
"Could not instantiate texture proxy for CopyTextureToBufferTask!");
98 return Status::kSuccess;
111 return Status::kSuccess;
113 return Status::kFail;
136 : fSrcProxy(
std::move(srcProxy))
138 , fDstProxy(
std::move(dstProxy))
139 , fDstPoint(dstPoint)
140 , fDstLevel(dstLevel) {}
147 SKGPU_LOG_E(
"No src texture proxy specified for CopyTextureToTextureTask");
148 return Status::kFail;
151 SKGPU_LOG_E(
"Could not instantiate src texture proxy for CopyTextureToTextureTask!");
152 return Status::kFail;
155 SKGPU_LOG_E(
"No dst texture proxy specified for CopyTextureToTextureTask");
156 return Status::kFail;
159 SKGPU_LOG_E(
"Could not instantiate dst texture proxy for CopyTextureToTextureTask!");
160 return Status::kFail;
162 return Status::kSuccess;
171 fDstProxy->refTexture(),
177 return Status::kSuccess;
179 return Status::kFail;
#define SKGPU_LOG_E(fmt,...)
bool copyTextureToTexture(sk_sp< Texture > src, SkIRect srcRect, sk_sp< Texture > dst, SkIPoint dstPoint, int mipLevel)
bool copyTextureToBuffer(sk_sp< Texture >, SkIRect srcRect, sk_sp< Buffer >, size_t bufferOffset, size_t bufferRowBytes)
bool copyBufferToBuffer(const Buffer *srcBuffer, size_t srcOffset, sk_sp< Buffer > dstBuffer, size_t dstOffset, size_t size)
~CopyBufferToBufferTask() override
Status prepareResources(ResourceProvider *, const RuntimeEffectDictionary *) override
static sk_sp< CopyBufferToBufferTask > Make(const Buffer *srcBuffer, size_t srcOffset, sk_sp< Buffer > dstBuffer, size_t dstOffset, size_t size)
Status addCommands(Context *, CommandBuffer *, ReplayTargetData) override
static sk_sp< CopyTextureToBufferTask > Make(sk_sp< TextureProxy >, SkIRect srcRect, sk_sp< Buffer >, size_t bufferOffset, size_t bufferRowBytes)
Status addCommands(Context *, CommandBuffer *, ReplayTargetData) override
~CopyTextureToBufferTask() override
Status prepareResources(ResourceProvider *, const RuntimeEffectDictionary *) override
~CopyTextureToTextureTask() override
Status prepareResources(ResourceProvider *, const RuntimeEffectDictionary *) override
Status addCommands(Context *, CommandBuffer *, ReplayTargetData) override
static sk_sp< CopyTextureToTextureTask > Make(sk_sp< TextureProxy > srcProxy, SkIRect srcRect, sk_sp< TextureProxy > dstProxy, SkIPoint dstPoint, int dstLevel=0)
static bool InstantiateIfNotLazy(ResourceProvider *, TextureProxy *)
static const uint8_t buffer[]