oa::Presenter::PresentArgs

Body of the graphics CB that presentSwapchainImage builds. All members are optional; precedence (step 3b.5): drawImGui = true → render pass with loadOp=CLEAR + ImGui draw → finalLayout PRESENT_SRC. ImGui-only renders today; blit+ImGui composite needs a render-pass with loadOp=LOAD (step 3c). blitSrcBuffer != nullptr → UNDEFINED → TRANSFER_DST → vkCmdCopyBufferToImage → PRESENT_SRC clearRgba != nullptr → UNDEFINED → TRANSFER_DST → vkCmdClearColorImage → PRESENT_SRC none → UNDEFINED → PRESENT_SRC (no content; chain smoke-test only) Buffer source is assumed to be packed 4-bytes-per-pixel and the same extent as the swapchain image. format swizzle: today's swapchain is VK_FORMAT_B8G8R8A8_SRGB but oa::Texture is RGBA8; channel-swap + linear→sRGB conversion are tracked as known limitations until the staging-image vkCmdBlitImage path lands.

Public Data Members

blitSrcBuffervoid *field
blitSrcHeightoa::U32field
blitSrcImagevoid *field
blitSrcLayoutoa::I32field
blitSrcWidthoa::U32field
clearRgbaconst oa::F32 *field
drawImGuiboolfield
filterFilterfield
waitTimelineSemaphorevoid *field
waitTimelineValueoa::U64field