diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-04-13 23:38:52 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-04-13 23:38:52 +0000 |
| commit | b9acb931994f8589c6277398ae07c919bba267d6 (patch) | |
| tree | 70bc6cab31215a6c35911e3f7abcf9024b929726 /Graphics/GraphicsEngineVulkan | |
| parent | Fixed issues with D3D12 staging resources and mipmap generation in Vulkan (diff) | |
| download | DiligentCore-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.cpp | 4 |
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); |
