Refactored the Vulkan::CommandPool class
authorAngelos Gkountis <a.gkountis@samsung.com>
Fri, 8 Jun 2018 10:35:14 +0000 (11:35 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 11 Jun 2018 17:06:23 +0000 (17:06 +0000)
commitcce2078928fc0afce99f7183889f3fd767200bdc
treef62509dfbfc2ba7f51b623f292aa09c0995184f4
parent0099264c18329898bb19b555a52aeb7e38279277
Refactored the Vulkan::CommandPool class

- Removed the PIMPL pattern from the Vulkan::CommandPool class.
- Fences are again a transient resource. The Graphics class will not maintain references to them. The code that requires fences to stay alive should hold references to them.
- The fences are still deallocated by the device at the end of the frame.
- Fixed a bug with enqueueing deleter functions for garbage collection. The deleter functions now capture copies of the Vulkan handles and any other required pointers instead if the "this" pointer which is not valid at the time of garbage collection.

Change-Id: I93b6a97e83632faebf557c8a9c439547f00ef1a8
dali/graphics/vulkan/vulkan-buffer.cpp
dali/graphics/vulkan/vulkan-command-buffer.cpp
dali/graphics/vulkan/vulkan-command-pool.cpp
dali/graphics/vulkan/vulkan-command-pool.h
dali/graphics/vulkan/vulkan-fence.cpp
dali/graphics/vulkan/vulkan-graphics.cpp
dali/graphics/vulkan/vulkan-graphics.h
dali/graphics/vulkan/vulkan-image-view.cpp
dali/graphics/vulkan/vulkan-image.cpp
dali/graphics/vulkan/vulkan-resource-cache.cpp
dali/graphics/vulkan/vulkan-resource-cache.h