runtime(zones,#804): in-proc D3D11 — MODE_ZONES composite, binary wish, opt-in feather - #809
Open
dfattal wants to merge 1 commit into
Open
runtime(zones,#804): in-proc D3D11 — MODE_ZONES composite, binary wish, opt-in feather#809dfattal wants to merge 1 commit into
dfattal wants to merge 1 commit into
Conversation
…h, per-zone opt-in feather In-proc D3D11 leg of the #801/#803 backend-parity port (mirrors the VK reference, 70b7826 + b0e5889): #801 semantics: - masked_composite PS grows composite_mode (replacing the alpha_over bool): 0 = hard M-lerp (explicit authored mask), 1 = #491 premul over (implicit legacy mask), 2 = MODE_ZONES: final = twod + (1-a)*(M*weave) - M gates only the WEAVE by zone geometry; Local2D overlays composite on top by their own premultiplied alpha (a toast inside a full-window zone is no longer multiplied away; the window-edge vignette is gone). - The auto wish raster goes BINARY (M=1 per zone rect, no 16px ring): the wish is HARDWARE-only (ADR-027) and hard-edged by default (#800). - The composite mask is ALWAYS the binary zone raster - an explicit frame wish is PUBLISH-ONLY (d3d11_sync_zone_mask_to_dp unchanged), never a compositor blend gate. d3d11_update_zone_wish_state now maintains the auto raster even when an explicit wish is staged. #803 (XrDisplayZoneFeatherDXR): - New d3d11_update_zone_feather_mask: when any zone requests feather, the composite samples a separately-rastered per-zone mask (hard or inward 0->1 ramp per zone, 2px steps, ramp cap 64px then wider steps, small-zone inset clamp - the VK raster_mask_zones semantics on the ClearView idiom). The published wish stays binary regardless; raster failure falls back to the binary mask (hard edges, never a lost frame). Dirty-checked on rects + radii + dims; no zone_publish_seq bump (composite-only). Also: one-shot "D3D11 Local2D composite ... (mode=N)" log per the VK leg; shaders/masked_composite.hlsl reference caught up (it had drifted - no alpha_over field since #491). Legacy frames (cube_handle_d3d11_win, engine legacy sessions) are byte-identical by the zones_frame gate: LERP/ALPHA_OVER branches keep their exact semantics. Refs #800, #801, #803. VK reference: #801/#803 merges. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In-proc D3D11 leg of #804 (leg 2; leg 1 = #808). Mirrors the VK reference (#801 merge 70b7826, #803 merge b0e5889) onto
comp_d3d11_renderer+comp_d3d11_compositor.#801
masked_compositePS:alpha_overbool →composite_mode(0 = hard M-lerp / 1 = Cross-API: translucent-2D-over-3D compositing model (implicit mask = 1−alpha, soft masks, 2D-under-3D layer stack) #491 premul over / 2 = MODE_ZONES:final = twod + (1−a)·(M·weave)— M gates only the weave; Local2D composites on top by its own alpha).d3d11_sync_zone_mask_to_dpunchanged).d3d11_update_zone_wish_statenow maintains the auto raster even when an explicit wish is staged.#803
d3d11_update_zone_feather_mask: per-zone opt-in composite feather (VKraster_mask_zonessemantics on the ClearView idiom — 2px steps, 64px ramp cap, small-zone clamp). Published wish stays binary; raster failure falls back binary (hard edges, never a lost frame).Also: one-shot
D3D11 Local2D composite … (mode=N)log;shaders/masked_composite.hlslreference file caught up (had drifted since #491).Expected deltas / regression control
zones_frame-gated; LERP/ALPHA_OVER branches byte-equal.Refs #800 #801 #803 #804.
🤖 Generated with Claude Code