31#ifndef DW_FRAMEWORK_BUFFER_HPP_
32#define DW_FRAMEWORK_BUFFER_HPP_
36#include <dwshared/dwfoundation/dw/core/language/Optional.hpp>
37#include <dwshared/dwfoundation/dw/cuda/misc/DevicePtr.hpp>
57 return (
static_cast<uint32_t
>(flags) & (1U <<
static_cast<uint32_t
>(type))) != 0U;
64 flags |= (1U <<
static_cast<uint32_t
>(type));
79 static constexpr char LOG_TAG[]{
"Buffer"};
132 cudaExternalMemory_t m_cudaHandle{};
156 dw::core::Optional<BufferCPU> m_bufferCpu{};
157 dw::core::Optional<BufferCUDA> m_bufferCuda{};
const BufferProperties & getProperties() const
virtual ~BufferBase()=default
BufferBase(BufferProperties properties)
virtual void bindNvSciBufObj(NvSciBufObj bufObj)
virtual void fillNvSciBufAttrs(NvSciBufAttrList attrList) const
static constexpr char LOG_TAG[]
BufferProperties m_properties
BufferCPU(BufferProperties properties)
void * getCpuPtr(size_t offset)
void bindNvSciBufObj(NvSciBufObj bufObj) override
void fillSpecificAttributes(NvSciBufAttrList attrList) const
void fillSpecificAttributes(NvSciBufAttrList attrList) const
core::DevicePtr< void > getCudaPtr(size_t offset)
void bindNvSciBufObj(NvSciBufObj bufObj) override
void * getCpuPtr(size_t offset)
void bindNvSciBufObj(NvSciBufObj bufObj) override
void fillNvSciBufAttrs(NvSciBufAttrList attrList) const
Buffer(BufferProperties properties)
core::DevicePtr< void > getCudaPtr(size_t offset)
void BufferFlagsEnableBackend(BufferFlags &flags, BufferBackendType type)
bool BufferFlagsBackendEnabled(BufferFlags flags, BufferBackendType type)
BufferFlags enabledBackends