From ad5248a3e1bafc1b7dec4c8af82d56ed324ef314 Mon Sep 17 00:00:00 2001 From: Vasco Date: Mon, 24 Aug 2026 03:53:16 +0100 Subject: Slimed out podium. Updated math. Rend kinda works but still bugged. --- Rend/rend.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Rend/rend.c') diff --git a/Rend/rend.c b/Rend/rend.c index 9d31949..4d85745 100644 --- a/Rend/rend.c +++ b/Rend/rend.c @@ -75,7 +75,7 @@ rend_quit() } extern RendRenderer -rend_renderer_create(P_Window *target, RendBackendType backend, void* device, bool vsync, RendBindingInfo *bind_info) +rend_renderer_create(PeakWindow *target, RendBackendType backend, void* device, bool vsync, RendBindingInfo *bind_info) { RendRenderer rend = rmalloc(sizeof *rend); @@ -93,7 +93,7 @@ rend_renderer_create(P_Window *target, RendBackendType backend, void* device, bo rend->window = target; rend->pipeline_head = 0; - rend->context = rend_vtables[rend->backend].renderer_create(); + rend->context = rend_vtables[rend->backend].renderer_create(target, bind_info); if (rend->context) { return rend; } @@ -124,13 +124,16 @@ rend_renderer_destroy(RendRenderer renderer) extern bool rend_renderer_frame_begin(RendRenderer renderer) { + bool ok; + RASSERT(renderer && (uintptr_t)renderer != 0xffffffff00000000 && "Invalid renderer. (Possible stack corruption.)"); RASSERT(renderer->context, "Uninitialized renderer."); RASSERT(!renderer->in_frame, "Must not be called inside a frame."); RASSERT(!renderer->in_pass, "Must not be called inside a render pass."); - renderer->in_frame = 1; - return rend_vtables[renderer->backend].renderer_frame_begin(renderer->context); + ok = rend_vtables[renderer->backend].renderer_frame_begin(renderer->context); + renderer->in_frame = ok ? 1 : 0; + return ok; } extern void -- cgit v1.3.1