diff --git a/src/proto/pp_vis/pp_vis_core.c b/src/proto/pp_vis/pp_vis_core.c index 37e158af..82c03bfe 100644 --- a/src/proto/pp_vis/pp_vis_core.c +++ b/src/proto/pp_vis/pp_vis_core.c @@ -326,6 +326,13 @@ JobDef(V_VisWorker, sig, job_id) } UnlockTicketMutex(&sim_shared->input_back_tm); + ////////////////////////////// + //- Render + + { + + } + ////////////////////////////// //- End vis frame diff --git a/src/ui/ui.lay b/src/ui/ui.lay index 8e38790d..6de4f34d 100644 --- a/src/ui/ui.lay +++ b/src/ui/ui.lay @@ -17,8 +17,8 @@ @IncludeGpu ui_draw.gpu //- Shaders -@VertexShader UI_RectVS -@PixelShader UI_RectPS +@VertexShader UI_DRectVS +@PixelShader UI_DRectPS //- Embeds @EmbedDir UI_Resources ui_res diff --git a/src/ui/ui_core.c b/src/ui/ui_core.c index 6d3fbfea..6a84c4eb 100644 --- a/src/ui/ui_core.c +++ b/src/ui/ui_core.c @@ -672,7 +672,7 @@ i64 UI_EndFrame(UI_Frame frame) { g->eframe.layout_arena = AcquireArena(Gibi(64)); g->eframe.rects_arena = AcquireArena(Gibi(64)); - g->eframe.draw_rects_tbuff = GPU_AcquireTransientBuffer(GPU_QueueKind_Direct, sizeof(UI_RectInstance)); + g->eframe.draw_rects_tbuff = GPU_AcquireTransientBuffer(GPU_QueueKind_Direct, sizeof(UI_DRect)); } ResetArena(g->eframe.layout_arena); ResetArena(g->eframe.rects_arena); @@ -1232,8 +1232,8 @@ i64 UI_EndFrame(UI_Frame frame) { /* Box rect */ { - UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance); - rect->flags |= UI_RectFlag_DrawTexture * !!(box->cmd.background_texture != 0); + UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect); + rect->flags |= UI_DRectFlag_DrawTexture * !!(box->cmd.background_texture != 0); rect->p0 = box->p0; rect->p1 = box->p1; rect->tex_uv0 = VEC2(0, 0); @@ -1368,8 +1368,8 @@ i64 UI_EndFrame(UI_Frame frame) Vec2 glyph_size = SubVec2(atlas_p1, atlas_p0); if (glyph_size.x != 0 || glyph_size.y != 0) { - UI_RectInstance *rect = PushStruct(g->eframe.rects_arena, UI_RectInstance); - rect->flags |= UI_RectFlag_DrawTexture; + UI_DRect *rect = PushStruct(g->eframe.rects_arena, UI_DRect); + rect->flags |= UI_DRectFlag_DrawTexture; rect->p0 = AddVec2(baseline, VEC2(rr.pos, 0)); rect->p0 = AddVec2(rect->p0, rr.offset); rect->p1 = AddVec2(rect->p0, glyph_size); @@ -1413,13 +1413,13 @@ i64 UI_EndFrame(UI_Frame frame) /* Render rects */ { - UI_RectSig sig = ZI; + UI_DRectSig sig = ZI; sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size); sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler()); sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer); GPU_Rasterize(cl, &sig, - UI_RectVS, UI_RectPS, + UI_DRectVS, UI_DRectPS, 1, viewport, scissor, @@ -1431,14 +1431,14 @@ i64 UI_EndFrame(UI_Frame frame) /* Render rect wireframes */ if (AnyBit(g->bframe.frame_flags, UI_FrameFlag_Debug)) { - UI_RectSig sig = ZI; + UI_DRectSig sig = ZI; sig.viewport_size = RoundVec2ToVec2I32(render_viewport.size); sig.sampler = GPU_SamplerStateRidFromResource(GPU_GetCommonPointSampler()); sig.rects = GPU_StructuredBufferRidFromResource(draw_rects_buffer); sig.debug_enabled = 1; GPU_Rasterize(cl, &sig, - UI_RectVS, UI_RectPS, + UI_DRectVS, UI_DRectPS, 1, viewport, scissor, diff --git a/src/ui/ui_draw.gpu b/src/ui/ui_draw.gpu index dc37f776..06ac0fec 100644 --- a/src/ui/ui_draw.gpu +++ b/src/ui/ui_draw.gpu @@ -1,9 +1,9 @@ -ConstantBuffer UI_rect_sig : register (b0); +ConstantBuffer UI_drect_sig : register (b0); //////////////////////////////////////////////////////////// //~ Rect -Struct(UI_RectPS_Input) +Struct(UI_DRectPS_Input) { Semantic(Vec4, sv_position); @@ -15,24 +15,24 @@ Struct(UI_RectPS_Input) Semantic(Vec2, tex_uv); }; -Struct(UI_RectPS_Output) +Struct(UI_DRectPS_Output) { Semantic(Vec4, sv_target0); }; //- Vertex shader -UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_vertexid)) +UI_DRectPS_Input VSDef(UI_DRectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_vertexid)) { - ConstantBuffer sig = UI_rect_sig; - StructuredBuffer rects = UniformResourceFromRid(sig.rects); - UI_RectInstance rect = rects[sv_instanceid]; + ConstantBuffer sig = UI_drect_sig; + StructuredBuffer rects = UniformResourceFromRid(sig.rects); + UI_DRect rect = rects[sv_instanceid]; Vec2 rect_uv = RectUvFromVertexId(sv_vertexid); Vec2 tex_uv = lerp(rect.tex_uv0, rect.tex_uv1, rect_uv); Vec2 screen_vert = lerp(rect.p0, rect.p1, rect_uv); - UI_RectPS_Input result; + UI_DRectPS_Input result; result.sv_position = Vec4(NdcFromViewport(sig.viewport_size, screen_vert).xy, 0, 1); result.background_lin = rect.background_lin; result.border_lin = rect.border_lin; @@ -45,11 +45,11 @@ UI_RectPS_Input VSDef(UI_RectVS, Semantic(u32, sv_instanceid), Semantic(u32, sv_ } //- Pixel shader -UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input) +UI_DRectPS_Output PSDef(UI_DRectPS, UI_DRectPS_Input input) { - ConstantBuffer sig = UI_rect_sig; - StructuredBuffer rects = UniformResourceFromRid(sig.rects); - UI_RectInstance rect = rects[input.rect_idx]; + ConstantBuffer sig = UI_drect_sig; + StructuredBuffer rects = UniformResourceFromRid(sig.rects); + UI_DRect rect = rects[input.rect_idx]; Vec2 p = input.sv_position.xy; Vec2 rect_uv = input.rect_uv; @@ -105,7 +105,7 @@ UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input) { background_color = border_color; } - else if (rect.flags & UI_RectFlag_DrawTexture) + else if (rect.flags & UI_DRectFlag_DrawTexture) { SamplerState sampler = UniformSamplerFromRid(sig.sampler); Texture2D tex = NonUniformResourceFromRid(rect.tex); @@ -128,7 +128,7 @@ UI_RectPS_Output PSDef(UI_RectPS, UI_RectPS_Input input) final_color = rect.debug_lin; } - UI_RectPS_Output output; + UI_DRectPS_Output output; output.sv_target0 = final_color; return output; } diff --git a/src/ui/ui_draw.h b/src/ui/ui_draw.h index 7076b874..51e285a2 100644 --- a/src/ui/ui_draw.h +++ b/src/ui/ui_draw.h @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// //~ Rect types -Struct(UI_RectSig) +Struct(UI_DRectSig) { /* ----------------------------------------------------- */ Vec2I32 viewport_size; /* 02 consts */ @@ -14,17 +14,17 @@ Struct(UI_RectSig) u32 _pad2; /* 01 consts (padding) */ /* ----------------------------------------------------- */ }; -AssertRootConst(UI_RectSig, 8); +AssertRootConst(UI_DRectSig, 8); -Enum(UI_RectFlag) +Enum(UI_DRectFlag) { - UI_RectFlag_None = 0, - UI_RectFlag_DrawTexture = (1 << 0), + UI_DRectFlag_None = 0, + UI_DRectFlag_DrawTexture = (1 << 0), }; -Struct(UI_RectInstance) +Struct(UI_DRect) { - UI_RectFlag flags; + UI_DRectFlag flags; Vec2 p0; Vec2 p1; Vec4 tint_lin;