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

#include <VulkanFramebuffer.h>

Inheritance diagram for skgpu::graphite::VulkanFramebuffer:
skgpu::graphite::Resource

Public Member Functions

VkFramebuffer framebuffer ()
 
const char * getResourceType () const override
 
- Public Member Functions inherited from skgpu::graphite::Resource
 Resource (const Resource &)=delete
 
 Resource (Resource &&)=delete
 
Resourceoperator= (const Resource &)=delete
 
Resourceoperator= (Resource &&)=delete
 
void ref () const
 
void unref () const
 
void refCommandBuffer () const
 
void unrefCommandBuffer () const
 
Ownership ownership () const
 
skgpu::Budgeted budgeted () const
 
size_t gpuMemorySize () const
 
UniqueID uniqueID () const
 
std::string getLabel () const
 
void setLabel (std::string_view label)
 
bool wasDestroyed () const
 
const GraphiteResourceKeykey () const
 
void setKey (const GraphiteResourceKey &key)
 
void dumpMemoryStatistics (SkTraceMemoryDump *traceMemoryDump) const
 
virtual void prepareForReturnToCache (const std::function< void()> &takeRef)
 

Static Public Member Functions

static sk_sp< VulkanFramebufferMake (const VulkanSharedContext *, const VkFramebufferCreateInfo &)
 

Private Member Functions

void freeGpuData () override
 

Additional Inherited Members

- Protected Member Functions inherited from skgpu::graphite::Resource
 Resource (const SharedContext *, Ownership, skgpu::Budgeted, size_t gpuMemorySize, std::string_view label, bool commandBufferRefsAsUsageRefs=false)
 
virtual ~Resource ()
 
const SharedContextsharedContext () const
 
virtual void invokeReleaseProc ()
 
virtual void onDumpMemoryStatistics (SkTraceMemoryDump *traceMemoryDump, const char *dumpName) const
 
void setDeleteASAP ()
 

Detailed Description

Resource wrapper for VkFramebuffer

Definition at line 22 of file VulkanFramebuffer.h.

Member Function Documentation

◆ framebuffer()

VkFramebuffer skgpu::graphite::VulkanFramebuffer::framebuffer ( )
inline

Definition at line 27 of file VulkanFramebuffer.h.

27 {
28 return fFramebuffer;
29 }

◆ freeGpuData()

void skgpu::graphite::VulkanFramebuffer::freeGpuData ( )
overrideprivatevirtual

Implements skgpu::graphite::Resource.

Definition at line 38 of file VulkanFramebuffer.cpp.

38 {
39 VULKAN_CALL(fSharedContext->interface(),
40 DestroyFramebuffer(fSharedContext->device(), fFramebuffer, nullptr));
41}
#define VULKAN_CALL(IFACE, X)
const skgpu::VulkanInterface * interface() const

◆ getResourceType()

const char * skgpu::graphite::VulkanFramebuffer::getResourceType ( ) const
inlineoverridevirtual

Implements skgpu::graphite::Resource.

Definition at line 31 of file VulkanFramebuffer.h.

31{ return "Vulkan Framebuffer"; }

◆ Make()

sk_sp< VulkanFramebuffer > skgpu::graphite::VulkanFramebuffer::Make ( const VulkanSharedContext context,
const VkFramebufferCreateInfo framebufferInfo 
)
static

Definition at line 14 of file VulkanFramebuffer.cpp.

15 {
16 VkFramebuffer framebuffer;
19 context,
20 result,
21 CreateFramebuffer(context->device(), &framebufferInfo, nullptr, &framebuffer));
22 if (result != VK_SUCCESS) {
23 return nullptr;
24 }
25 return sk_sp<VulkanFramebuffer>(new VulkanFramebuffer(context, framebuffer));
26}
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
GAsyncResult * result
VkResult
@ VK_SUCCESS

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