From 9ffe7c14de774cbe7f75d0b1a63418a8b7534c28 Mon Sep 17 00:00:00 2001 From: connellpaxton Date: Thu, 25 Jan 2024 20:33:45 -0500 Subject: [PATCH] Fixed all validation errors on Windows machine. --- Renderer/Pipeline.cpp | 1 + Renderer/Renderer.cpp | 3 +++ Renderer/Shader.cpp | 5 +++-- Renderer/Shader.hpp | 3 ++- assets/shaders/basic.frag | 2 +- assets/shaders/basic.frag.spv | Bin 808 -> 808 bytes 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Renderer/Pipeline.cpp b/Renderer/Pipeline.cpp index 8d89ee6..3906cb6 100644 --- a/Renderer/Pipeline.cpp +++ b/Renderer/Pipeline.cpp @@ -173,6 +173,7 @@ GraphicsPipeline::GraphicsPipeline(vk::Device dev, const std::vector& sh } pipeline = res.value; + dev.destroyPipelineLayout(layout); } void GraphicsPipeline::update(uint32_t binding, const UniformBuffer& uni) { diff --git a/Renderer/Renderer.cpp b/Renderer/Renderer.cpp index a681bd1..33c03d4 100644 --- a/Renderer/Renderer.cpp +++ b/Renderer/Renderer.cpp @@ -188,6 +188,9 @@ Renderer::Renderer(Window& win) : win(win) { }; pipeline = std::make_unique(dev, shaders, swapchain->extent, *render_pass, bindings, *vertex_buffer); + + shaders[0].cleanup(); + shaders[1].cleanup(); } void Renderer::draw() { diff --git a/Renderer/Shader.cpp b/Renderer/Shader.cpp index 8520d2e..d9ca449 100644 --- a/Renderer/Shader.cpp +++ b/Renderer/Shader.cpp @@ -5,7 +5,7 @@ using namespace std::string_literals; -Shader::Shader(vk::Device dev, const std::string& fname, vk::ShaderStageFlagBits stage) : fname(fname), stage(stage) { +Shader::Shader(vk::Device dev, const std::string& fname, vk::ShaderStageFlagBits stage) : dev(dev), fname(fname), stage(stage) { std::vector src; try { src = file::slurpb(fname); @@ -25,6 +25,7 @@ Shader::Shader(vk::Device dev, const std::string& fname, vk::ShaderStageFlagBits Log::info("Successfully created shader "s + fname + "\n"); } -void Shader::cleanup(vk::Device dev) { +void Shader::cleanup() { dev.destroyShaderModule(module); } + diff --git a/Renderer/Shader.hpp b/Renderer/Shader.hpp index 6455bbc..02c83a3 100644 --- a/Renderer/Shader.hpp +++ b/Renderer/Shader.hpp @@ -4,11 +4,11 @@ #include struct Shader { + vk::Device dev; vk::ShaderModule module; vk::ShaderStageFlagBits stage; Shader(vk::Device dev, const std::string& fname, vk::ShaderStageFlagBits stage); - void cleanup(vk::Device dev); inline operator vk::ShaderModule() const { return module; @@ -28,4 +28,5 @@ struct Shader { std::string fname; + void cleanup(); }; diff --git a/assets/shaders/basic.frag b/assets/shaders/basic.frag index e0893a6..ed984e7 100644 --- a/assets/shaders/basic.frag +++ b/assets/shaders/basic.frag @@ -1,7 +1,7 @@ #version 460 core layout (location = 0) out vec4 FragColor; -layout (set = 1, binding = 0) uniform Matrices { +layout (set = 0, binding = 0) uniform Matrices { mat4 mpv; float time; }; diff --git a/assets/shaders/basic.frag.spv b/assets/shaders/basic.frag.spv index 4b705b4cb2cbae923987cf711592332176f312e5..973bbf0a23f6c50281821ac0e8ee014a1a40fea0 100644 GIT binary patch delta 14 WcmZ3%wt{WL6h=md%~KgCGXel4&IEt} delta 14 WcmZ3%wt{WL6h=nI%~KgCGXel4)C7S5