From 260998cbf5986f9b5e2bc3573307b75b49329065 Mon Sep 17 00:00:00 2001 From: PancakeTAS Date: Sat, 12 Jul 2025 20:15:22 +0200 Subject: [PATCH] don't override the previous shaders.. fixes #41 --- lsfg-vk-v3.1p/include/shaders/gamma.hpp | 2 +- lsfg-vk-v3.1p/src/shaders/alpha.cpp | 16 +++--- lsfg-vk-v3.1p/src/shaders/beta.cpp | 20 +++---- lsfg-vk-v3.1p/src/shaders/delta.cpp | 40 ++++++------- lsfg-vk-v3.1p/src/shaders/gamma.cpp | 52 ++++++++--------- lsfg-vk-v3.1p/src/shaders/generate.cpp | 4 +- lsfg-vk-v3.1p/src/shaders/mipmaps.cpp | 4 +- src/extract/extract.cpp | 74 +++++++++++++++++-------- 8 files changed, 117 insertions(+), 95 deletions(-) diff --git a/lsfg-vk-v3.1p/include/shaders/gamma.hpp b/lsfg-vk-v3.1p/include/shaders/gamma.hpp index b4e24ab..b1c3842 100644 --- a/lsfg-vk-v3.1p/include/shaders/gamma.hpp +++ b/lsfg-vk-v3.1p/include/shaders/gamma.hpp @@ -65,7 +65,7 @@ namespace LSFG_3_1P::Shaders { std::array, 3> inImgs1; Core::Image inImg2; std::optional optImg; - std::array tempImgs1; + std::array tempImgs1; std::array tempImgs2; Core::Image outImg; }; diff --git a/lsfg-vk-v3.1p/src/shaders/alpha.cpp b/lsfg-vk-v3.1p/src/shaders/alpha.cpp index f572f4c..2209adb 100644 --- a/lsfg-vk-v3.1p/src/shaders/alpha.cpp +++ b/lsfg-vk-v3.1p/src/shaders/alpha.cpp @@ -14,28 +14,28 @@ using namespace LSFG_3_1P::Shaders; Alpha::Alpha(Vulkan& vk, Core::Image inImg) : inImg(std::move(inImg)) { // create resources this->shaderModules = {{ - vk.shaders.getShader(vk.device, "alpha[0]", + vk.shaders.getShader(vk.device, "p_alpha[0]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "alpha[1]", + vk.shaders.getShader(vk.device, "p_alpha[1]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "alpha[2]", + vk.shaders.getShader(vk.device, "p_alpha[2]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "alpha[3]", + vk.shaders.getShader(vk.device, "p_alpha[3]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }) }}; this->pipelines = {{ - vk.shaders.getPipeline(vk.device, "alpha[0]"), - vk.shaders.getPipeline(vk.device, "alpha[1]"), - vk.shaders.getPipeline(vk.device, "alpha[2]"), - vk.shaders.getPipeline(vk.device, "alpha[3]") + vk.shaders.getPipeline(vk.device, "p_alpha[0]"), + vk.shaders.getPipeline(vk.device, "p_alpha[1]"), + vk.shaders.getPipeline(vk.device, "p_alpha[2]"), + vk.shaders.getPipeline(vk.device, "p_alpha[3]") }}; this->sampler = vk.resources.getSampler(vk.device); for (size_t i = 0; i < 3; i++) diff --git a/lsfg-vk-v3.1p/src/shaders/beta.cpp b/lsfg-vk-v3.1p/src/shaders/beta.cpp index 1a24825..c82976a 100644 --- a/lsfg-vk-v3.1p/src/shaders/beta.cpp +++ b/lsfg-vk-v3.1p/src/shaders/beta.cpp @@ -16,34 +16,34 @@ Beta::Beta(Vulkan& vk, std::array, 3> inImgs) : inImgs(std::move(inImgs)) { // create resources this->shaderModules = {{ - vk.shaders.getShader(vk.device, "beta[0]", + vk.shaders.getShader(vk.device, "p_beta[0]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 6, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "beta[1]", + vk.shaders.getShader(vk.device, "p_beta[1]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "beta[2]", + vk.shaders.getShader(vk.device, "p_beta[2]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "beta[3]", + vk.shaders.getShader(vk.device, "p_beta[3]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "beta[4]", + vk.shaders.getShader(vk.device, "p_beta[4]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 6, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }) }}; this->pipelines = {{ - vk.shaders.getPipeline(vk.device, "beta[0]"), - vk.shaders.getPipeline(vk.device, "beta[1]"), - vk.shaders.getPipeline(vk.device, "beta[2]"), - vk.shaders.getPipeline(vk.device, "beta[3]"), - vk.shaders.getPipeline(vk.device, "beta[4]") + vk.shaders.getPipeline(vk.device, "p_beta[0]"), + vk.shaders.getPipeline(vk.device, "p_beta[1]"), + vk.shaders.getPipeline(vk.device, "p_beta[2]"), + vk.shaders.getPipeline(vk.device, "p_beta[3]"), + vk.shaders.getPipeline(vk.device, "p_beta[4]") }}; this->samplers.at(0) = vk.resources.getSampler(vk.device); this->samplers.at(1) = vk.resources.getSampler(vk.device, diff --git a/lsfg-vk-v3.1p/src/shaders/delta.cpp b/lsfg-vk-v3.1p/src/shaders/delta.cpp index c479945..4d222dc 100644 --- a/lsfg-vk-v3.1p/src/shaders/delta.cpp +++ b/lsfg-vk-v3.1p/src/shaders/delta.cpp @@ -21,62 +21,62 @@ Delta::Delta(Vulkan& vk, std::array, 3> inImgs1, optImg1(std::move(optImg1)), optImg2(std::move(optImg2)) { // create resources this->shaderModules = {{ - vk.shaders.getShader(vk.device, "delta[0]", + vk.shaders.getShader(vk.device, "p_delta[0]", { { 1 , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 5, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 3, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[1]", + vk.shaders.getShader(vk.device, "p_delta[1]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 3, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[2]", + vk.shaders.getShader(vk.device, "p_delta[2]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[3]", + vk.shaders.getShader(vk.device, "p_delta[3]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[4]", + vk.shaders.getShader(vk.device, "p_delta[4]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 4, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[5]", + vk.shaders.getShader(vk.device, "p_delta[5]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 6, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[6]", + vk.shaders.getShader(vk.device, "p_delta[6]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[7]", + vk.shaders.getShader(vk.device, "p_delta[7]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[8]", + vk.shaders.getShader(vk.device, "p_delta[8]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "delta[9]", + vk.shaders.getShader(vk.device, "p_delta[9]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }) }}; this->pipelines = {{ - vk.shaders.getPipeline(vk.device, "delta[0]"), - vk.shaders.getPipeline(vk.device, "delta[1]"), - vk.shaders.getPipeline(vk.device, "delta[2]"), - vk.shaders.getPipeline(vk.device, "delta[3]"), - vk.shaders.getPipeline(vk.device, "delta[4]"), - vk.shaders.getPipeline(vk.device, "delta[5]"), - vk.shaders.getPipeline(vk.device, "delta[6]"), - vk.shaders.getPipeline(vk.device, "delta[7]"), - vk.shaders.getPipeline(vk.device, "delta[8]"), - vk.shaders.getPipeline(vk.device, "delta[9]") + vk.shaders.getPipeline(vk.device, "p_delta[0]"), + vk.shaders.getPipeline(vk.device, "p_delta[1]"), + vk.shaders.getPipeline(vk.device, "p_delta[2]"), + vk.shaders.getPipeline(vk.device, "p_delta[3]"), + vk.shaders.getPipeline(vk.device, "p_delta[4]"), + vk.shaders.getPipeline(vk.device, "p_delta[5]"), + vk.shaders.getPipeline(vk.device, "p_delta[6]"), + vk.shaders.getPipeline(vk.device, "p_delta[7]"), + vk.shaders.getPipeline(vk.device, "p_delta[8]"), + vk.shaders.getPipeline(vk.device, "p_delta[9]") }}; this->samplers.at(0) = vk.resources.getSampler(vk.device); this->samplers.at(1) = vk.resources.getSampler(vk.device, diff --git a/lsfg-vk-v3.1p/src/shaders/gamma.cpp b/lsfg-vk-v3.1p/src/shaders/gamma.cpp index ccbe932..350f7a6 100644 --- a/lsfg-vk-v3.1p/src/shaders/gamma.cpp +++ b/lsfg-vk-v3.1p/src/shaders/gamma.cpp @@ -20,35 +20,35 @@ Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, optImg(std::move(optImg)) { // create resources this->shaderModules = {{ - vk.shaders.getShader(vk.device, "gamma[0]", + vk.shaders.getShader(vk.device, "p_gamma[0]", { { 1 , VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 5, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 3, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "gamma[1]", + vk.shaders.getShader(vk.device, "p_gamma[1]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 3, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "gamma[2]", + vk.shaders.getShader(vk.device, "p_gamma[2]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "gamma[3]", + vk.shaders.getShader(vk.device, "p_gamma[3]", { { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }), - vk.shaders.getShader(vk.device, "gamma[4]", + vk.shaders.getShader(vk.device, "p_gamma[4]", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 4, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }) }}; this->pipelines = {{ - vk.shaders.getPipeline(vk.device, "gamma[0]"), - vk.shaders.getPipeline(vk.device, "gamma[1]"), - vk.shaders.getPipeline(vk.device, "gamma[2]"), - vk.shaders.getPipeline(vk.device, "gamma[3]"), - vk.shaders.getPipeline(vk.device, "gamma[4]") + vk.shaders.getPipeline(vk.device, "p_gamma[0]"), + vk.shaders.getPipeline(vk.device, "p_gamma[1]"), + vk.shaders.getPipeline(vk.device, "p_gamma[2]"), + vk.shaders.getPipeline(vk.device, "p_gamma[3]"), + vk.shaders.getPipeline(vk.device, "p_gamma[4]") }}; this->samplers.at(0) = vk.resources.getSampler(vk.device); this->samplers.at(1) = vk.resources.getSampler(vk.device, @@ -58,10 +58,10 @@ 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 < 2; i++) { + for (size_t i = 0; i < 3; i++) this->tempImgs1.at(i) = Core::Image(vk.device, extent); + for (size_t i = 0; i < 2; i++) this->tempImgs2.at(i) = Core::Image(vk.device, extent); - } this->outImg = Core::Image(vk.device, { extent.width, extent.height }, @@ -83,18 +83,14 @@ Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->inImgs1.at((i + 2) % 3)) .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->inImgs1.at(i % 3)) .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->optImg) - .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1.at(0)) - .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1.at(1)) - .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1.at(2)) + .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1) .build(); } pass.descriptorSets.at(0) = Core::DescriptorSet(vk.device, vk.descriptorPool, this->shaderModules.at(1)); pass.descriptorSets.at(0).update(vk.device) .add(VK_DESCRIPTOR_TYPE_SAMPLER, this->samplers.at(0)) - .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1.at(0)) - .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1.at(1)) - .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1.at(2)) + .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1) .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs2) .build(); pass.descriptorSets.at(1) = Core::DescriptorSet(vk.device, vk.descriptorPool, @@ -102,13 +98,15 @@ Gamma::Gamma(Vulkan& vk, std::array, 3> inImgs1, pass.descriptorSets.at(1).update(vk.device) .add(VK_DESCRIPTOR_TYPE_SAMPLER, this->samplers.at(0)) .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs2) - .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1) + .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1.at(0)) + .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs1.at(1)) .build(); pass.descriptorSets.at(2) = Core::DescriptorSet(vk.device, vk.descriptorPool, this->shaderModules.at(3)); pass.descriptorSets.at(2).update(vk.device) .add(VK_DESCRIPTOR_TYPE_SAMPLER, this->samplers.at(0)) - .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1) + .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1.at(0)) + .add(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, this->tempImgs1.at(1)) .add(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, this->tempImgs2) .build(); pass.descriptorSets.at(3) = Core::DescriptorSet(vk.device, vk.descriptorPool, @@ -137,9 +135,7 @@ void Gamma::Dispatch(const Core::CommandBuffer& buf, uint64_t frameCount, uint64 .addW2R(this->inImgs1.at((frameCount + 2) % 3)) .addW2R(this->inImgs1.at(frameCount % 3)) .addW2R(this->optImg) - .addR2W(this->tempImgs1.at(0)) - .addR2W(this->tempImgs1.at(1)) - .addR2W(this->tempImgs1.at(2)) + .addR2W(this->tempImgs1) .build(); this->pipelines.at(0).bind(buf); @@ -148,9 +144,7 @@ void Gamma::Dispatch(const Core::CommandBuffer& buf, uint64_t frameCount, uint64 // second shader Utils::BarrierBuilder(buf) - .addW2R(this->tempImgs1.at(0)) - .addW2R(this->tempImgs1.at(1)) - .addW2R(this->tempImgs1.at(2)) + .addW2R(this->tempImgs1) .addR2W(this->tempImgs2) .build(); @@ -161,7 +155,8 @@ void Gamma::Dispatch(const Core::CommandBuffer& buf, uint64_t frameCount, uint64 // third shader Utils::BarrierBuilder(buf) .addW2R(this->tempImgs2) - .addR2W(this->tempImgs1) + .addR2W(this->tempImgs1.at(0)) + .addR2W(this->tempImgs1.at(1)) .build(); this->pipelines.at(2).bind(buf); @@ -170,7 +165,8 @@ void Gamma::Dispatch(const Core::CommandBuffer& buf, uint64_t frameCount, uint64 // fourth shader Utils::BarrierBuilder(buf) - .addW2R(this->tempImgs1) + .addW2R(this->tempImgs1.at(0)) + .addW2R(this->tempImgs1.at(1)) .addR2W(this->tempImgs2) .build(); diff --git a/lsfg-vk-v3.1p/src/shaders/generate.cpp b/lsfg-vk-v3.1p/src/shaders/generate.cpp index 7772217..5d3fe78 100644 --- a/lsfg-vk-v3.1p/src/shaders/generate.cpp +++ b/lsfg-vk-v3.1p/src/shaders/generate.cpp @@ -20,12 +20,12 @@ Generate::Generate(Vulkan& vk, inImg3(std::move(inImg3)), inImg4(std::move(inImg4)), inImg5(std::move(inImg5)) { // create resources - this->shaderModule = vk.shaders.getShader(vk.device, "generate", + this->shaderModule = vk.shaders.getShader(vk.device, "p_generate", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 2, VK_DESCRIPTOR_TYPE_SAMPLER }, { 5, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 1, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }); - this->pipeline = vk.shaders.getPipeline(vk.device, "generate"); + this->pipeline = vk.shaders.getPipeline(vk.device, "p_generate"); this->samplers.at(0) = vk.resources.getSampler(vk.device); this->samplers.at(1) = vk.resources.getSampler(vk.device, VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, VK_COMPARE_OP_ALWAYS); diff --git a/lsfg-vk-v3.1p/src/shaders/mipmaps.cpp b/lsfg-vk-v3.1p/src/shaders/mipmaps.cpp index 971055f..e47af8a 100644 --- a/lsfg-vk-v3.1p/src/shaders/mipmaps.cpp +++ b/lsfg-vk-v3.1p/src/shaders/mipmaps.cpp @@ -15,12 +15,12 @@ Mipmaps::Mipmaps(Vulkan& vk, Core::Image inImg_0, Core::Image inImg_1) : inImg_0(std::move(inImg_0)), inImg_1(std::move(inImg_1)) { // create resources - this->shaderModule = vk.shaders.getShader(vk.device, "mipmaps", + this->shaderModule = vk.shaders.getShader(vk.device, "p_mipmaps", { { 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLER }, { 1, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE }, { 7, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE } }); - this->pipeline = vk.shaders.getPipeline(vk.device, "mipmaps"); + this->pipeline = vk.shaders.getPipeline(vk.device, "p_mipmaps"); this->buffer = vk.resources.getBuffer(vk.device); this->sampler = vk.resources.getSampler(vk.device); for (size_t i = 0; i < 2; i++) diff --git a/src/extract/extract.cpp b/src/extract/extract.cpp index 21fdb40..6652448 100644 --- a/src/extract/extract.cpp +++ b/src/extract/extract.cpp @@ -14,31 +14,57 @@ using namespace Extract; const std::unordered_map nameHashTable = {{ + { "p_mipmaps", 0xe365474d }, + { "p_alpha[0]", 0x0bf6c705 }, + { "p_alpha[1]", 0x4badbc24 }, + { "p_alpha[2]", 0x08a0f71c }, + { "p_alpha[3]", 0x5cc4d794 }, + { "p_beta[0]", 0x598efc9c }, + { "p_beta[1]", 0x17e25e8d }, + { "p_beta[2]", 0x6b8971f7 }, + { "p_beta[3]", 0x80a351c9 }, + { "p_beta[4]", 0xda0fcd5a }, + { "p_gamma[0]", 0x9dae0419 }, + { "p_gamma[1]", 0x96285646 }, + { "p_gamma[2]", 0xca44bb67 }, + { "p_gamma[3]", 0xa942fb59 }, + { "p_gamma[4]", 0x31996b8d }, + { "p_delta[0]", 0x9dae0419 }, + { "p_delta[1]", 0x67912aaa }, + { "p_delta[2]", 0xec138d48 }, + { "p_delta[3]", 0xdcb8247f }, + { "p_delta[4]", 0xd37c9bc8 }, + { "p_delta[5]", 0x62973dce }, + { "p_delta[6]", 0xe2ed5f66 }, + { "p_delta[7]", 0xc964a42a }, + { "p_delta[8]", 0x74536ad9 }, + { "p_delta[9]", 0xf472482a }, + { "p_generate", 0x5c040bd5 }, { "mipmaps", 0xe365474d }, - { "alpha[0]", 0x0bf6c705 }, - { "alpha[1]", 0x4badbc24 }, - { "alpha[2]", 0x08a0f71c }, - { "alpha[3]", 0x5cc4d794 }, - { "beta[0]", 0x598efc9c }, - { "beta[1]", 0x17e25e8d }, - { "beta[2]", 0x6b8971f7 }, - { "beta[3]", 0x80a351c9 }, - { "beta[4]", 0xda0fcd5a }, - { "gamma[0]", 0x9dae0419 }, - { "gamma[1]", 0x96285646 }, - { "gamma[2]", 0xca44bb67 }, - { "gamma[3]", 0xa942fb59 }, - { "gamma[4]", 0x31996b8d }, - { "delta[0]", 0x9dae0419 }, - { "delta[1]", 0x67912aaa }, - { "delta[2]", 0xec138d48 }, - { "delta[3]", 0xdcb8247f }, - { "delta[4]", 0xd37c9bc8 }, - { "delta[5]", 0x62973dce }, - { "delta[6]", 0xe2ed5f66 }, - { "delta[7]", 0xc964a42a }, - { "delta[8]", 0x74536ad9 }, - { "delta[9]", 0xf472482a }, + { "alpha[0]", 0xf37c8aa8 }, + { "alpha[1]", 0xeb7a52d4 }, + { "alpha[2]", 0x8901788e }, + { "alpha[3]", 0xa06a5e36 }, + { "beta[0]", 0x63c16b89 }, + { "beta[1]", 0xe3967ed5 }, + { "beta[2]", 0x570085ee }, + { "beta[3]", 0x4f4530db }, + { "beta[4]", 0x39727389 }, + { "gamma[0]", 0x94c4edf6 }, + { "gamma[1]", 0xf4e32702 }, + { "gamma[2]", 0xa3dc56fc }, + { "gamma[3]", 0x8b5ed8f6 }, + { "gamma[4]", 0x1cbf3c4d }, + { "delta[0]", 0x94c4edf6 }, + { "delta[1]", 0xacfd805b }, + { "delta[2]", 0x891dc48b }, + { "delta[3]", 0x98536d9d }, + { "delta[4]", 0x8e3f2155 }, + { "delta[5]", 0x8f0e70a1 }, + { "delta[6]", 0xd5eca8f1 }, + { "delta[7]", 0xa9e54e37 }, + { "delta[8]", 0x1dee8b84 }, + { "delta[9]", 0x1576c3f5 }, { "generate", 0x5c040bd5 } }};