OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::MetalReadOnlyBufferPacked Class Referencefinal

#include <OgreMetalTexBufferPacked.h>

+ Inheritance diagram for Ogre::MetalReadOnlyBufferPacked:

Public Member Functions

 MetalReadOnlyBufferPacked (size_t internalBufStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, MetalBufferInterface *bufferInterface, PixelFormatGpu pf, MetalDevice *device)
 
BufferPackedTypes getBufferPackedType () const override
 Useful to query which one is the derived class. More...
 
- Public Member Functions inherited from Ogre::MetalTexBufferPacked
 MetalTexBufferPacked (size_t internalBufStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, MetalBufferInterface *bufferInterface, PixelFormatGpu pf, MetalDevice *device)
 
 ~MetalTexBufferPacked () override
 
void bindBufferCS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 
void bindBufferDS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 
void bindBufferForDescriptor (__unsafe_unretained id< MTLBuffer > *buffers, NSUInteger *offsets, size_t offset)
 
void bindBufferGS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 
void bindBufferHS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 
void bindBufferPS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 
void bindBufferVS (uint16 slot, size_t offset=0, size_t sizeBytes=0) override
 Binds the texture buffer to the given slot in the Vertex/Pixel/Geometry/Hull/Domain/Compute Shader. More...
 
- Public Member Functions inherited from Ogre::ReadOnlyBufferPacked
 ReadOnlyBufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface, PixelFormatGpu pf)
 
- Public Member Functions inherited from Ogre::TexBufferPacked
 TexBufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface, PixelFormatGpu pf)
 
virtual void _bindBufferDirectly (uint16 slot, size_t offset, size_t sizeBytes)
 To be overriden only by GL3+. More...
 
PixelFormatGpu getPixelFormat () const
 
- Public Member Functions inherited from Ogre::BufferPacked
 BufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface)
 Generic constructor. More...
 
virtual ~BufferPacked ()
 
size_t _getFinalBufferStart () const
 
size_t _getInternalBufferStart () const
 
size_t _getInternalNumElements () const
 
size_t _getInternalTotalSizeBytes () const
 
void _setBufferInterface (BufferInterface *bufferInterface)
 For internal use. More...
 
void _setShadowCopy (void *copy)
 This will not delete the existing shadow copy so it can be used for other purposes if it is not needed call OGRE_FREE_SIMD( m->getShadowCopy(), MEMCATEGORY_GEOMETRY ) before calling this function. More...
 
void advanceFrame ()
 
void copyTo (BufferPacked *dstBuffer, size_t dstElemStart=0, size_t srcElemStart=0, size_t srcNumElems=std::numeric_limits< size_t >::max())
 Copies the contents of this buffer to another, using GPU -> GPU transfers. More...
 
BufferInterfacegetBufferInterface () const
 
BufferType getBufferType () const
 
uint32 getBytesPerElement () const
 
MappingState getMappingState () const
 Returns the mapping state. More...
 
size_t getNumElements () const
 
virtual BufferPackedgetOriginalBufferType ()
 If this buffer has been reinterpreted from an UavBufferPacked, returns the original version, otherwise returns 'this'. More...
 
const void * getShadowCopy () const
 
size_t getTotalSizeBytes () const
 
bool isCurrentlyMapped () const
 Returns whether the buffer is currently mapped. More...
 
void *RESTRICT_ALIAS_RETURN map (size_t elementStart, size_t elementCount, bool bAdvanceFrame=true)
 Maps the specified region to a pointer the CPU can access. More...
 
AsyncTicketPtr readRequest (size_t elementStart, size_t elementCount)
 Async data read request. More...
 
void regressFrame ()
 Performs the opposite of. More...
 
void unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0)
 Unmaps or flushes the region mapped with. More...
 
virtual void upload (const void *data, size_t elementStart, size_t elementCount)
 Sends the provided data to the GPU. More...
 
- Public Member Functions inherited from Ogre::GpuTrackedResource
virtual ~GpuTrackedResource ()
 
virtual bool isTextureGpu () const
 

Constructor & Destructor Documentation

◆ MetalReadOnlyBufferPacked()

Ogre::MetalReadOnlyBufferPacked::MetalReadOnlyBufferPacked ( size_t  internalBufStartBytes,
size_t  numElements,
uint32  bytesPerElement,
uint32  numElementsPadding,
BufferType  bufferType,
void *  initialData,
bool  keepAsShadow,
VaoManager vaoManager,
MetalBufferInterface bufferInterface,
PixelFormatGpu  pf,
MetalDevice device 
)

Member Function Documentation

◆ getBufferPackedType()

BufferPackedTypes Ogre::MetalReadOnlyBufferPacked::getBufferPackedType ( ) const
inlineoverridevirtual

Useful to query which one is the derived class.

Reimplemented from Ogre::MetalTexBufferPacked.

References Ogre::BP_TYPE_READONLY.


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