1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-01 19:29:16 +01:00

[dxvk] Add memory flag query to DxvkImage

This commit is contained in:
Philip Rebohle 2018-03-10 17:41:42 +01:00
parent fb36b56891
commit a4a8e0d6c8
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 30 additions and 18 deletions

View File

@ -7,7 +7,7 @@ namespace dxvk {
const DxvkImageCreateInfo& createInfo,
DxvkMemoryAllocator& memAlloc,
VkMemoryPropertyFlags memFlags)
: m_vkd(vkd), m_info(createInfo) {
: m_vkd(vkd), m_info(createInfo), m_memFlags(memFlags) {
VkImageCreateInfo info;
info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;

View File

@ -141,6 +141,30 @@ namespace dxvk {
return m_info;
}
/**
* \brief Memory type flags
*
* Use this to determine whether a
* buffer is mapped to host memory.
* \returns Vulkan memory flags
*/
VkMemoryPropertyFlags memFlags() const {
return m_memFlags;
}
/**
* \brief Map pointer
*
* If the image has been created on a host-visible
* memory type, its memory is mapped and can be
* accessed by the host.
* \param [in] offset Byte offset into mapped region
* \returns Pointer to mapped memory region
*/
void* mapPtr(VkDeviceSize offset) const {
return m_memory.mapPtr(offset);
}
/**
* \brief Image format info
* \returns Image format info
@ -180,25 +204,13 @@ namespace dxvk {
return result;
}
/**
* \brief Map pointer
*
* If the image has been created on a host-visible
* memory type, its memory is mapped and can be
* accessed by the host.
* \param [in] offset Byte offset into mapped region
* \returns Pointer to mapped memory region
*/
void* mapPtr(VkDeviceSize offset) const {
return m_memory.mapPtr(offset);
}
private:
Rc<vk::DeviceFn> m_vkd;
DxvkImageCreateInfo m_info;
DxvkMemory m_memory;
VkImage m_image = VK_NULL_HANDLE;
Rc<vk::DeviceFn> m_vkd;
DxvkImageCreateInfo m_info;
VkMemoryPropertyFlags m_memFlags;
DxvkMemory m_memory;
VkImage m_image = VK_NULL_HANDLE;
};