render3d: frame keeps 32 to 16 - tables and queues sized at start-up, the rest declared; birth leaks freed
The texture and framebuffer tables grow to 4096/1024 and gvk_prime's queue is made in gvk_startup_state; gpu_unit_2d's and the actor lists' lazy starts go. @alloc_ok on layer_room (a layer outgrowing its cap), overlay_init, gvk_read_screen, gvk_hdr_metadata (a settings change), DLSS's gsl_struct/gsl_fn, an actor's part tables (given back by actor_release) and the pool's fallback. Birth leaks freed: gpu_caps_probe's create structs, gpu_caps_fake's text, gvk_note's line, gvk_layout_key's table and each key it grew from, ov_text_wrap's slices, the default sky path. (ludic deps --births still lists freed sites: its walk does not see free().) Compiled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
6fb5118afd
commit
46000362ba
9 changed files with 60 additions and 20 deletions
|
|
@ -42,6 +42,7 @@ function gsl_header(p: pointer, a: int, b: int, c: int, d: int, e: int, f: int,
|
|||
let v: long = version
|
||||
Vk.put_i64(p, 24, v)
|
||||
}
|
||||
@alloc_ok("DLSS set-up: its structs and entry points, made once")
|
||||
function gsl_struct(size: int) -> bytes {
|
||||
let p = bytes(size)
|
||||
Vk.zero(p, size)
|
||||
|
|
@ -49,6 +50,7 @@ function gsl_struct(size: int) -> bytes {
|
|||
}
|
||||
|
||||
# a feature's own function (slDLSSSetOptions, slReflexSleep, ...), or null
|
||||
@alloc_ok("DLSS set-up: its structs and entry points, made once")
|
||||
function gsl_fn(feature: int, name: string) -> pointer {
|
||||
let out = bytes(8)
|
||||
let zero: long = 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue