From bec7a1c90f7cda0a9e7d2e2628ac69b645108dc4 Mon Sep 17 00:00:00 2001 From: quou Date: Thu, 19 Dec 2024 19:20:50 +1100 Subject: basic vulkan setup --- pipeline.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pipeline.cpp (limited to 'pipeline.cpp') diff --git a/pipeline.cpp b/pipeline.cpp new file mode 100644 index 0000000..30bf442 --- /dev/null +++ b/pipeline.cpp @@ -0,0 +1,29 @@ +#include "video.hpp" + +extern "C" { +#include "qstd/memory.h" +#include "qstd/plat.h" +} + +Pipeline_Builder::Pipeline_Builder(Arena* arena): + arena(arena) {} + +void Pipeline_Builder::begin_rp() { + pass = (Render_Pass*)arena_alloc(arena, sizeof *pass); + pass->target = 0; + pass->clear = { 0, 0, 0, 0 }; +} + +void Pipeline_Builder::rp_target(Texture_Id id, Colour clear) { + pass->target = id; + pass->clear = clear; +} + +void Pipeline_Builder::validate_rp() { + assert(pass->target); +} + +Render_Pass& Pipeline_Builder::build_rp() { + validate_rp(); + return *pass; +} -- cgit v1.2.3-54-g00ecf