OGRE: Ogre::MetalDevice Struct Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Public Member Functions | Public Attributes | List of all members
Ogre::MetalDevice Struct Reference

`#include <OgreMetalDevice.h>`

## Public Member Functions
| MetalDevice (MetalRenderSystem *renderSystem)
| ~MetalDevice ()
void | commitAndNextCommandBuffer (void)
void | endAllEncoders (bool endRenderPassDesc=true)
void | endBlitEncoder (void)
void | endComputeEncoder (void)
void | endRenderEncoder (bool endRenderPassDesc=true)
id< MTLBlitCommandEncoder > | getBlitEncoder (void)
| Gets current blit encoder. More...
id< MTLComputeCommandEncoder > | getComputeEncoder (void)
| See getBlitEncoder. More...
void | init (const MetalDeviceItem *device)
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
MetalRenderSystem * | mRenderSystem
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 | ( | bool | endRenderPassDesc = `true` | ) |

## ◆ endBlitEncoder()

void Ogre::MetalDevice::endBlitEncoder | ( | void |  | ) |

## ◆ endComputeEncoder()

void Ogre::MetalDevice::endComputeEncoder | ( | void |  | ) |

## ◆ endRenderEncoder()

void Ogre::MetalDevice::endRenderEncoder | ( | bool | endRenderPassDesc = `true` | ) |

## ◆ 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 | ( | const MetalDeviceItem * | device | ) |

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

- OgreMetalDevice.h