#include "src/gpu/ganesh/SurfaceFillContext.h"
#include "include/core/SkBlendMode.h"
#include "include/gpu/ganesh/GrRecordingContext.h"
#include "include/private/base/SingleOwner.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkPoint_impl.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "src/core/SkTraceEvent.h"
#include "src/gpu/Swizzle.h"
#include "src/gpu/ganesh/GrAppliedClip.h"
#include "src/gpu/ganesh/GrAuditTrail.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrDrawingManager.h"
#include "src/gpu/ganesh/GrDstProxyView.h"
#include "src/gpu/ganesh/GrPaint.h"
#include "src/gpu/ganesh/GrProcessorSet.h"
#include "src/gpu/ganesh/GrRecordingContextPriv.h"
#include "src/gpu/ganesh/GrRenderTask.h"
#include "src/gpu/ganesh/GrScissorState.h"
#include "src/gpu/ganesh/GrTextureResolveManager.h"
#include "src/gpu/ganesh/GrTracing.h"
#include "src/gpu/ganesh/effects/GrMatrixEffect.h"
#include "src/gpu/ganesh/effects/GrTextureEffect.h"
#include "src/gpu/ganesh/geometry/GrRect.h"
#include "src/gpu/ganesh/ops/ClearOp.h"
#include "src/gpu/ganesh/ops/FillRectOp.h"
#include "src/gpu/ganesh/ops/GrDrawOp.h"
#include <cstdint>
#define ASSERT_SINGLE_OWNER …
#define RETURN_IF_ABANDONED …
class AutoCheckFlush { … };
namespace skgpu::ganesh {
SurfaceFillContext::SurfaceFillContext(GrRecordingContext* rContext,
GrSurfaceProxyView readView,
GrSurfaceProxyView writeView,
const GrColorInfo& colorInfo)
: … { … }
OpsTask* SurfaceFillContext::getOpsTask() { … }
void SurfaceFillContext::discard() { … }
void SurfaceFillContext::resolveMSAA() { … }
void SurfaceFillContext::fillRectWithFP(const SkIRect& dstRect,
std::unique_ptr<GrFragmentProcessor> fp) { … }
void SurfaceFillContext::fillRectWithFP(const SkIRect& dstRect,
const SkMatrix& localMatrix,
std::unique_ptr<GrFragmentProcessor> fp) { … }
bool SurfaceFillContext::blitTexture(GrSurfaceProxyView view,
const SkIRect& srcRect,
const SkIPoint& dstPoint) { … }
sk_sp<GrRenderTask> SurfaceFillContext::refRenderTask() { … }
OpsTask* SurfaceFillContext::replaceOpsTask() { … }
void SurfaceFillContext::ClearToGrPaint(std::array<float, 4> color, GrPaint* paint) { … }
void SurfaceFillContext::addOp(GrOp::Owner op) { … }
void SurfaceFillContext::addDrawOp(GrOp::Owner owner) { … }
void SurfaceFillContext::internalClear(const SkIRect* scissor,
std::array<float, 4> color,
bool upgradePartialToFull) { … }
#ifdef SK_DEBUG
void SurfaceFillContext::onValidate() const { … }
#endif
}