diff --git a/lsfg-vk-v3.1p/include/shaders/gamma.hpp b/lsfg-vk-v3.1p/include/shaders/gamma.hpp index 6298bb3..fa8e8e4 100644 --- a/lsfg-vk-v3.1p/include/shaders/gamma.hpp +++ b/lsfg-vk-v3.1p/include/shaders/gamma.hpp @@ -26,13 +26,13 @@ namespace LSFG::Shaders { /// /// Initialize the shaderchain. /// - /// @param inImgs1 Three sets of four RGBA images, corresponding to a frame count % 3. + /// @param inImgs1 Three sets of two RGBA images, corresponding to a frame count % 3. /// @param inImg2 Second Input image /// @param optImg Optional image for non-first passes. /// /// @throws LSFG::vulkan_error if resource creation fails. /// - Gamma(Vulkan& vk, std::array, 3> inImgs1, + Gamma(Vulkan& vk, std::array, 3> inImgs1, Core::Image inImg2, std::optional optImg); /// @@ -60,11 +60,11 @@ namespace LSFG::Shaders { }; std::vector passes; - std::array, 3> inImgs1; + std::array, 3> inImgs1; Core::Image inImg2; std::optional optImg; - std::array tempImgs1; - std::array tempImgs2; + std::array tempImgs1; + std::array tempImgs2; Core::Image outImg; }; diff --git a/lsfg-vk-v3.1p/src/shaders/gamma.cpp b/lsfg-vk-v3.1p/src/shaders/gamma.cpp index e703d4e..325eb81 100644 --- a/lsfg-vk-v3.1p/src/shaders/gamma.cpp +++ b/lsfg-vk-v3.1p/src/shaders/gamma.cpp @@ -13,7 +13,7 @@ using namespace LSFG::Shaders; -Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, +Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, Core::Image inImg2, std::optional optImg) : inImgs1(std::move(inImgs1)), inImg2(std::move(inImg2)), @@ -23,24 +23,24 @@ Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, vk.shaders.getShader(vk.device, "gamma[0]", { { 1 , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, - { 9, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, + { 5, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 3, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), vk.shaders.getShader(vk.device, "gamma[1]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 3, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, - { 4, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), + { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), vk.shaders.getShader(vk.device, "gamma[2]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, - { 4, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, - { 4, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), + { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, + { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), vk.shaders.getShader(vk.device, "gamma[3]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, - { 4, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, - { 4, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), + { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, + { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), vk.shaders.getShader(vk.device, "gamma[4]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, - { 6, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, + { 4, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }) }}; this->pipelines = {{ @@ -58,7 +58,7 @@ Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, // create internal images/outputs const VkExtent2D extent = this->inImgs1.at(0).at(0).getExtent(); - for (size_t i = 0; i < 4; i++) { + for (size_t i = 0; i < 2; i++) { this->tempImgs1.at(i) = Core::Image(vk.device, extent); this->tempImgs2.at(i) = Core::Image(vk.device, extent); }