render3d: start-up declared, ov_nine and the caster test on buffers made once - 362 frame sites to 122
The renderer starts itself from the first frame (gpu_select), so the device, its tables, the manifest and programs, grass, shadows, sky, terrain textures and the actor pool read as frame allocations: each is @alloc_ok as start-up, with gvk_fail (a failure) and the actor census and texture dump (debug switches). ov_nine's four corner/uv arrays are one floats(16) made in gvk_startup_state; ac_in_light's four points are made there too. Compiled (steady, and ludic deps over main 4316ff97). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
8dfcccad41
commit
9f233104a3
17 changed files with 37 additions and 8 deletions
|
|
@ -33,6 +33,7 @@ function gpu_name(kind: int) -> string { return "vulkan" }
|
|||
|
||||
# Start Vulkan. There is nothing to fall back to: a machine whose Vulkan cannot start is told why
|
||||
# (gpu_fallback_reason, printed) and r3d_init fails, so the program can say so and stop.
|
||||
@alloc_ok("start-up: the device, its tables, the programs, the passes and the world's first textures are made once, before play")
|
||||
function gpu_select(render3d_st: mut Render3dState) -> int {
|
||||
if render3d_st.gpu_kind != 0 { return render3d_st.gpu_kind }
|
||||
# a window needs a surface: Win32 on Windows, a CAMetalLayer through MoltenVK on macOS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue