Mobile scene pipeline

RenderForwardMobile shares RD infrastructure with Forward+ but uses different scene shaders, geometry data, buffer formats, and pass decisions. Its main optimization is preserving attachment work within compatible render-pass and subpass arrangements.

Buffer and lighting choices

The method's internal scene color format is DATA_FORMAT_A2B10G10R10_UNORM_PACK32. Its luminance multiplier accounts for the color scaling used with that format. _render_buffers_can_be_storage() returns false for these scene buffers, selecting raster alternatives in shared effects code where available.

This does not mean the engine disables every compute operation when Mobile is selected. Particle simulation and other RD workloads have their own paths. The restriction belongs to this scene-buffer/effect contract.

Mobile updates light, reflection-probe, and decal buffers and pairs relevant data with geometry. It does not use Forward+'s ClusterBuilderRD path. SceneShaderForwardMobile owns method-specific shader and material data.

Subpass decisions

_render_scene() starts with the possibility of merging transparency and performing output processing within subpasses. It then narrows that choice according to the active features.

Condition Consequence in this path
Screen/depth texture reads Can prevent keeping later drawing in the same subpass arrangement
Scaling or required post effects Can move output processing to a separate pass
Screen-space antialiasing Can prevent the final subpass output route
Pre-transparent compositor effect Separates transparent work and disables subpass post-processing
Post-transparent compositor effect Disables subpass post-processing
Reflection probe Uses a different output path and does not use the normal final blit subpass

The resulting execution can draw opaque, sky, transparency, and output work in one compatible pass arrangement or split parts into separate lists/passes. This policy is encoded in conditionals and framebuffer/pass construction, not in a declarative list of interchangeable stage objects.

Callback limits

This snapshot warns that post-opaque compositor effects are unsupported in the Mobile renderer. It also warns that resolved depth for rendering-effect callbacks with MSAA is unsupported. These restrictions remain even though the shared resource API can express those callback types and flags.

When implementing another callback stage, account for attachment accessibility, resolves, render-pass transitions, and tile-memory behavior. Inserting a function call at the matching point is not enough.

Feature boundaries

Dynamic GI support is disabled through the method's capability override. Forward+'s screen-space and volumetric feature paths do not become available by choosing a different native driver beneath Mobile. Shared code can choose raster post-processing routes for supported effects, including depth of field, and the final result still requires the method's color/luminance conventions.

Changes shared with Forward+ should be reviewed against both methods' buffer formats and assumptions. In particular, a storage-image write to the main scene color buffer cannot be introduced as a universal RD renderer operation.

Sources: Mobile execution, method headers, and callback limitations.

Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.