Graphics refactoring
authorAngelos Gkountis <a.gkountis@samsung.com>
Thu, 24 May 2018 16:46:34 +0000 (17:46 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 11 Jun 2018 12:56:31 +0000 (12:56 +0000)
commita81063df0ad9ee64e42315b972aadc80cbd1a75e
tree2c64b9692ab0ade248646046bab48373fe93bde9
parent73c39fdb6add56a8410a038aad78698b1e1f0472
Graphics refactoring

> Added a discard queue in the ResourceCache class.

> RefCounted Vulkan objects no longer destroy their Vulkan handles when the reference count reaches 0. Instead, a deleter function is queued in the discard queue of the current thread's ResourceCache.

> Imlemented the CollectGarbage method in the Vulkan::Graphics class. This method executes all the deleter functions queued in the current thread's resource cache.

> The Vulkan::Graphics class now contains an std::unordered_map that stores a ResourceCache per thread id.

> Added Create<vulkan_object_name> methods for Vulkan objects in the Vulkan::Graphics class.

> Added action methods (e.g WaitForFence(...)) in the Graphics class.

> Function implementations in vulkan-graphics.cpp now match the declaration order defined in vulkan-graphics.h.

> Added implicit conversion operators in some Vulkan objects that exposes the pointer to the Vulkan handle.

> Moved the BufferType and Platform enum classes to vulkan-types.h.

Change-Id: I1b4b2bd3d2074c016d1c4fbce3c5ab532b279e64
18 files changed:
dali/graphics/vulkan/api/vulkan-api-buffer.cpp
dali/graphics/vulkan/tests/texture-test.cpp
dali/graphics/vulkan/vulkan-buffer.cpp
dali/graphics/vulkan/vulkan-buffer.h
dali/graphics/vulkan/vulkan-command-pool.cpp
dali/graphics/vulkan/vulkan-command-pool.h
dali/graphics/vulkan/vulkan-fence.cpp
dali/graphics/vulkan/vulkan-fence.h
dali/graphics/vulkan/vulkan-graphics-texture.cpp
dali/graphics/vulkan/vulkan-graphics.cpp
dali/graphics/vulkan/vulkan-graphics.h
dali/graphics/vulkan/vulkan-pipeline.cpp
dali/graphics/vulkan/vulkan-queue.cpp
dali/graphics/vulkan/vulkan-queue.h
dali/graphics/vulkan/vulkan-resource-cache.cpp
dali/graphics/vulkan/vulkan-resource-cache.h
dali/graphics/vulkan/vulkan-swapchain.cpp
dali/graphics/vulkan/vulkan-types.h