48 uint32_t mem_type =
allocInfo().memoryType;
49 const auto props = myInst->getMemoryProps();
50 auto flags =
props->memoryTypes[mem_type].propertyFlags;
55 {
return exportMemory(r->
instance()); }
104 {
return myAllocator; }
107 using PassKey = RV_VKMemory::PassKey;
VE_Result< SYS_Handle > getExternalHandle(VkDevice device, const VE_Ext *ext)
VkFlags VkExternalMemoryHandleTypeFlags
SYS_Handle exportMemory(RV_Instance *inst)
static VkExternalMemoryHandleTypeFlags getExternMemHandleType()
bool ok() const
Returns true if we have a valid result. Otherwise, we have an error.
UT_UniquePtr< RV_VKMemory > RV_VKMemoryPtr
static VkExternalMemoryHandleTypeFlags getExternMemHandleType()
GLint GLint GLsizei GLint GLenum GLenum type
const VmaAllocationInfo & allocInfo() const
RV_VKMemory(RV_Instance *inst, VE_Memory &&mem, const PassKey &)
Handle to the main interface of Vulkan.
SYS_Handle exportMemory(RV_Render *r)
RV_Instance * instance()
The instance associated with this render.
VE_MemType getType() const
RV_VKExt * getExt()
Object containing function pointers to Vulkan extensions.
VkDevice getDevice()
Get the raw vulkan device assocated with this instance.
const VE_MemoryAllocator & getBaseAllocator() const
GLenum GLuint GLsizei const GLenum * props