OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
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< MTLBlitCommandEncodergetBlitEncoder (void)
 Gets current blit encoder.
 
id< MTLComputeCommandEncodergetComputeEncoder (void)
 See getBlitEncoder.
 
void init (void)
 
void stall (void)
 Waits for the GPU to finish all pending commands.
 

Public Attributes

id< MTLBlitCommandEncodermBlitEncoder
 
id< MTLComputeCommandEncodermComputeEncoder
 
id< MTLCommandBuffermCurrentCommandBuffer
 
id< MTLDevicemDevice
 
bool mFrameAborted
 Once a frame is aborted, MTLRenderCommandEncoder are no longer created (ignored).
 
id< MTLCommandQueuemMainCommandQueue
 
id< MTLRenderCommandEncodermRenderEncoder
 
MetalRenderSystemmRenderSystem
 
dispatch_semaphore_t mStallSemaphore
 

Constructor & Destructor Documentation

◆ MetalDevice()

Ogre::MetalDevice::MetalDevice ( MetalRenderSystem renderSystem)

◆ ~MetalDevice()

Ogre::MetalDevice::~MetalDevice ( )

Member Function Documentation

◆ commitAndNextCommandBuffer()

void Ogre::MetalDevice::commitAndNextCommandBuffer ( void  )

◆ endAllEncoders()

void Ogre::MetalDevice::endAllEncoders ( void  )

◆ endBlitEncoder()

void Ogre::MetalDevice::endBlitEncoder ( void  )

◆ endComputeEncoder()

void Ogre::MetalDevice::endComputeEncoder ( void  )

◆ endRenderEncoder()

void Ogre::MetalDevice::endRenderEncoder ( 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.

Remarks
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.

◆ init()

void Ogre::MetalDevice::init ( void  )

◆ stall()

void Ogre::MetalDevice::stall ( void  )

Waits for the GPU to finish all pending commands.

Member Data Documentation

◆ mBlitEncoder

id<MTLBlitCommandEncoder> Ogre::MetalDevice::mBlitEncoder

◆ mComputeEncoder

id<MTLComputeCommandEncoder> Ogre::MetalDevice::mComputeEncoder

◆ mCurrentCommandBuffer

id<MTLCommandBuffer> Ogre::MetalDevice::mCurrentCommandBuffer

◆ mDevice

id<MTLDevice> Ogre::MetalDevice::mDevice

◆ mFrameAborted

bool Ogre::MetalDevice::mFrameAborted

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

◆ mMainCommandQueue

id<MTLCommandQueue> Ogre::MetalDevice::mMainCommandQueue

◆ 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: