Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
skgpu::graphite::CopyTextureToTextureTask Class Referencefinal

#include <CopyTask.h>

Inheritance diagram for skgpu::graphite::CopyTextureToTextureTask:
skgpu::graphite::Task SkRefCnt SkRefCntBase

Public Member Functions

 ~CopyTextureToTextureTask () override
 
Status prepareResources (ResourceProvider *, const RuntimeEffectDictionary *) override
 
Status addCommands (Context *, CommandBuffer *, ReplayTargetData) override
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Static Public Member Functions

static sk_sp< CopyTextureToTextureTaskMake (sk_sp< TextureProxy > srcProxy, SkIRect srcRect, sk_sp< TextureProxy > dstProxy, SkIPoint dstPoint, int dstLevel=0)
 

Additional Inherited Members

- Public Types inherited from skgpu::graphite::Task
enum class  Status { kSuccess , kDiscard , kFail }
 

Detailed Description

Definition at line 80 of file CopyTask.h.

Constructor & Destructor Documentation

◆ ~CopyTextureToTextureTask()

skgpu::graphite::CopyTextureToTextureTask::~CopyTextureToTextureTask ( )
override

Definition at line 142 of file CopyTask.cpp.

142{}

Member Function Documentation

◆ addCommands()

Task::Status skgpu::graphite::CopyTextureToTextureTask::addCommands ( Context ,
CommandBuffer commandBuffer,
ReplayTargetData   
)
overridevirtual

Implements skgpu::graphite::Task.

Definition at line 165 of file CopyTask.cpp.

167 {
168
169 if (commandBuffer->copyTextureToTexture(fSrcProxy->refTexture(),
170 fSrcRect,
171 fDstProxy->refTexture(),
172 fDstPoint,
173 fDstLevel)) {
174 // TODO(b/332681367): The calling context should be able to specify whether or not this copy
175 // is a repeatable operation (e.g. dst readback copy for blending) or one time (e.g. client
176 // asked for a copy of an image or surface).
177 return Status::kSuccess;
178 } else {
179 return Status::kFail;
180 }
181}

◆ Make()

sk_sp< CopyTextureToTextureTask > skgpu::graphite::CopyTextureToTextureTask::Make ( sk_sp< TextureProxy srcProxy,
SkIRect  srcRect,
sk_sp< TextureProxy dstProxy,
SkIPoint  dstPoint,
int  dstLevel = 0 
)
static

Definition at line 119 of file CopyTask.cpp.

123 {
124 return sk_sp<CopyTextureToTextureTask>(new CopyTextureToTextureTask(std::move(srcProxy),
125 srcRect,
126 std::move(dstProxy),
127 dstPoint,
128 dstLevel));
129}

◆ prepareResources()

Task::Status skgpu::graphite::CopyTextureToTextureTask::prepareResources ( ResourceProvider resourceProvider,
const RuntimeEffectDictionary  
)
overridevirtual

Implements skgpu::graphite::Task.

Definition at line 144 of file CopyTask.cpp.

145 {
146 if (!fSrcProxy) {
147 SKGPU_LOG_E("No src texture proxy specified for CopyTextureToTextureTask");
148 return Status::kFail;
149 }
150 if (!TextureProxy::InstantiateIfNotLazy(resourceProvider, fSrcProxy.get())) {
151 SKGPU_LOG_E("Could not instantiate src texture proxy for CopyTextureToTextureTask!");
152 return Status::kFail;
153 }
154 if (!fDstProxy) {
155 SKGPU_LOG_E("No dst texture proxy specified for CopyTextureToTextureTask");
156 return Status::kFail;
157 }
158 if (!TextureProxy::InstantiateIfNotLazy(resourceProvider, fDstProxy.get())) {
159 SKGPU_LOG_E("Could not instantiate dst texture proxy for CopyTextureToTextureTask!");
160 return Status::kFail;
161 }
162 return Status::kSuccess;
163}
#define SKGPU_LOG_E(fmt,...)
Definition Log.h:38
static bool InstantiateIfNotLazy(ResourceProvider *, TextureProxy *)

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