From a297b91c01b4288647b8a9824e43cd26848da6e3 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Tue, 10 Apr 2018 09:02:07 -0700 Subject: Minor changes --- .../src/PipelineStateVkImpl.cpp | 9 ++++--- .../GraphicsEngineVulkan/src/SwapChainVkImpl.cpp | 28 ++++++++++++++++++---- .../src/VulkanUtilities/VulkanInstance.cpp | 1 + .../src/VulkanUtilities/VulkanPhysicalDevice.cpp | 1 + 4 files changed, 31 insertions(+), 8 deletions(-) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp index d00bc661..e7e59daa 100644 --- a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp @@ -86,10 +86,10 @@ PipelineStateVkImpl :: PipelineStateVkImpl(IReferenceCounters *pRefCounters, Ren m_pDefaultShaderResBinding(nullptr, STDDeleter(pDeviceVk->GetSRBAllocator()) ) */ { -#if 0 - auto pVkDevice = pDeviceVk->GetVkDevice(); + //auto pVkDevice = pDeviceVk->GetVkDevice(); if (PipelineDesc.IsComputePipeline) { +#if 0 auto &ComputePipeline = PipelineDesc.ComputePipeline; if( ComputePipeline.pCS == nullptr ) @@ -120,10 +120,12 @@ PipelineStateVkImpl :: PipelineStateVkImpl(IReferenceCounters *pRefCounters, Ren HRESULT hr = pVkDevice->CreateComputePipelineState(&VkPSODesc, __uuidof(IVkPipelineState), reinterpret_cast( static_cast(&m_pVkPSO)) ); if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to create pipeline state"); +#endif } else { const auto& GraphicsPipeline = PipelineDesc.GraphicsPipeline; +#if 0 Vk_GRAPHICS_PIPELINE_STATE_DESC VkPSODesc = {}; m_RootSig.AllocateStaticSamplers( GetShaders(), GetNumShaders() ); @@ -204,8 +206,9 @@ PipelineStateVkImpl :: PipelineStateVkImpl(IReferenceCounters *pRefCounters, Ren HRESULT hr = pVkDevice->CreateGraphicsPipelineState(&VkPSODesc, __uuidof(IVkPipelineState), reinterpret_cast( static_cast(&m_pVkPSO)) ); if(FAILED(hr)) LOG_ERROR_AND_THROW("Failed to create pipeline state"); +#endif } - +#if 0 if (*m_Desc.Name != 0) { m_pVkPSO->SetName(WidenString(m_Desc.Name).c_str()); diff --git a/Graphics/GraphicsEngineVulkan/src/SwapChainVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/SwapChainVkImpl.cpp index c7d77418..57709a4c 100644 --- a/Graphics/GraphicsEngineVulkan/src/SwapChainVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/SwapChainVkImpl.cpp @@ -104,6 +104,7 @@ SwapChainVkImpl::SwapChainVkImpl(IReferenceCounters *pRefCounters, CHECK_VK_ERROR_AND_THROW(err, "Failed to query supported format properties"); VERIFY_EXPR(formatCount == SupportedFormats.size()); m_VkColorFormat = TexFormatToVkFormat(m_SwapChainDesc.ColorBufferFormat); + VkColorSpaceKHR ColorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR; if (formatCount == 1 && SupportedFormats[0].format == VK_FORMAT_UNDEFINED) { // If the format list includes just one entry of VK_FORMAT_UNDEFINED, @@ -114,8 +115,16 @@ SwapChainVkImpl::SwapChainVkImpl(IReferenceCounters *pRefCounters, } else { - bool FmtFound = std::find_if(SupportedFormats.begin(), SupportedFormats.end(), - [&](const VkSurfaceFormatKHR &SrfFmt){return SrfFmt.format == m_VkColorFormat;}) != SupportedFormats.end(); + bool FmtFound = false; + for(const auto& SrfFmt : SupportedFormats) + { + if(SrfFmt.format == m_VkColorFormat) + { + FmtFound = true; + ColorSpace = SrfFmt.colorSpace; + break; + } + } if(!FmtFound) { VkFormat VkReplacementColorFormat = VK_FORMAT_UNDEFINED; @@ -128,8 +137,17 @@ SwapChainVkImpl::SwapChainVkImpl(IReferenceCounters *pRefCounters, default: VkReplacementColorFormat = VK_FORMAT_UNDEFINED; } - bool ReplacementFmtFound = std::find_if(SupportedFormats.begin(), SupportedFormats.end(), - [&](const VkSurfaceFormatKHR &SrfFmt) {return SrfFmt.format == VkReplacementColorFormat; }) != SupportedFormats.end(); + bool ReplacementFmtFound = false; + for (const auto& SrfFmt : SupportedFormats) + { + if (SrfFmt.format == VkReplacementColorFormat) + { + ReplacementFmtFound = true; + ColorSpace = SrfFmt.colorSpace; + break; + } + } + if(ReplacementFmtFound) { m_VkColorFormat = VkReplacementColorFormat; @@ -234,7 +252,7 @@ SwapChainVkImpl::SwapChainVkImpl(IReferenceCounters *pRefCounters, swapchain_ci.presentMode = swapchainPresentMode; swapchain_ci.oldSwapchain = VK_NULL_HANDLE; swapchain_ci.clipped = VK_TRUE; - swapchain_ci.imageColorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR; + swapchain_ci.imageColorSpace = ColorSpace; swapchain_ci.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; swapchain_ci.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; swapchain_ci.queueFamilyIndexCount = 0; diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanInstance.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanInstance.cpp index 08a568c7..a47c0ec0 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanInstance.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanInstance.cpp @@ -22,6 +22,7 @@ */ #include +#include #include "VulkanErrors.h" #include "VulkanUtilities/VulkanInstance.h" #include "VulkanUtilities/VulkanDebug.h" diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanPhysicalDevice.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanPhysicalDevice.cpp index 35b53c86..b5dcee74 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanPhysicalDevice.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanUtilities/VulkanPhysicalDevice.cpp @@ -22,6 +22,7 @@ */ #include +#include #include "VulkanErrors.h" #include "VulkanUtilities/VulkanPhysicalDevice.h" -- cgit v1.2.3