diff --git a/src/vkcv/ShaderProgram.cpp b/src/vkcv/ShaderProgram.cpp index 6925d40c5aa967ca18cd0231499248a1006d52fe..508f4de536fc193f9b213c87e7de7e3fe0679959 100644 --- a/src/vkcv/ShaderProgram.cpp +++ b/src/vkcv/ShaderProgram.cpp @@ -1,5 +1,5 @@ /** - * @authors Simeon Hermann, Leonie Franken + * @authors Simeon Hermann, Leonie Franken, Tobias Frisch * @file src/vkcv/ShaderProgram.cpp * @brief ShaderProgram class to handle and prepare the shader stages for a graphics pipeline */ @@ -165,6 +165,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -197,6 +199,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -228,6 +232,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -260,6 +266,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -292,6 +300,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -315,6 +325,8 @@ namespace vkcv { auto insertionResult = m_DescriptorSets [setID].insert(std::make_pair(bindingID, binding)); if (!insertionResult.second) { + insertionResult.first->second.shaderStages |= shaderStage; + vkcv_log(LogLevel::WARNING, "Attempting to overwrite already existing binding %u at set ID %u.", bindingID, setID); @@ -343,3 +355,4 @@ namespace vkcv { return m_pushConstantsSize; } } // namespace vkcv +