diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp index 5cd188d..377d09b 100644 --- a/src/rendervulkan.cpp +++ b/src/rendervulkan.cpp @@ -1544,6 +1544,14 @@ void CVulkanCmdBuffer::prepareDestImage(CVulkanTexture *image) result.first->second.needsPresentLayout = image->swapchainImage(); } +void CVulkanCmdBuffer::discardImage(CVulkanTexture *image) +{ + auto result = m_textureState.emplace(image, TextureState()); + if (!result.second) + return; + result.first->second.discarded = true; +} + void CVulkanCmdBuffer::markDirty(CVulkanTexture *image) { auto result = m_textureState.find(image); diff --git a/src/rendervulkan.hpp b/src/rendervulkan.hpp index b0e6826..c3fadf0 100644 --- a/src/rendervulkan.hpp +++ b/src/rendervulkan.hpp @@ -804,6 +804,7 @@ public: private: void prepareSrcImage(CVulkanTexture *image); void prepareDestImage(CVulkanTexture *image); + void discardImage(CVulkanTexture *image); void markDirty(CVulkanTexture *image); void insertBarrier(bool flush = false);