adrien-ben / imgui-rs-vulkan-renderer

A Vulkan renderer for imgui-rs using Ash
MIT License
63 stars 19 forks source link

Add vma support #12

Closed filnet closed 3 years ago

filnet commented 3 years ago

Work in progress to add VMA support using vk_mem_rs.

Some noteworthy things:

Some issues:

Biggest problems in my opinion are:

1/ The Allocator abstraction needs to clone the device. This cloning is artificial and could be avoided in the non VMA case. But for the VMA case it is mandatory as the vk_mem_rs mandates it (see AllocatorCreateInfo).

It should be possible to get rid of this cloning for the non VMA case. For the VMA case, it is possible to get rid of it too by making it mandatory for the user to provide the allocator (make it a user problem...). But this would mean no support for "internal" only use of VMA.

2/ Many function now take device and allocator arguments which is messy.

3/ Test code that uses internal functions. See custom_textures.rs.

filnet commented 3 years ago

Pushed some changes:

adrien-ben commented 3 years ago

https://github.com/adrien-ben/imgui-rs-vulkan-renderer/pull/15 has been merge so I am closing this one. Thanks for your work and sorry for the delay.