From 4d9e175172fe5c65cf2ba76582798c3c2765204e Mon Sep 17 00:00:00 2001 From: Katajisto Date: Wed, 25 Mar 2026 21:10:39 +0200 Subject: [PATCH] fix annoying bug with pool allocator getting assigned to logger arrays --- log_nvprosample.txt | 2 +- settings.cfg | 2 +- src/assets/asset_manager.jai | 2 +- src/editor/console.jai | 2 +- src/editor/tacoma.jai | 4 +++- src/logging.jai | 4 +++- src/platform_specific/common.jai | 2 ++ 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/log_nvprosample.txt b/log_nvprosample.txt index f6d1153..60f3c26 100644 --- a/log_nvprosample.txt +++ b/log_nvprosample.txt @@ -24,4 +24,4 @@ VK_KHR_deferred_host_operations VK_KHR_acceleration_structure VK_KHR_ray_query -BLAS Compaction: 1.9MB -> 0.6MB (1.2MB saved, 66.1% smaller) +BLAS Compaction: 2.1MB -> 0.7MB (1.4MB saved, 66.1% smaller) diff --git a/settings.cfg b/settings.cfg index b46a5cf..379ead1 100644 --- a/settings.cfg +++ b/settings.cfg @@ -1,4 +1,4 @@ master_volume 1 -music_volume 1 +music_volume 0.5 sfx_volume 1 fullscreen 0 diff --git a/src/assets/asset_manager.jai b/src/assets/asset_manager.jai index 157022d..6f4287b 100644 --- a/src/assets/asset_manager.jai +++ b/src/assets/asset_manager.jai @@ -49,7 +49,7 @@ g_asset_manager : Asset_Manager; #load "rdm_loader.jai"; -MAX_FILE_SIZE :: 200_000_000; +MAX_FILE_SIZE :: 600_000_000; RDM_ATLAS_MAX_BYTES :: 4096 * 4096 * 4 * 4 + size_of(RDM_File_Header); RDM_LOOKUP_MAX_BYTES :: 512 * 512 * 4 * 4 + size_of(RDM_File_Header); diff --git a/src/editor/console.jai b/src/editor/console.jai index aa1e4a2..56e5b55 100644 --- a/src/editor/console.jai +++ b/src/editor/console.jai @@ -135,7 +135,7 @@ tick_console :: () { } } -console_add_output_line :: (s: string) { +console_add_output_line :: (s: string) { array_add(*console_report, s); while console_report.count > MAX_REPORT_ROWS { array_ordered_remove_by_index(*console_report, 0); diff --git a/src/editor/tacoma.jai b/src/editor/tacoma.jai index d0d621c..78edda8 100644 --- a/src/editor/tacoma.jai +++ b/src/editor/tacoma.jai @@ -32,7 +32,7 @@ RDM_Chunk_Bake :: struct { entries: [..]RDM_Atlas_Entry; } -RDM_ATLAS_SIZE :: 4096; +RDM_ATLAS_SIZE :: 4096 * 2; RDM_LOOKUP_SIZE :: 512; // 512x512 = 32*32*32*8 = 262144 texels rdm_chunk_bakes : Table(Chunk_Key, RDM_Chunk_Bake, chunk_key_hash, chunk_key_compare); @@ -377,6 +377,7 @@ rdm_bake_finish :: () { lookup_bytes :: lookup_texels * 4 * size_of(float); for chunk_key: bake_chunk_keys { + print("Handling chunk key: %\n", chunk_key); bake := table_find_pointer(*rdm_chunk_bakes, chunk_key); if bake == null || bake.entries.count == 0 then continue; @@ -620,6 +621,7 @@ rdm_save_all_chunks_to_disk :: () { world_name := curworld.world.name; for *bake, chunk_key: rdm_chunk_bakes { + print("Processing chunk....\n"); if bake.entries.count == 0 then continue; // Save atlas. diff --git a/src/logging.jai b/src/logging.jai index e743fa8..f5178c8 100644 --- a/src/logging.jai +++ b/src/logging.jai @@ -17,7 +17,9 @@ _emit :: (level: Log_Level, message: string) { else ifx level == .ERROR then "[ERROR] " else "[INFO] "; - push_allocator(default_context.allocator); + // We need to protect the logger from custom allocators since we don't + // want those meddling with our log row allocation! + push_allocator(default_allocator); line := copy_string(tprint("%1%2", prefix, message)); print("%\n", line); console_add_output_line(line); diff --git a/src/platform_specific/common.jai b/src/platform_specific/common.jai index 16e131d..5760c86 100644 --- a/src/platform_specific/common.jai +++ b/src/platform_specific/common.jai @@ -12,6 +12,7 @@ #load "../main.jai"; default_context: #Context; +default_allocator: Allocator; temporary_storage: Temporary_Storage; temporary_storage_data: [TEMPORARY_STORAGE_SIZE] u8 #align 64; @@ -23,6 +24,7 @@ sapp_init :: () { temporary_storage.size = temporary_storage_data.count; temporary_storage.original_data = temporary_storage_data.data; temporary_storage.original_size = temporary_storage_data.count; + default_allocator = default_context.allocator; push_context default_context { context.logger = logger;