Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | List of all members
GrDDLContext Class Referencefinal
Inheritance diagram for GrDDLContext:
GrRecordingContext GrImageContext GrContext_Base SkRefCnt SkRefCntBase

Public Member Functions

 GrDDLContext (sk_sp< GrContextThreadSafeProxy > proxy)
 
 ~GrDDLContext () override
 
void abandonContext () override
 
- Public Member Functions inherited from GrRecordingContext
 ~GrRecordingContext () override
 
bool abandoned () override
 
SK_API bool colorTypeSupportedAsSurface (SkColorType colorType) const
 
SK_API int maxTextureSize () const
 
SK_API int maxRenderTargetSize () const
 
SK_API bool colorTypeSupportedAsImage (SkColorType) const
 
SK_API bool supportsProtectedContent () const
 
SK_API int maxSurfaceSampleCountForColorType (SkColorType colorType) const
 
SK_API sk_sp< const SkCapabilitiesskCapabilities () const
 
GrRecordingContextPriv priv ()
 
const GrRecordingContextPriv priv () const
 
- Public Member Functions inherited from GrImageContext
 ~GrImageContext () override
 
GrImageContextPriv priv ()
 
const GrImageContextPriv priv () const
 
- Public Member Functions inherited from GrContext_Base
 ~GrContext_Base () override
 
virtual GrDirectContextasDirectContext ()
 
SK_API GrBackendApi backend () const
 
SK_API GrBackendFormat defaultBackendFormat (SkColorType, GrRenderable) const
 
SK_API GrBackendFormat compressedBackendFormat (SkTextureCompressionType) const
 
SK_API int maxSurfaceSampleCountForColorType (SkColorType colorType) const
 
sk_sp< GrContextThreadSafeProxythreadSafeProxy ()
 
GrBaseContextPriv priv ()
 
const GrBaseContextPriv priv () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Private Member Functions

void recordProgramInfo (const GrProgramInfo *programInfo) final
 
void detachProgramData (TArray< ProgramData > *dst) final
 

Additional Inherited Members

- Protected Member Functions inherited from GrRecordingContext
 GrRecordingContext (sk_sp< GrContextThreadSafeProxy >, bool ddlRecording)
 
bool init () override
 
void abandonContext () override
 
GrDrawingManagerdrawingManager ()
 
void destroyDrawingManager ()
 
Arenas arenas ()
 
OwnedArenas && detachArenas ()
 
GrProxyProviderproxyProvider ()
 
const GrProxyProviderproxyProvider () const
 
sktext::gpu::TextBlobRedrawCoordinatorgetTextBlobRedrawCoordinator ()
 
const sktext::gpu::TextBlobRedrawCoordinatorgetTextBlobRedrawCoordinator () const
 
GrThreadSafeCachethreadSafeCache ()
 
const GrThreadSafeCachethreadSafeCache () const
 
void addOnFlushCallbackObject (GrOnFlushCallbackObject *)
 
GrRecordingContextasRecordingContext () override
 
Statsstats ()
 
const Statsstats () const
 
void dumpJSON (SkJSONWriter *) const
 
- Protected Member Functions inherited from GrImageContext
 GrImageContext (sk_sp< GrContextThreadSafeProxy >)
 
skgpu::SingleOwnersingleOwner () const
 
GrImageContextasImageContext () override
 
- Protected Member Functions inherited from GrContext_Base
 GrContext_Base (sk_sp< GrContextThreadSafeProxy >)
 
uint32_t contextID () const
 
bool matches (GrContext_Base *candidate) const
 
const GrContextOptionsoptions () const
 
const GrCapscaps () const
 
sk_sp< const GrCapsrefCaps () const
 
- Protected Attributes inherited from GrRecordingContext
class GrRecordingContext::Stats fStats
 
std::unique_ptr< GrAuditTrailfAuditTrail
 
- Protected Attributes inherited from GrContext_Base
sk_sp< GrContextThreadSafeProxyfThreadSafeProxy
 

Detailed Description

The DDL Context is the one in effect during DDL Recording. It isn't backed by a GrGPU and cannot allocate any GPU resources.

Definition at line 24 of file GrDDLContext.cpp.

Constructor & Destructor Documentation

◆ GrDDLContext()

GrDDLContext::GrDDLContext ( sk_sp< GrContextThreadSafeProxy proxy)
inline

Definition at line 26 of file GrDDLContext.cpp.

27 : INHERITED(std::move(proxy), true) {
28 }

◆ ~GrDDLContext()

GrDDLContext::~GrDDLContext ( )
inlineoverride

Definition at line 30 of file GrDDLContext.cpp.

30{}

Member Function Documentation

◆ abandonContext()

void GrDDLContext::abandonContext ( )
inlineoverridevirtual

Reimplemented from GrImageContext.

Definition at line 32 of file GrDDLContext.cpp.

32 {
33 SkASSERT(0); // abandoning in a DDL Recorder doesn't make a whole lot of sense
35 }
#define SkASSERT(cond)
Definition SkAssert.h:116
void abandonContext() override

◆ detachProgramData()

void GrDDLContext::detachProgramData ( TArray< ProgramData > *  dst)
inlinefinalprivatevirtual

Reimplemented from GrRecordingContext.

Definition at line 59 of file GrDDLContext.cpp.

59 {
60 SkASSERT(dst->empty());
61
62 fProgramInfoMap.toArray(dst);
63 }
dst
Definition cp.py:12

◆ recordProgramInfo()

void GrDDLContext::recordProgramInfo ( const GrProgramInfo programInfo)
inlinefinalprivatevirtual

Reimplemented from GrRecordingContext.

Definition at line 39 of file GrDDLContext.cpp.

39 {
40 if (!programInfo) {
41 return;
42 }
43
44 const GrCaps* caps = this->caps();
45
46 if (this->backend() == GrBackendApi::kMetal || this->backend() == GrBackendApi::kDirect3D) {
47 // Currently Metal and Direct3D require a live renderTarget to compute the key
48 return;
49 }
50
51 GrProgramDesc desc = caps->makeDesc(nullptr, *programInfo);
52 if (!desc.isValid()) {
53 return;
54 }
55
56 fProgramInfoMap.add(desc, programInfo);
57 }
virtual GrProgramDesc makeDesc(GrRenderTarget *, const GrProgramInfo &, ProgramDescOverrideFlags overrideFlags=ProgramDescOverrideFlags::kNone) const =0
const GrCaps * caps() const
SK_API GrBackendApi backend() const

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