diff --git a/projects/indirect_dispatch/src/App.cpp b/projects/indirect_dispatch/src/App.cpp index 0856173a8ab7fc1541d7185ce4fa786ded0c2518..bd65d314a92e787d7bac2b343d364df0126e41ba 100644 --- a/projects/indirect_dispatch/src/App.cpp +++ b/projects/indirect_dispatch/src/App.cpp @@ -201,8 +201,8 @@ void App::run() { m_core.prepareImageForStorage(cmdStream, m_renderTargets.motionMax); const uint32_t motionTileDispatchCounts[3] = { - (m_core.getImageWidth( m_renderTargets.motionMax) + 7) / 8, - (m_core.getImageHeight(m_renderTargets.motionMax) + 7) / 8, + (m_core.getImageWidth( m_renderTargets.motionMax) + AppConfig::maxMotionTileSize - 1) / AppConfig::maxMotionTileSize, + (m_core.getImageHeight(m_renderTargets.motionMax) + AppConfig::maxMotionTileSize - 1) / AppConfig::maxMotionTileSize, 1 }; m_core.recordComputeDispatchToCmdStream( diff --git a/projects/indirect_dispatch/src/AppConfig.hpp b/projects/indirect_dispatch/src/AppConfig.hpp index c89c34ea8e3c0c45708ca998a642faffb31403d3..877a1dd3f8f9f189137023adb9c9bf6e17212445 100644 --- a/projects/indirect_dispatch/src/AppConfig.hpp +++ b/projects/indirect_dispatch/src/AppConfig.hpp @@ -7,4 +7,5 @@ namespace AppConfig{ const vk::Format depthBufferFormat = vk::Format::eD32Sfloat; const vk::Format colorBufferFormat = vk::Format::eB10G11R11UfloatPack32; const vk::Format motionBufferFormat = vk::Format::eR16G16Sfloat; + const uint32_t maxMotionTileSize = 8; } \ No newline at end of file diff --git a/projects/indirect_dispatch/src/AppSetup.cpp b/projects/indirect_dispatch/src/AppSetup.cpp index 96b182fd330feef3a128cf3a5bce4e8678372a59..0733aee461012f0893aab1cbed9d824c46e23ee0 100644 --- a/projects/indirect_dispatch/src/AppSetup.cpp +++ b/projects/indirect_dispatch/src/AppSetup.cpp @@ -269,10 +269,9 @@ RenderTargets createRenderTargets(vkcv::Core& core, const uint32_t width, const false, true).getHandle(); - const uint32_t motionTileSize = 8; // divide and ceil to int - const uint32_t motionMaxWidth = (width + (motionTileSize - 1)) / motionTileSize; - const uint32_t motionMaxheight = (height + (motionTileSize - 1)) / motionTileSize; + const uint32_t motionMaxWidth = (width + (AppConfig::maxMotionTileSize - 1)) / AppConfig::maxMotionTileSize; + const uint32_t motionMaxheight = (height + (AppConfig::maxMotionTileSize - 1)) / AppConfig::maxMotionTileSize; targets.motionMax = core.createImage( AppConfig::motionBufferFormat,