[Vulkan] SPIRV simplified reflection ( work in progress )
authoradam.b <jsr184@gmail.com>
Thu, 8 Mar 2018 16:45:15 +0000 (16:45 +0000)
committersidein74 <sidein74@gmail.com>
Mon, 19 Mar 2018 09:26:07 +0000 (04:26 -0500)
commit4dcd123805a1d8d101fa2f6f8fa955c1b9d7f05a
tree82543974c2e7f8956ba85a8b3d5a4ca257bd617a
parent314e5f8b127321ed8375c3a8c3ce04df839fdf5c
[Vulkan] SPIRV simplified reflection ( work in progress )

Reflection plugged under the pipeline.

Implemented:
- Parsing SPIRV code
- Providing VkDescriptorSetLayoutCreateInfo data based on the shader content
- Uniform objects are matched dynamically so no need to hardcode the
  layouts anymore.

Shader modules are not able to created the descriptor set layout on its own. Only when
attached to the pipeline, the DS layouts are created before creating pipeline layout.

Change-Id: Id615bd9fbf937ca2e8f1f6c0ff54d1d36f13fd0a
19 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/shaders/basic-shader.vert
dali/graphics/vulkan/shaders/experimental-shader.vert [new file with mode: 0644]
dali/graphics/vulkan/spirv/spirv.h [new file with mode: 0644]
dali/graphics/vulkan/spirv/vulkan-spirv-opcode.h [new file with mode: 0644]
dali/graphics/vulkan/spirv/vulkan-spirv.cpp [new file with mode: 0644]
dali/graphics/vulkan/spirv/vulkan-spirv.h [new file with mode: 0644]
dali/graphics/vulkan/vulkan-command-buffer.cpp
dali/graphics/vulkan/vulkan-descriptor-set.cpp
dali/graphics/vulkan/vulkan-descriptor-set.h
dali/graphics/vulkan/vulkan-graphics-controller.cpp
dali/graphics/vulkan/vulkan-graphics.cpp
dali/graphics/vulkan/vulkan-pipeline.cpp
dali/graphics/vulkan/vulkan-pipeline.h
dali/graphics/vulkan/vulkan-shader.cpp
dali/graphics/vulkan/vulkan-shader.h
dali/graphics/vulkan/vulkan-standalone-test.cpp