diff options
| author | Vasco <[email protected]> | 2026-08-24 03:53:16 +0100 |
|---|---|---|
| committer | Vasco <[email protected]> | 2026-08-24 03:53:16 +0100 |
| commit | ad5248a3e1bafc1b7dec4c8af82d56ed324ef314 (patch) | |
| tree | b575c3b85d6ad314fa9768855bed9aed8642917e /Rend/rend.c | |
| parent | 5dc2716abd43166cd65133625f408ad36a6623b3 (diff) | |
Slimed out podium. Updated math. Rend kinda works but still bugged.
Diffstat (limited to 'Rend/rend.c')
| -rw-r--r-- | Rend/rend.c | 11 |
1 files changed, 7 insertions, 4 deletions
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 |
