Preserve DX12 indirect draw identities and restore visibility GPU tests - #162
Draft
proggeramlug wants to merge 1 commit into
Draft
Preserve DX12 indirect draw identities and restore visibility GPU tests#162proggeramlug wants to merge 1 commit into
proggeramlug wants to merge 1 commit into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
DX12 counted indirect submission loses the per-command first-instance identity in wgpu 29, so later virtual draws render at the wrong location or disappear. Use Bloom's existing bounded ordinary multi-draw fallback consistently for static GPU-driven draws, virtual draw emission, and virtual visibility. Counted-submission capability reports now reflect that choice; supported Vulkan devices retain counted submission.
The visibility reconstruction GPU oracle also failed to create its DX12 pipeline because its fragment interface combined position and primitive ID. Carry linear NDC and recover the exact pixel center before calling the unchanged production reconstruction function. Preserve every existing identity, face, clear-sentinel and barycentric assertion. A production virtual-visibility regression exercises both the default submission choice and the forced binned path.
Validation: the two original focused oracles pass on Radeon Vulkan, Radeon DX12 with FXC/DXC, and WARP with FXC/DXC (10 executions). The initial full library runs pass on DX12 and Vulkan (488 passed, zero failed, one ignored). The expanded DX12 run passes 489 library tests and device negotiation, then reports 92 golden tests passed, one failed, and four ignored:
camera_motion_sequence_bounds_ghosting_flicker_and_cut_residuehas maximum channel difference 1 after a cut where exact equality is required. That failure remains required and under separate diagnosis. At committed sourceab8019b, the new default-submission pixel/attribute oracle passes on Vulkan, Radeon DX12, and WARP. The camera-cut failure reproduces in three focused DX12 runs and on the unchanged parent59244b9; it is not introduced by this patch. The complete shared CI component passes on committed sourceab8019bunder Vulkan (489 library tests, device negotiation, and 93 golden tests passed; existing ignored tests remain). Hosted Windows shared validation still crashes withSTATUS_ACCESS_VIOLATION(Bash exit 139) before completing the suite. The original crash remains unresolved and required; the other 21 Tests jobs pass, including the actual Windows native build and all 20 example links. Test adapters/backend selection and failed controls are retained in the report.Stacked on #161. This advances #140/#27/#131; the earlier hosted access violation remains unresolved. No performance improvement or complete platform/hardware qualification is claimed. The documentation also records #160/#161's now-published successful local and hosted 20-example native build evidence.
Published report and evidence ZIP retain the controls, exact-source local runs, hosted failure and successful build receipts. ZIP SHA-256:
ff50b4653062f2070508b825fc47f032e5907d5a054285e193ff33d2cb74975e.