OGRE  14.2
Object-Oriented Graphics Rendering Engine
Ogre::MetalDevice Struct Reference

#include <OgreMetalDevice.h>

Public Member Functions

 MetalDevice (MetalRenderSystem *renderSystem)
 ~MetalDevice ()
void commitAndNextCommandBuffer (void)
void endAllEncoders (void)
void endBlitEncoder (void)
void endComputeEncoder (void)
void endRenderEncoder (void)
id< MTLBlitCommandEncoder > getBlitEncoder (void)
 Gets current blit encoder. More...
id< MTLComputeCommandEncoder > getComputeEncoder (void)
 See getBlitEncoder. More...
void init (void)
void stall (void)
 Waits for the GPU to finish all pending commands. More...

Public Attributes

id< MTLBlitCommandEncoder > mBlitEncoder
id< MTLComputeCommandEncoder > mComputeEncoder
id< MTLCommandBuffer > mCurrentCommandBuffer
id< MTLDevice > mDevice
bool mFrameAborted
 Once a frame is aborted, MTLRenderCommandEncoder are no longer created (ignored). More...
id< MTLCommandQueue > mMainCommandQueue
id< MTLRenderCommandEncoder > mRenderEncoder
dispatch_semaphore_t mStallSemaphore

Constructor & Destructor Documentation

◆ MetalDevice()

Ogre::MetalDevice::MetalDevice ( MetalRenderSystem renderSystem)

◆ ~MetalDevice()

Ogre::MetalDevice::~MetalDevice ( )

Member Function Documentation

◆ init()

void Ogre::MetalDevice::init ( void  )

◆ endBlitEncoder()

void Ogre::MetalDevice::endBlitEncoder ( void  )

◆ endRenderEncoder()

void Ogre::MetalDevice::endRenderEncoder ( void  )

◆ endComputeEncoder()

void Ogre::MetalDevice::endComputeEncoder ( void  )

◆ endAllEncoders()

void Ogre::MetalDevice::endAllEncoders ( void  )

◆ commitAndNextCommandBuffer()

void Ogre::MetalDevice::commitAndNextCommandBuffer ( void  )

◆ getBlitEncoder()

id<MTLBlitCommandEncoder> Ogre::MetalDevice::getBlitEncoder ( void  )

Gets current blit encoder.

If none is current, ends all other encoders and creates a new blit encoder.

Use __unsafe_unretained to avoid unnecessary ARC overhead; unless you really need to hold on to the returned variable. i.e. __unsafe_unretained id<MTLBlitCommandEncoder> blitEncoder = mDevice->getBlitEncoder();

◆ getComputeEncoder()

id<MTLComputeCommandEncoder> Ogre::MetalDevice::getComputeEncoder ( void  )

See getBlitEncoder.

◆ stall()

void Ogre::MetalDevice::stall ( void  )

Waits for the GPU to finish all pending commands.

Member Data Documentation

◆ mFrameAborted

bool Ogre::MetalDevice::mFrameAborted

Once a frame is aborted, MTLRenderCommandEncoder are no longer created (ignored).

◆ mDevice

id<MTLDevice> Ogre::MetalDevice::mDevice

◆ mMainCommandQueue

id<MTLCommandQueue> Ogre::MetalDevice::mMainCommandQueue

◆ mCurrentCommandBuffer

id<MTLCommandBuffer> Ogre::MetalDevice::mCurrentCommandBuffer

◆ mBlitEncoder

id<MTLBlitCommandEncoder> Ogre::MetalDevice::mBlitEncoder

◆ mComputeEncoder

id<MTLComputeCommandEncoder> Ogre::MetalDevice::mComputeEncoder

◆ mRenderEncoder

id<MTLRenderCommandEncoder> Ogre::MetalDevice::mRenderEncoder

◆ mRenderSystem

MetalRenderSystem* Ogre::MetalDevice::mRenderSystem

◆ mStallSemaphore

dispatch_semaphore_t Ogre::MetalDevice::mStallSemaphore

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