From a6755d6191963bdc263be7c3e8a7d3073f74fe86 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 4 Aug 2026 15:38:28 -0700 Subject: [PATCH] fix linux build, fix small gl rendering issues --- project.4coder | 2 +- src/raddbg/raddbg_core.c | 12 ++++++------ src/render/opengl/generated/render_opengl.meta.h | 2 +- src/render/opengl/render_opengl.c | 2 +- src/render/opengl/render_opengl.h | 1 + src/render/opengl/render_opengl.mdesk | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/project.4coder b/project.4coder index 0b10da9c..8c4d76eb 100644 --- a/project.4coder +++ b/project.4coder @@ -49,7 +49,7 @@ commands = // .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg debug telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "raddbg_stable --ipc kill_all && build radbin", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, - .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, + .f1 = { .win = "raddbg_stable --ipc kill_all && wsl ./build.sh raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, //- rjf: [raddbg wsl] // .f1 = { .win = "wsl ./build.sh raddbg", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index 16147d7d..d7c4e9f9 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -2756,9 +2756,9 @@ rd_view_ui(Rng2F32 rect) D_Entity *entity = rd_ctrl_entity_from_eval_space(space); B32 is_memory_eval = (space.kind == D_EvalSpaceKind_Entity && entity->kind == D_EntityKind_Process); row_can_be_locked = (is_memory_eval && - (row->eval.irtree.mode == E_Mode_Offset) || - (row->eval.irtree.mode == E_Mode_Value && - e_type_kind_is_pointer_or_ref(e_type_kind_from_key(e_type_key_unwrap(row->eval.irtree.type_key, E_TypeUnwrapFlag_AllDecorative))))); + (row->eval.irtree.mode == E_Mode_Offset || + (row->eval.irtree.mode == E_Mode_Value && + e_type_kind_is_pointer_or_ref(e_type_kind_from_key(e_type_key_unwrap(row->eval.irtree.type_key, E_TypeUnwrapFlag_AllDecorative)))))); } // rjf: determine if row is locked @@ -4136,9 +4136,9 @@ rd_view_ui(Rng2F32 rect) D_Entity *entity = rd_ctrl_entity_from_eval_space(space); B32 is_memory_eval = (space.kind == D_EvalSpaceKind_Entity && entity->kind == D_EntityKind_Process); cell_can_be_locked = (is_memory_eval && - (cell->eval.irtree.mode == E_Mode_Offset) || - (cell->eval.irtree.mode == E_Mode_Value && - e_type_kind_is_pointer_or_ref(e_type_kind_from_key(e_type_key_unwrap(cell->eval.irtree.type_key, E_TypeUnwrapFlag_AllDecorative))))); + ((cell->eval.irtree.mode == E_Mode_Offset) || + (cell->eval.irtree.mode == E_Mode_Value && + e_type_kind_is_pointer_or_ref(e_type_kind_from_key(e_type_key_unwrap(cell->eval.irtree.type_key, E_TypeUnwrapFlag_AllDecorative)))))); } // rjf: determine if this cell is locked diff --git a/src/render/opengl/generated/render_opengl.meta.h b/src/render/opengl/generated/render_opengl.meta.h index f4851da7..9edd4b86 100644 --- a/src/render/opengl/generated/render_opengl.meta.h +++ b/src/render/opengl/generated/render_opengl.meta.h @@ -260,7 +260,7 @@ str8_lit_comp( " \n" " // rjf: sample for corners\n" " float corner_sdf_s = rect_sdf(sdf_sample_pos, rect_half_size, corner_radius);\n" -" float corner_sdf_t = smoothstep(0, 2, corner_sdf_s);\n" +" float corner_sdf_t = 1-smoothstep(0, 2, corner_sdf_s);\n" " \n" " // rjf: weight output color by sdf\n" " // this is doing alpha testing, leave blurring only where mostly opaque pixels are\n" diff --git a/src/render/opengl/render_opengl.c b/src/render/opengl/render_opengl.c index d9814293..4d06297e 100644 --- a/src/render/opengl/render_opengl.c +++ b/src/render/opengl/render_opengl.c @@ -418,7 +418,7 @@ r_window_begin_frame(WM_Window os, R_Handle r) glBindFramebufferScope(GL_FRAMEBUFFER, targets[idx]->fbo) glBindTextureScope(GL_TEXTURE_2D, targets[idx]->color_texture) { - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (S32)client_rect_dim.x, (S32)client_rect_dim.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, (S32)client_rect_dim.x, (S32)client_rect_dim.y, 0, GL_RGBA, GL_FLOAT, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, targets[idx]->color_texture, 0); } } diff --git a/src/render/opengl/render_opengl.h b/src/render/opengl/render_opengl.h index e64ec04c..f499cd1e 100644 --- a/src/render/opengl/render_opengl.h +++ b/src/render/opengl/render_opengl.h @@ -52,6 +52,7 @@ typedef ptrdiff_t GLintptr; #define GL_COLOR_ATTACHMENT31 0x8CFF #define GL_R8 0x8229 +#define GL_RGBA32F 0x8814 #define GL_ARRAY_BUFFER 0x8892 #define GL_STREAM_DRAW 0x88E0 diff --git a/src/render/opengl/render_opengl.mdesk b/src/render/opengl/render_opengl.mdesk index c2665929..4c9d8eff 100644 --- a/src/render/opengl/render_opengl.mdesk +++ b/src/render/opengl/render_opengl.mdesk @@ -282,7 +282,7 @@ void main(void) // rjf: sample for corners float corner_sdf_s = rect_sdf(sdf_sample_pos, rect_half_size, corner_radius); - float corner_sdf_t = smoothstep(0, 2, corner_sdf_s); + float corner_sdf_t = 1-smoothstep(0, 2, corner_sdf_s); // rjf: weight output color by sdf // this is doing alpha testing, leave blurring only where mostly opaque pixels are