#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; }