create ui render target at monitor size
This commit is contained in:
parent
add9650337
commit
7fc083785e
@ -112,7 +112,7 @@ UI_Box *PP_BuildDebugConsole(b32 minimized)
|
|||||||
u32 color = colors[log.level][log.level_id % 2];
|
u32 color = colors[log.level][log.level_id % 2];
|
||||||
UI_Push(BackgroundColor, color);
|
UI_Push(BackgroundColor, color);
|
||||||
UI_Push(Width, UI_FILL(1, 0));
|
UI_Push(Width, UI_FILL(1, 0));
|
||||||
UI_Push(Height, UI_FNT(2, 1));
|
UI_Push(Height, UI_FNT(1.5, 1));
|
||||||
UI_Push(BorderColor, Rgba32F(0.25, 0.25, 0.25, 1));
|
UI_Push(BorderColor, Rgba32F(0.25, 0.25, 0.25, 1));
|
||||||
UI_Push(Rounding, UI_RPIX(0));
|
UI_Push(Rounding, UI_RPIX(0));
|
||||||
UI_Push(Border, 1);
|
UI_Push(Border, 1);
|
||||||
@ -124,7 +124,6 @@ UI_Box *PP_BuildDebugConsole(b32 minimized)
|
|||||||
UI_Push(BackgroundColor, 0);
|
UI_Push(BackgroundColor, 0);
|
||||||
UI_Push(Border, 0);
|
UI_Push(Border, 0);
|
||||||
UI_Push(Text, text);
|
UI_Push(Text, text);
|
||||||
// UI_Push(ChildAlignment, UI_Alignment_Left);
|
|
||||||
UI_Push(Width, UI_FILL(1, 0));
|
UI_Push(Width, UI_FILL(1, 0));
|
||||||
UI_Push(Height, UI_FIT(1));
|
UI_Push(Height, UI_FIT(1));
|
||||||
UI_Push(Flags, UI_BoxFlag_DrawText);
|
UI_Push(Flags, UI_BoxFlag_DrawText);
|
||||||
|
|||||||
@ -680,12 +680,13 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
TempArena scratch = BeginScratchNoConflict();
|
TempArena scratch = BeginScratchNoConflict();
|
||||||
UI_SharedState *g = &UI_shared_state;
|
UI_SharedState *g = &UI_shared_state;
|
||||||
Vec2I32 draw_size = frame.window_frame.draw_size;
|
Vec2I32 draw_size = frame.window_frame.draw_size;
|
||||||
|
Vec2I32 monitor_size = frame.window_frame.monitor_size;
|
||||||
|
|
||||||
GPU_QueueKind gpu_render_queue = GPU_QueueKind_Direct;
|
GPU_QueueKind gpu_render_queue = GPU_QueueKind_Direct;
|
||||||
Fence *submit_fence = GPU_FenceFromQueue(gpu_render_queue);
|
Fence *submit_fence = GPU_FenceFromQueue(gpu_render_queue);
|
||||||
|
|
||||||
/* Acquire render target */
|
/* Acquire render target */
|
||||||
if (g->render_target && !EqVec2I32(draw_size, GPU_GetTextureSize2D(g->render_target)))
|
if (g->render_target && !EqVec2I32(monitor_size, GPU_GetTextureSize2D(g->render_target)))
|
||||||
{
|
{
|
||||||
__profn("Release ui render target");
|
__profn("Release ui render target");
|
||||||
YieldOnFence(submit_fence, g->gpu_submit_fence_target);
|
YieldOnFence(submit_fence, g->gpu_submit_fence_target);
|
||||||
@ -699,14 +700,13 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
desc.kind = GPU_ResourceKind_Texture2D;
|
desc.kind = GPU_ResourceKind_Texture2D;
|
||||||
desc.flags = GPU_ResourceFlag_Renderable | GPU_ResourceFlag_Writable;
|
desc.flags = GPU_ResourceFlag_Renderable | GPU_ResourceFlag_Writable;
|
||||||
desc.texture.format = GPU_Format_R8G8B8A8_Unorm;
|
desc.texture.format = GPU_Format_R8G8B8A8_Unorm;
|
||||||
desc.texture.size = VEC3I32(draw_size.x, draw_size.y, 1);
|
desc.texture.size = VEC3I32(monitor_size.x, monitor_size.y, 1);
|
||||||
g->render_target = GPU_AcquireResource(desc);
|
g->render_target = GPU_AcquireResource(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vec2I32 render_target_size = GPU_GetTextureSize2D(g->render_target);
|
|
||||||
Rect render_viewport = ZI;
|
Rect render_viewport = ZI;
|
||||||
render_viewport.pos = VEC2(0, 0);
|
render_viewport.pos = VEC2(0, 0);
|
||||||
render_viewport.size = VEC2(render_target_size.x, render_target_size.y);
|
render_viewport.size = VEC2(draw_size.x, draw_size.y);
|
||||||
|
|
||||||
/* TODO: Ensure root is parent */
|
/* TODO: Ensure root is parent */
|
||||||
|
|
||||||
@ -1354,16 +1354,13 @@ i64 UI_EndFrame(UI_Frame frame)
|
|||||||
|
|
||||||
{
|
{
|
||||||
/* FIXME: Real xform */
|
/* FIXME: Real xform */
|
||||||
Xform ui_to_screen_xf = XformIdentity;
|
|
||||||
|
|
||||||
Vec2I32 backbuffer_size = frame.window_frame.monitor_size;
|
Vec2I32 backbuffer_size = monitor_size;
|
||||||
if (!g->swapchain)
|
if (!g->swapchain)
|
||||||
{
|
{
|
||||||
g->swapchain = GPU_AcquireSwapchain(frame.window_frame.window_handle, GPU_Format_R8G8B8A8_Unorm, backbuffer_size);
|
g->swapchain = GPU_AcquireSwapchain(frame.window_frame.window_handle, GPU_Format_R8G8B8A8_Unorm, backbuffer_size);
|
||||||
}
|
}
|
||||||
Vec2 backbuffer_dst_f = MulXformV2(ui_to_screen_xf, VEC2(0, 0));
|
g->gpu_submit_fence_target = GPU_PresentSwapchain(g->swapchain, g->render_target, backbuffer_size, VEC2I32(0, 0), VSYNC);
|
||||||
Vec2I32 backbuffer_dst = VEC2I32(RoundF32ToI32(backbuffer_dst_f.x), RoundF32ToI32(backbuffer_dst_f.y));
|
|
||||||
g->gpu_submit_fence_target = GPU_PresentSwapchain(g->swapchain, g->render_target, backbuffer_size, backbuffer_dst, VSYNC);
|
|
||||||
}
|
}
|
||||||
WND_EndFrame(frame.window_frame);
|
WND_EndFrame(frame.window_frame);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user