#include <Resource.hpp>
|
| | VulkanBuffer (VulkanDevice const &device, RHIBufferDesc const &desc) |
| |
| | VulkanBuffer (VulkanDevice const &device, RHIBufferDesc const &desc, vk::raii::Buffer &&buffer, bool shared=true) |
| |
| | ~VulkanBuffer () override |
| |
| auto & | GetVkBuffer () |
| |
| void * | Map () override |
| | Maps the entire buffer to the host memory. Alignment is implementation-defined. Implementations MUST guarantee consecutive calls to Map() return the same pointer, therefore it's not possible to map the same resource multiple times. For caching behaviours, RHIBufferDesc.
|
| |
| void | Flush (size_t offset, size_t size) override |
| | Flushes the mapped region to the device. Depending on the implementation, this may be a no-op.
|
| |
| void | Unmap () override |
| | Releases or unmaps a previously mapped resource. Implementations MUST guarantee that Unmap() is called at destruction time if the resource is still mapped.
|
| |
| RHIBufferScopedHandle< RHIBuffer > | CreateAliasedBuffer (RHIBufferDesc const &desc, size_t offset) override |
| |
| RHIBuffer * | GetAliasedBuffer (Handle handle) const override |
| |
| void | DestroyAliasedBuffer (Handle handle) override |
| |
| void | DebugSetObjectName (const char *name) override |
| |
| | RHIBuffer (RHIDevice const &device, RHIBufferDesc const &desc) |
| |
| template<typename T > |
| Span< T > | MapSpan (size_t count=kFullSize) |
| | Creates a span that maps a contiguous region of the buffer to the host memory. Behaviour of the memory access is defined by the resource itself. e.g. RO/RW. It is undefined behaviour to access the memory without regard to the resource's host access type. For detailed mapping behaviour, Map
|
| |
| | RHIObject ()=default |
| |
| | RHIObject (RHIObject const &)=delete |
| |
| RHIObject & | operator= (const RHIObject &)=delete |
| |
| | RHIObject (RHIObject &&)=delete |
| |
| RHIObject & | operator= (RHIObject &&)=delete |
| |
| virtual | ~RHIObject ()=default |
| |
◆ VulkanBuffer() [1/2]
◆ VulkanBuffer() [2/2]
◆ ~VulkanBuffer()
| VulkanBuffer::~VulkanBuffer |
( |
| ) |
|
|
override |
◆ CreateAliasedBuffer()
◆ DebugSetObjectName()
◆ DestroyAliasedBuffer()
| void VulkanBuffer::DestroyAliasedBuffer |
( |
Handle |
handle | ) |
|
|
overridevirtual |
◆ Flush()
Flushes the mapped region to the device. Depending on the implementation, this may be a no-op.
Implements Foundation::RHI::RHIBuffer.
◆ GetAliasedBuffer()
◆ GetVkBuffer()
| auto & Foundation::RHI::VulkanBuffer::GetVkBuffer |
( |
| ) |
|
|
inline |
◆ Map()
| void * VulkanBuffer::Map |
( |
| ) |
|
|
overridevirtual |
Maps the entire buffer to the host memory. Alignment is implementation-defined. Implementations MUST guarantee consecutive calls to Map() return the same pointer, therefore it's not possible to map the same resource multiple times. For caching behaviours, RHIBufferDesc.
Implements Foundation::RHI::RHIBuffer.
◆ Unmap()
| void VulkanBuffer::Unmap |
( |
| ) |
|
|
overridevirtual |
Releases or unmaps a previously mapped resource. Implementations MUST guarantee that Unmap() is called at destruction time if the resource is still mapped.
Implements Foundation::RHI::RHIBuffer.
◆ mAliases
◆ mAllocation
◆ mBuffer
| vk::raii::Buffer Foundation::RHI::VulkanBuffer::mBuffer { nullptr } |
|
protected |
◆ mDevice
◆ mMapped
| void* Foundation::RHI::VulkanBuffer::mMapped { nullptr } |
|
protected |
◆ mShared
The documentation for this class was generated from the following files: