[Vulkan] Image and Swapchain upgrade
authoradam.b <jsr184@gmail.com>
Wed, 21 Mar 2018 12:05:56 +0000 (12:05 +0000)
committerFrancisco Santos <eggzcape@gmail.com>
Thu, 29 Mar 2018 16:36:49 +0000 (12:36 -0400)
commitcd691a6ced289a015d1737df907a1374a47d74c4
tree9484b9a30cb97adbb5e92d4992c10c32199ea399
parent4dcd123805a1d8d101fa2f6f8fa955c1b9d7f05a
[Vulkan] Image and Swapchain upgrade

Sync issues seem to be quite severe hence the new Swapchain object
is introduced which will make use of new Image, ImageView and Framebuffer wrappers.

- Swapchain and surface have been decoupled.
- Swapchain can be obtained now from FBID value
- Swapping buffers and presenting is responsibility of swapchain not surface
- Framebuffer object is responsible for storing own compatible render pass
- ImageView can be given external untracked vk::Image as a source
- New synchronisation mechanism in place ( brute force, but more stable )
- Fixed image layout transition

This patch requires SPIR-V parser.

Change-Id: I6cb64283109b648752ff341fe7fe165dc9bad5cb
30 files changed:
dali/graphics/file.list
dali/graphics/vulkan/generated/spv-shaders-gen.cpp
dali/graphics/vulkan/generated/spv-shaders-gen.h
dali/graphics/vulkan/gpu-memory/vulkan-gpu-memory-allocator.h
dali/graphics/vulkan/gpu-memory/vulkan-gpu-memory-manager.cpp
dali/graphics/vulkan/tests/texture-test.cpp [new file with mode: 0644]
dali/graphics/vulkan/vulkan-buffer.cpp
dali/graphics/vulkan/vulkan-buffer.h
dali/graphics/vulkan/vulkan-command-buffer.cpp
dali/graphics/vulkan/vulkan-command-buffer.h
dali/graphics/vulkan/vulkan-command-pool.cpp
dali/graphics/vulkan/vulkan-command-pool.h
dali/graphics/vulkan/vulkan-framebuffer.cpp
dali/graphics/vulkan/vulkan-framebuffer.h
dali/graphics/vulkan/vulkan-graphics-controller.cpp
dali/graphics/vulkan/vulkan-graphics.cpp
dali/graphics/vulkan/vulkan-graphics.h
dali/graphics/vulkan/vulkan-image.cpp
dali/graphics/vulkan/vulkan-image.h
dali/graphics/vulkan/vulkan-pipeline.cpp
dali/graphics/vulkan/vulkan-queue.cpp
dali/graphics/vulkan/vulkan-standalone-test.cpp
dali/graphics/vulkan/vulkan-surface.cpp
dali/graphics/vulkan/vulkan-surface.h
dali/graphics/vulkan/vulkan-swapchain.cpp [new file with mode: 0644]
dali/graphics/vulkan/vulkan-swapchain.h [new file with mode: 0644]
dali/graphics/vulkan/vulkan-types.h
dali/integration-api/graphics/graphics.cpp
dali/integration-api/graphics/graphics.h
dali/integration-api/graphics/surface-factory.h