You.i Engine
CYIGraphicsComponentsGNM Class Reference

Detailed Description

The GNM implementation of CYIGraphicsComponents.

#include <renderer/YiGraphicsComponentsGNM.h>

Inheritance diagram for CYIGraphicsComponentsGNM:

Classes

struct  DisplayBuffer
 
struct  FrameBuffer
 
struct  RenderStates
 
struct  VideoInfo
 

Public Member Functions

 CYIGraphicsComponentsGNM ()
 
virtual ~CYIGraphicsComponentsGNM ()
 
void * GarlicAlloc (uint32_t size, uint32_t alignment)
 
void * GarlicAlloc (sce::Gnm::SizeAlign sizeAlign)
 
void GarlicFree (void *pMemory)
 
void * OnionAlloc (uint32_t size, uint32_t alignment)
 
void * OnionAlloc (sce::Gnm::SizeAlign sizeAlign)
 
void OnionFree (void *pMemory)
 
float GetScreenDensity ()
 
glm::ivec2 GetScreenResolution ()
 
void WaitForVblank ()
 
- Public Member Functions inherited from CYIGraphicsComponents
 CYIGraphicsComponents ()
 
virtual ~CYIGraphicsComponents ()
 

Public Attributes

VideoInfo videoInfo
 
FrameBuffer frameBuffer
 
RenderStates renderStates
 
uint32_t frameCount
 
DisplayBufferbuffers
 
volatile uint64_t * labels
 
sce::Gnmx::GfxContext gfxc
 

Constructor & Destructor Documentation

◆ CYIGraphicsComponentsGNM()

CYIGraphicsComponentsGNM::CYIGraphicsComponentsGNM ( )

◆ ~CYIGraphicsComponentsGNM()

virtual CYIGraphicsComponentsGNM::~CYIGraphicsComponentsGNM ( )
inlinevirtual

Member Function Documentation

◆ GarlicAlloc() [1/2]

void* CYIGraphicsComponentsGNM::GarlicAlloc ( uint32_t  size,
uint32_t  alignment 
)

Allocate memory on the internal garlic allocator. This is used for GPU memory.

Note
Easy way to remember, 'G' for 'GPU'

◆ GarlicAlloc() [2/2]

void* CYIGraphicsComponentsGNM::GarlicAlloc ( sce::Gnm::SizeAlign  sizeAlign)

Allocate memory on the internal garlic allocator. This is used for GPU memory.

Note
Easy way to remember, 'G' for 'GPU'

◆ GarlicFree()

void CYIGraphicsComponentsGNM::GarlicFree ( void *  pMemory)

Free memory allocated on the internal garlic allocator.

◆ GetScreenDensity()

float CYIGraphicsComponentsGNM::GetScreenDensity ( )

Get screen density of the display.

◆ GetScreenResolution()

glm::ivec2 CYIGraphicsComponentsGNM::GetScreenResolution ( )

Get resolution of the display.

◆ OnionAlloc() [1/2]

void* CYIGraphicsComponentsGNM::OnionAlloc ( uint32_t  size,
uint32_t  alignment 
)

Allocate memory on the internal onion allocator. This is used for CPU memory.

◆ OnionAlloc() [2/2]

void* CYIGraphicsComponentsGNM::OnionAlloc ( sce::Gnm::SizeAlign  sizeAlign)

Allocate memory on the internal onion allocator. This is used for CPU memory.

◆ OnionFree()

void CYIGraphicsComponentsGNM::OnionFree ( void *  pMemory)

Free memory allocated on the internal onion allocator.

◆ WaitForVblank()

void CYIGraphicsComponentsGNM::WaitForVblank ( )

Block and wait until a Vblank event occurs

Member Data Documentation

◆ buffers

DisplayBuffer* CYIGraphicsComponentsGNM::buffers

Holds main render targets. PS4 uses tripple buffering, so this should be an array of 3

◆ frameBuffer

FrameBuffer CYIGraphicsComponentsGNM::frameBuffer

Frame buffer. This one is cleared every frame. The GNM renderer draws everything to an offscreen render target then draws it on the main surface before swapping.

◆ frameCount

uint32_t CYIGraphicsComponentsGNM::frameCount

The number of frames drawn.

◆ gfxc

sce::Gnmx::GfxContext CYIGraphicsComponentsGNM::gfxc

GNMx graphic context.

◆ labels

volatile uint64_t* CYIGraphicsComponentsGNM::labels

Pointer to an array of labels. Save as DisplayBuffer::pLabel

◆ renderStates

RenderStates CYIGraphicsComponentsGNM::renderStates

Contains GNM basic render states.

◆ videoInfo

VideoInfo CYIGraphicsComponentsGNM::videoInfo

Contains the main handle and current flip index.


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