186 {
187 if (fPendingUploads->size() > 0) {
189 "# uploads", fPendingUploads->size());
191
192 SkASSERT(fPendingUploads->size() == 0);
193 }
194
195
196
197
198
199
200 if (fComputePathAtlas) {
201 auto dispatchGroup = fComputePathAtlas->recordDispatches(recorder);
202 fComputePathAtlas->reset();
203
204 if (dispatchGroup) {
205
206 SkASSERT(fPendingDraws->hasCoverageMaskDraws());
207
209 "# dispatches", dispatchGroup->dispatches().size());
213 }
214 }
215
216 if (fPendingDraws->renderStepCount() == 0 && fPendingLoadOp !=
LoadOp::kClear) {
217
218
219
220 return;
221 }
222
223
224
225
226
227
229 std::move(fPendingDraws),
230 fTarget,
232 std::make_pair(fPendingLoadOp, fPendingStoreOp),
233 fPendingClearColor);
234 fPendingDraws = std::make_unique<DrawList>();
235
236
239
240 if (pass) {
241 SkASSERT(fTarget.get() == pass->target());
242
243 const Caps* caps = recorder->
priv().
caps();
244 auto [loadOp, storeOp] = pass->ops();
246 fTarget->textureInfo());
247
249 pass->depthStencilFlags(),
250 pass->clearColor(),
251 pass->requiresMSAA(),
252 writeSwizzle);
253
257 }
258
259
260
261}
static SkColorType colorType(AImageDecoder *decoder, const AImageDecoderHeaderInfo *headerInfo)
#define TRACE_EVENT_SCOPE_THREAD
skgpu::Swizzle getWriteSwizzle(SkColorType, const TextureInfo &) const
skia_private::STArray< 1, std::unique_ptr< DispatchGroup > > DispatchGroupList
static sk_sp< ComputeTask > Make(DispatchGroupList dispatchGroups)
const SkImageInfo & imageInfo() const
const SkColorInfo & colorInfo() const
static std::unique_ptr< DrawPass > Make(Recorder *, std::unique_ptr< DrawList >, sk_sp< TextureProxy > target, const SkImageInfo &targetInfo, std::pair< LoadOp, StoreOp >, std::array< float, 4 > clearColor)
const Caps * caps() const
static sk_sp< RenderPassTask > Make(DrawPassList, const RenderPassDesc &, sk_sp< TextureProxy > target)
skia_private::STArray< 1, std::unique_ptr< DrawPass > > DrawPassList
static sk_sp< UploadTask > Make(UploadList *)
T & emplace_back(Args &&... args)
static RenderPassDesc Make(const Caps *caps, const TextureInfo &targetInfo, LoadOp loadOp, StoreOp storeOp, SkEnumBitMask< DepthStencilFlags > depthStencilFlags, const std::array< float, 4 > &clearColor, bool requiresMSAA, Swizzle writeSwizzle)
#define TRACE_EVENT_INSTANT1(category_group, name, arg1_name, arg1_val)