Skip to content

Capture original WPF ImageBrush shader sampler frames - #268

Closed
wieslawsoltes wants to merge 9 commits into
feat/native-shader-matricesfrom
feat/wpf-shader-sampler-reference
Closed

wieslawsoltes wants to merge 9 commits into
feat/native-shader-matricesfrom
feat/wpf-shader-sampler-reference

Conversation

@wieslawsoltes

@wieslawsoltes wieslawsoltes commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Consolidated into #360. The original head db3636790552d3ed4efe175dbd9d065c5dc7d1c8 is preserved in that integration branch. This draft is closed as superseded; implementation and qualification continue in #360.


Adds independent original Microsoft WPF ImageBrush ShaderEffect observations: 24 cases, 72 replays, 18 exact independent color controls and 5 complete-pixel equivalence pairs. Preserves the existing 25 arithmetic cases and shared deadlines. Distinguishes inert bare-visual attached properties from actual serialized visual options, including inherited Nearest and an already-rendered own-mode reset. Retains absolute/relative non-tiled full-source viewbox mapping and source DPI. Exact original reference head 5e13e58 passed workflow 37013264907 on both architectures; x64 qualifies all 24 sampler cases, ARM64 remains an explicit unsupported-software control with zero shader cases qualified. Receipt hashes and historical diagnostic failures are documented. Normally merged the parent allocation-measurement fix. Stacked on #264; full exact-head Build and all relevant checks remain required before merge. This original reference does not qualify native/source-host/package parity.

@wieslawsoltes

Copy link
Copy Markdown
Owner Author

Original Windows x64 evidence has exposed a real mismatch with the existing native sampler fixture assumptions: the first ImageBrush case produces a linear red/green ramp, not hard nearest stripes, despite nearest options on the effect visual and brush. The failed source artifacts are retained. Current head adds two parent-Nearest controls and captures all 16 cases/48 replays before reporting any pixel failures; it does not weaken their assertions. A failed capture writes a separately named failed receipt, reports zero qualified cases and fails CI. Existing 25 arithmetic cases passed unchanged in the first x64 run. Native filtering/render-state ordering and source-host parity remain open until this difference is resolved.

@wieslawsoltes

Copy link
Copy Markdown
Owner Author

Normally merged the parent shader fix and combined matrix controls; current head db36367. The translator and paired GPU fixture exactly match parent #264; original Windows reference inputs are unchanged. Replacement whole Build: https://github.com/wieslawsoltes/ProGPU/actions/runs/37022067204 . No runtime was staged from an incomplete producer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant