summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineVulkan
diff options
context:
space:
mode:
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
-rw-r--r--Graphics/GraphicsEngineVulkan/src/RenderPassVkImpl.cpp16
-rw-r--r--Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp2
2 files changed, 15 insertions, 3 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/RenderPassVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/RenderPassVkImpl.cpp
index 5ebab9c1..67731739 100644
--- a/Graphics/GraphicsEngineVulkan/src/RenderPassVkImpl.cpp
+++ b/Graphics/GraphicsEngineVulkan/src/RenderPassVkImpl.cpp
@@ -129,9 +129,21 @@ RenderPassVkImpl::RenderPassVkImpl(IReferenceCounters* pRefCounters,
RenderPassCI.subpassCount = Desc.SubpassCount;
RenderPassCI.pSubpasses = vkSubpasses.data();
-
+ std::vector<VkSubpassDependency> vkDependencies(Desc.DependencyCount);
+ for (Uint32 i = 0; i < Desc.DependencyCount; ++i)
+ {
+ const auto& DependencyDesc = m_Desc.pDependencies[i];
+ auto& vkDependency = vkDependencies[i];
+ vkDependency.srcSubpass = DependencyDesc.SrcSubpass;
+ vkDependency.dstSubpass = DependencyDesc.DstSubpass;
+ vkDependency.srcStageMask = DependencyDesc.SrcStageMask;
+ vkDependency.dstStageMask = DependencyDesc.DstStageMask;
+ vkDependency.srcAccessMask = DependencyDesc.SrcAccessMask;
+ vkDependency.dstAccessMask = DependencyDesc.DstAccessMask;
+ vkDependency.dependencyFlags = 0;
+ }
RenderPassCI.dependencyCount = Desc.DependencyCount;
- RenderPassCI.pDependencies;
+ RenderPassCI.pDependencies = vkDependencies.data();
const auto& LogicalDevice = pDevice->GetLogicalDevice();
diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp
index 939c8e9d..01596a78 100644
--- a/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp
+++ b/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp
@@ -1454,7 +1454,7 @@ static_assert(PIPELINE_STAGE_FLAG_VERTEX_SHADER == VK_PIPELINE_ST
static_assert(PIPELINE_STAGE_FLAG_HULL_SHADER == VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "PIPELINE_STAGE_FLAG_HULL_SHADER != VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT");
static_assert(PIPELINE_STAGE_FLAG_DOMAIN_SHADER == VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "PIPELINE_STAGE_FLAG_DOMAIN_SHADER != VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT");
static_assert(PIPELINE_STAGE_FLAG_GEOMETRY_SHADER == VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "PIPELINE_STAGE_FLAG_GEOMETRY_SHADER != VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT");
-static_assert(PIPELINE_STAGE_FLAG_FRAGMENT_SHADER == VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "PIPELINE_STAGE_FLAG_FRAGMENT_SHADER != VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT");
+static_assert(PIPELINE_STAGE_FLAG_PIXEL_SHADER == VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "PIPELINE_STAGE_FLAG_PIXEL_SHADER != VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT");
static_assert(PIPELINE_STAGE_FLAG_EARLY_FRAGMENT_TESTS == VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "PIPELINE_STAGE_FLAG_EARLY_FRAGMENT_TESTS != VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT");
static_assert(PIPELINE_STAGE_FLAG_LATE_FRAGMENT_TESTS == VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "PIPELINE_STAGE_FLAG_LATE_FRAGMENT_TESTS != VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT");
static_assert(PIPELINE_STAGE_FLAG_RENDER_TARGET == VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "PIPELINE_STAGE_FLAG_RENDER_TARGET != VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT");