RetroArch
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Framebuffer Class Reference
Collaboration diagram for Framebuffer:
[legend]

Public Member Functions

 Framebuffer (VkDevice device, const VkPhysicalDeviceMemoryProperties &mem_props, const Size2D &max_size, VkFormat format, unsigned max_levels)
 
 ~Framebuffer ()
 
 Framebuffer (Framebuffer &&)=delete
 
void operator= (Framebuffer &&)=delete
 
void set_size (DeferredDisposer &disposer, const Size2D &size, VkFormat format=VK_FORMAT_UNDEFINED)
 
const Size2Dget_size () const
 
VkFormat get_format () const
 
VkImage get_image () const
 
VkImageView get_view () const
 
VkFramebuffer get_framebuffer () const
 
VkRenderPass get_render_pass () const
 
void clear (VkCommandBuffer cmd)
 
void copy (VkCommandBuffer cmd, VkImage image, VkImageLayout layout)
 
unsigned get_levels () const
 
void generate_mips (VkCommandBuffer cmd)
 

Private Member Functions

void init (DeferredDisposer *disposer)
 
void init_framebuffer ()
 
void init_render_pass ()
 

Private Attributes

const VkPhysicalDeviceMemoryPropertiesmemory_properties
 
VkDevice device = VK_NULL_HANDLE
 
VkImage image = VK_NULL_HANDLE
 
VkImageView view = VK_NULL_HANDLE
 
VkImageView fb_view = VK_NULL_HANDLE
 
Size2D size
 
VkFormat format
 
unsigned max_levels
 
unsigned levels = 0
 
VkFramebuffer framebuffer = VK_NULL_HANDLE
 
VkRenderPass render_pass = VK_NULL_HANDLE
 
struct {
   size_t   size = 0
 
   uint32_t   type = 0
 
   VkDeviceMemory   memory = VK_NULL_HANDLE
 
memory
 

Constructor & Destructor Documentation

◆ Framebuffer() [1/2]

Framebuffer::Framebuffer ( VkDevice  device,
const VkPhysicalDeviceMemoryProperties mem_props,
const Size2D max_size,
VkFormat  format,
unsigned  max_levels 
)
Here is the call graph for this function:

◆ ~Framebuffer()

Framebuffer::~Framebuffer ( )
Here is the call graph for this function:

◆ Framebuffer() [2/2]

Framebuffer::Framebuffer ( Framebuffer &&  )
delete

Member Function Documentation

◆ clear()

void Framebuffer::clear ( VkCommandBuffer  cmd)
Here is the call graph for this function:

◆ copy()

void Framebuffer::copy ( VkCommandBuffer  cmd,
VkImage  image,
VkImageLayout  layout 
)
Here is the call graph for this function:

◆ generate_mips()

void Framebuffer::generate_mips ( VkCommandBuffer  cmd)
Here is the call graph for this function:

◆ get_format()

VkFormat Framebuffer::get_format ( ) const
inline

◆ get_framebuffer()

VkFramebuffer Framebuffer::get_framebuffer ( ) const
inline

◆ get_image()

VkImage Framebuffer::get_image ( ) const
inline

◆ get_levels()

unsigned Framebuffer::get_levels ( ) const
inline

◆ get_render_pass()

VkRenderPass Framebuffer::get_render_pass ( ) const
inline

◆ get_size()

const Size2D& Framebuffer::get_size ( ) const
inline

◆ get_view()

VkImageView Framebuffer::get_view ( ) const
inline

◆ init()

void Framebuffer::init ( DeferredDisposer disposer)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_framebuffer()

void Framebuffer::init_framebuffer ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_render_pass()

void Framebuffer::init_render_pass ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void Framebuffer::operator= ( Framebuffer &&  )
delete

◆ set_size()

void Framebuffer::set_size ( DeferredDisposer disposer,
const Size2D size,
VkFormat  format = VK_FORMAT_UNDEFINED 
)
Here is the call graph for this function:

Member Data Documentation

◆ device

VkDevice Framebuffer::device = VK_NULL_HANDLE
private

◆ fb_view

VkImageView Framebuffer::fb_view = VK_NULL_HANDLE
private

◆ format

VkFormat Framebuffer::format
private

◆ framebuffer

VkFramebuffer Framebuffer::framebuffer = VK_NULL_HANDLE
private

◆ image

VkImage Framebuffer::image = VK_NULL_HANDLE
private

◆ levels

unsigned Framebuffer::levels = 0
private

◆ max_levels

unsigned Framebuffer::max_levels
private

◆ memory [1/2]

VkDeviceMemory Framebuffer::memory = VK_NULL_HANDLE

◆ memory [2/2]

struct { ... } Framebuffer::memory

◆ memory_properties

const VkPhysicalDeviceMemoryProperties& Framebuffer::memory_properties
private

◆ render_pass

VkRenderPass Framebuffer::render_pass = VK_NULL_HANDLE
private

◆ size [1/2]

Size2D Framebuffer::size
private

◆ size [2/2]

size_t Framebuffer::size = 0

◆ type

uint32_t Framebuffer::type = 0

◆ view

VkImageView Framebuffer::view = VK_NULL_HANDLE
private

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