From 90074bfe60b6dee87b30d329cc178e44678d02d1 Mon Sep 17 00:00:00 2001 From: Orkuncakilkaya Date: Mon, 28 Sep 2026 16:59:45 +0300 Subject: [PATCH] render3d: @creates(Pipeline) on gvk_pipeline A pipeline has no release: it is kept in the cache for the program's life (gvk_pipe_build stores it). With every render3d handle annotated, ludic deps --resources over main e447acdd reads 0 drops; a GpuBuffer made and bound to a local in a game function was reported (1), so the 0 is a real one. Co-Authored-By: Claude Opus 5.5 --- packages/ludic.render3d/gpu_vk_draw.ludic | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ludic.render3d/gpu_vk_draw.ludic b/packages/ludic.render3d/gpu_vk_draw.ludic index 93d4b7a1..6737f4a1 100644 --- a/packages/ludic.render3d/gpu_vk_draw.ludic +++ b/packages/ludic.render3d/gpu_vk_draw.ludic @@ -400,6 +400,7 @@ function gvk_layout_key(m: Mesh) -> string { # The pipeline for program p drawing mesh m (null for a draw without vertex input, like the # full-screen triangle) with state st into a pass of n_color colour attachments of format # color_fmt, a depth attachment of depth_fmt (VK_FORMAT_UNDEFINED for none) at `samples`. +@creates(Pipeline) function gvk_pipeline(render3d_st: mut Render3dState, p: int, m: Mesh, st: GvkState, n_color: int, color_fmt: int, depth_fmt: int, samples: int) -> long { let zero: long = 0 let v = render3d_st.gvk_prog_var[p]