8#ifndef GrAuditTrail_DEFINED
9#define GrAuditTrail_DEFINED
38 : fAuditTrail(auditTrail) {
55 : fAutoEnable(auditTrail), fAuditTrail(auditTrail) {}
67 : fAutoEnable(auditTrail), fAuditTrail(auditTrail) {
148 void copyOutFromOpsTask(OpInfo* outOpInfo,
int opsTask);
150 template <
typename T>
151 static void JsonifyTArray(
SkJSONWriter& writer,
const char*
name,
const T& array);
164#define GR_AUDIT_TRAIL_INVOKE_GUARD(audit_trail, invoke, ...) \
165 if (audit_trail->isEnabled()) audit_trail->invoke(__VA_ARGS__)
167#define GR_AUDIT_TRAIL_AUTO_FRAME(audit_trail, framename) \
168 GR_AUDIT_TRAIL_INVOKE_GUARD((audit_trail), pushFrame, framename)
170#define GR_AUDIT_TRAIL_ADD_OP(audit_trail, op, proxy_id) \
171 GR_AUDIT_TRAIL_INVOKE_GUARD(audit_trail, addOp, op, proxy_id)
173#define GR_AUDIT_TRAIL_OPS_RESULT_COMBINED(audit_trail, combineWith, op) \
174 GR_AUDIT_TRAIL_INVOKE_GUARD(audit_trail, opsCombined, combineWith, op)
AutoCollectOps(GrAuditTrail *auditTrail, int clientID)
AutoEnable(GrAuditTrail *auditTrail)
AutoManageOpsTask(GrAuditTrail *auditTrail)
void pushFrame(const char *framename)
void setEnabled(bool enabled)
void setClientID(int clientID)
void getBoundsByOpsTaskID(OpInfo *outInfo, int opsTaskID)
void getBoundsByClientID(skia_private::TArray< OpInfo > *outInfo, int clientID)
void opsCombined(const GrOp *consumer, const GrOp *consumed)
void toJson(SkJSONWriter &writer) const
static const int kGrAuditTrailInvalidID
void addOp(const GrOp *, GrRenderTargetProxy::UniqueID proxyID)
DEF_SWITCHES_START aot vmservice shared library name
GrSurfaceProxy::UniqueID fProxyUniqueID
skia_private::TArray< Op > fOps