|
Axmol 3.0.0-89d6d9a
|
A D3D12-based Buffer implementation. More...
#include <Buffer12.h>
Inherits Buffer.
Public Member Functions | |
| void | updateData (const void *data, size_t size) override |
| Update buffer data. | |
| void | updateSubData (const void *data, size_t offset, size_t size) override |
| Update buffer sub-region data. | |
| void | usingDefaultStoredData (bool needDefaultStoredData) override |
| By default, static buffer data will automatically stored when it comes to foreground. | |
| const DescriptorHandle * | getSRV () const |
| Get (and lazily create) a shader-resource view descriptor for this storage buffer. | |
| const DescriptorHandle * | getUAV () const |
| Get (and lazily create) an unordered-access view descriptor for this storage buffer. | |
| Public Member Functions inherited from Buffer | |
| size_t | getSize () const |
| Get buffer size in bytes. | |
| uint32_t | getStride () const |
| Get the logical storage element stride in bytes. | |
| Public Member Functions inherited from Object | |
| void | retain () |
| Retains the ownership. | |
| void | release () |
| Releases the ownership immediately. | |
| Object * | autorelease () |
| Releases the ownership sometime soon automatically. | |
| unsigned int | getReferenceCount () const |
| Returns the Object's current reference count. | |
| uint64_t | getObjectID () const noexcept |
| Returns the process-local diagnostic identifier assigned at construction. | |
| virtual | ~Object () |
| Destructor. | |
A D3D12-based Buffer implementation.
Notes:
For dynamic buffers we allocate per-frame backing in the UPLOAD heap to avoid CPU overwriting GPU-in-flight memory when multiple frames are in flight.
|
overridevirtual |
Update buffer data.
| data | Specifies a pointer to data that will be copied into the data store for initialization. |
| size | Specifies the size in bytes of the data store region being replaced. |
Implements Buffer.
|
overridevirtual |
Update buffer sub-region data.
| data | Specifies a pointer to the new data that will be copied into the data store. |
| offset | Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. |
| size | Specifies the size in bytes of the data store region being replaced. |
Implements Buffer.
|
overridevirtual |
By default, static buffer data will automatically stored when it comes to foreground.
This function is used to indicate whether external data needs to be used to update the buffer instead of using the default stored data.
| needDefaultStoredData | Specifies whether to use the default stored data. |
Implements Buffer.
| const DescriptorHandle * getSRV | ( | ) | const |
Get (and lazily create) a shader-resource view descriptor for this storage buffer.
| const DescriptorHandle * getUAV | ( | ) | const |
Get (and lazily create) an unordered-access view descriptor for this storage buffer.