OGRE-Next: Ogre::GLES2VaoManager Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::GLES2VaoManager Class Reference

`#include <OgreGLES2VaoManager.h>`

Inheritance diagram for Ogre::GLES2VaoManager:
[legend]

## Classes
struct | Block
struct | StrideChanger

## Public Types
typedef vector< Block >::type | BlockVec
typedef vector< StrideChanger >::type | StrideChangerVec
Public Types inherited from Ogre::VaoManager
typedef vector< MemoryStatsEntry >::type | MemoryStatsEntryVec

## Public Member Functions
| GLES2VaoManager ()
virtual | ~GLES2VaoManager ()
virtual void | _update ()
void | bindDrawId ()
| Binds the Draw ID to the currently bound vertex array object.
virtual AsyncTicketPtr | createAsyncTicket (BufferPacked *creator, StagingBuffer *stagingBuffer, size_t elementStart, size_t elementCount)
virtual StagingBuffer * | createStagingBuffer (size_t sizeBytes, bool forUpload)
| Creates a new staging buffer and adds it to the pool.
GLint | getMaxVertexAttribs () const
virtual bool | isFrameFinished (uint32 frameCount)
| See VaoManager::isFrameFinished.
bool | supportsArbBufferStorage () const
virtual void | waitForSpecificFrameToFinish (uint32 frameCount)
| See VaoManager::waitForSpecificFrameToFinish.
virtual uint8 | waitForTailFrameToFinish ()
| See VaoManager::waitForTailFrameToFinish.
Public Member Functions inherited from Ogre::VaoManager
| VaoManager (const NameValuePairList *params)
virtual | ~VaoManager ()
virtual void | _beginFrame ()
uint8 | _getDynamicBufferCurrentFrameNoWait () const
void | _notifyStagingBufferEnteredZeroRef (StagingBuffer *stagingBuffer)
void | _notifyStagingBufferLeftZeroRef (StagingBuffer *stagingBuffer)
virtual void | _waitUntilCommitedCommandBufferCompleted ()
| Waits for the last committed command buffer completion instead of the last frame completion with command buffer switching, so we can continue to work with current command buffer.
virtual void | cleanupEmptyPools ()=0
| Frees GPU memory if there are empty, unused pools.
ConstBufferPacked * | createConstBuffer (size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates an constant buffer based on the given parameters.
IndexBufferPacked * | createIndexBuffer (IndexBufferPacked::IndexType indexType, size_t numIndices, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates an index buffer based on the given parameters.
IndirectBufferPacked * | createIndirectBuffer (size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates an indirect buffer.
ReadOnlyBufferPacked * | createReadOnlyBuffer (PixelFormatGpu pixelFormat, size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates a read-only buffer based on the given parameters.
TexBufferPacked * | createTexBuffer (PixelFormatGpu pixelFormat, size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates an constant buffer based on the given parameters.
UavBufferPacked * | createUavBuffer (size_t numElements, uint32 bytesPerElement, uint32 bindFlags, void *initialData, bool keepAsShadow)
| Creates an UAV buffer based on the given parameters.
VertexArrayObject * | createVertexArrayObject (const VertexBufferPackedVec &vertexBuffers, IndexBufferPacked *indexBuffer, OperationType opType)
| Creates a VertexArrayObject that binds all the vertex buffers with their respective declarations, and the index buffers.
VertexBufferPacked * | createVertexBuffer (const VertexElement2Vec &vertexElements, size_t numVertices, BufferType bufferType, void *initialData, bool keepAsShadow)
| Creates a vertex buffer based on the given parameters.
void | deleteStagingBuffers ()
void | destroyConstBuffer (ConstBufferPacked *constBuffer)
| Destroys the given constant buffer created with createConstBuffer.
void | destroyIndexBuffer (IndexBufferPacked *indexBuffer)
| Destroys the given index buffer created with createIndexBuffer.
void | destroyIndirectBuffer (IndirectBufferPacked *indirectBuffer)
| Destroys the given indirect buffer created with createIndirectBuffer.
void | destroyReadOnlyBuffer (ReadOnlyBufferPacked *readOnlyBuffer)
| Destroys the given texture buffer created with createReadOnlyBuffer.
void | destroyTexBuffer (TexBufferPacked *texBuffer)
| Destroys the given texture buffer created with createTexBuffer.
void | destroyUavBuffer (UavBufferPacked *uavBuffer)
| Destroys the given UAV buffer created with createUavBuffer.
void | destroyVertexArrayObject (VertexArrayObject *vao)
| Destroys the input pointer.
void | destroyVertexBuffer (VertexBufferPacked *vertexBuffer)
| Destroys the given vertex buffer created with createVertexBuffer.
uint32 | getConstBufferAlignment () const
size_t | getConstBufferMaxSize () const
uint32 | getDefaultStagingBufferLifetime () const
uint32 | getDefaultStagingBufferUnfencedTime () const
uint8 | getDynamicBufferMultiplier () const
uint32 | getFrameCount ()
virtual void | getMemoryStats (MemoryStatsEntryVec &outStats, size_t &outCapacityBytes, size_t &outFreeBytes, Log *log, bool &outIncludesTextures) const =0
| Retrieves memory stats about our GPU pools being managed.
size_t | getReadOnlyBufferMaxSize () const
StagingBuffer * | getStagingBuffer (size_t minSizeBytes, bool forUpload)
| Retrieves a staging buffer for use.
uint32 | getTexBufferAlignment () const
size_t | getTexBufferMaxSize () const
Timer * | getTimer ()
uint32 | getUavBufferAlignment () const
size_t | getUavBufferMaxSize () const
bool | readOnlyIsTexBuffer () const
| When true, ReadOnlyBufferPacked behaves like TexBufferPacked, i.e.
void | setDefaultStagingBufferlifetime (uint32 lifetime, uint32 unfencedTime)
| Sets the default time for staging buffers.
bool | supportsBaseInstance () const
bool | supportsIndirectBuffers () const
| When false, IndirectBufferPacked will emulate the mapping behavior, and we need to use the emulated calls in RenderSystem.
bool | supportsPersistentMapping () const

## Static Public Member Functions
static GLuint | getAttributeIndexFor (VertexElementSemantic semantic)
static void | mergeContiguousBlocks (BlockVec::iterator blockToMerge, BlockVec &blocks)
static GLsync | waitFor (GLsync fenceName)
| Will stall undefinitely until GPU finishes (signals the sync object).
Static Public Member Functions inherited from Ogre::VaoManager
static uint32 | calculateVertexSize (const VertexElement2Vec &vertexElements)
| Returns the size of a single vertex buffer source with the given declaration, in bytes.

## Member Typedef Documentation

## ◆ BlockVec

typedef vector<Block>::type Ogre::GLES2VaoManager::BlockVec

## ◆ StrideChangerVec

typedef vector<StrideChanger>::type Ogre::GLES2VaoManager::StrideChangerVec

## Constructor & Destructor Documentation

## ◆ GLES2VaoManager()

Ogre::GLES2VaoManager::GLES2VaoManager | ( |  | ) |

## ◆ ~GLES2VaoManager()

virtual Ogre::GLES2VaoManager::~GLES2VaoManager | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ _update()

virtual void Ogre::GLES2VaoManager::_update | ( |  | ) |
| virtual

Reimplemented from Ogre::VaoManager.

## ◆ bindDrawId()

void Ogre::GLES2VaoManager::bindDrawId | ( |  | ) |

Binds the Draw ID to the currently bound vertex array object.

## ◆ createAsyncTicket()

virtual AsyncTicketPtr Ogre::GLES2VaoManager::createAsyncTicket | ( | BufferPacked * | creator,
|  | StagingBuffer * | stagingBuffer,
|  | size_t | elementStart,
|  | size_t | elementCount )
| virtual

Implements Ogre::VaoManager.

## ◆ createStagingBuffer()

virtual StagingBuffer * Ogre::GLES2VaoManager::createStagingBuffer | ( | size_t | sizeBytes,
|  | bool | forUpload )
| virtual

Creates a new staging buffer and adds it to the pool.

See also
  getStagingBuffer.

Remarks
  The returned buffer starts with a reference count of 1. You should decrease it when you're done using it.

Implements Ogre::VaoManager.

## ◆ getAttributeIndexFor()

GLuint Ogre::GLES2VaoManager::getAttributeIndexFor | ( | VertexElementSemantic | semantic | ) |
| static

## ◆ getMaxVertexAttribs()

GLint Ogre::GLES2VaoManager::getMaxVertexAttribs | ( |  | ) | const
| inline

## ◆ isFrameFinished()

virtual bool Ogre::GLES2VaoManager::isFrameFinished | ( | uint32 | frameCount | ) |
| virtual

See VaoManager::isFrameFinished.

Implements Ogre::VaoManager.

## ◆ mergeContiguousBlocks()

void Ogre::GLES2VaoManager::mergeContiguousBlocks | ( | BlockVec::iterator | blockToMerge,
|  | BlockVec & | blocks )
| static

See also
  StagingBuffer::mergeContiguousBlocks

## ◆ supportsArbBufferStorage()

bool Ogre::GLES2VaoManager::supportsArbBufferStorage | ( |  | ) | const
| inline

## ◆ waitFor()

GLsync Ogre::GLES2VaoManager::waitFor | ( | GLsync | fenceName | ) |
| static

Will stall undefinitely until GPU finishes (signals the sync object).

Parameters

  fenceName | Sync object to wait for. Will be deleted on success. On failure, throws an exception and fenceName will not be deleted.

Returns
  Null ptr on success. Should throw on failure, but if this function for some strange reason doesn't throw, it is programmed to return 'fenceName'

## ◆ waitForSpecificFrameToFinish()

virtual void Ogre::GLES2VaoManager::waitForSpecificFrameToFinish | ( | uint32 | frameCount | ) |
| virtual

See VaoManager::waitForSpecificFrameToFinish.

Implements Ogre::VaoManager.

## ◆ waitForTailFrameToFinish()

virtual uint8 Ogre::GLES2VaoManager::waitForTailFrameToFinish | ( |  | ) |
| virtual

See VaoManager::waitForTailFrameToFinish.

Implements Ogre::VaoManager.

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

- OgreGLES2VaoManager.h