31#ifndef DW_FRAMEWORK_BUFFER_HPP_
32#define DW_FRAMEWORK_BUFFER_HPP_
36#include <dw/core/language/Optional.hpp>
37#include <dw/cuda/misc/DevicePtr.hpp>
55 return (
static_cast<uint32_t
>(flags) & (1U <<
static_cast<uint32_t
>(type))) != 0U;
60 flags |= (1U <<
static_cast<uint32_t
>(type));
72 static constexpr char LOG_TAG[] =
"Buffer";
123 cudaExternalMemory_t m_cudaHandle{};
145 dw::core::Optional<BufferCPU> m_bufferCpu{};
146 dw::core::Optional<BufferCUDA> m_bufferCuda{};
const BufferProperties & getProperties() const
virtual ~BufferBase()=default
void fillNvSciBufAttrs(NvSciBufAttrList attrList) const
BufferBase(BufferProperties properties)
virtual void bindNvSciBufObj(NvSciBufObj bufObj)
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
BufferCUDA(BufferProperties properties)
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