summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineVulkan
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2019-04-13 23:38:52 +0000
committerEgor Yusov <egor.yusov@gmail.com>2019-04-13 23:38:52 +0000
commitb9acb931994f8589c6277398ae07c919bba267d6 (patch)
tree70bc6cab31215a6c35911e3f7abcf9024b929726 /Graphics/GraphicsEngineVulkan
parentFixed issues with D3D12 staging resources and mipmap generation in Vulkan (diff)
downloadDiligentCore-b9acb931994f8589c6277398ae07c919bba267d6.tar.gz
DiligentCore-b9acb931994f8589c6277398ae07c919bba267d6.zip
Fixed issue with layout transition when generating mipmaps
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
-rw-r--r--Graphics/GraphicsEngineVulkan/src/GenerateMipsVkHelper.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/GenerateMipsVkHelper.cpp b/Graphics/GraphicsEngineVulkan/src/GenerateMipsVkHelper.cpp
index 4546ddac..9f870ee3 100644
--- a/Graphics/GraphicsEngineVulkan/src/GenerateMipsVkHelper.cpp
+++ b/Graphics/GraphicsEngineVulkan/src/GenerateMipsVkHelper.cpp
@@ -362,12 +362,12 @@ namespace Diligent
constexpr const Uint32 MaxMipsHandledByCS = 4; // Max number of mip levels processed by one CS shader invocation
for (Uint32 u = 0; u < MaxMipsHandledByCS; ++u)
{
- auto* MipLevelUAV = TexView.GetMipLevelUAV(std::min(TopMip + u + 1, BottomMip));
+ auto* MipLevelUAV = TexView.GetMipLevelUAV(TopMip + std::min(u + 1, NumMips));
pOutMipVar[u]->Set(MipLevelUAV);
}
SubresRange.baseMipLevel = ViewDesc.MostDetailedMip + TopMip + 1;
- SubresRange.levelCount = std::min(4u, BottomMip - TopMip);
+ SubresRange.levelCount = NumMips;
if (OriginalLayout != VK_IMAGE_LAYOUT_GENERAL)
Ctx.TransitionImageLayout(*pTexVk, OriginalLayout, VK_IMAGE_LAYOUT_GENERAL, SubresRange);