Skip to content

Retain original local ShaderEffect capture frames - #282

Draft
wieslawsoltes wants to merge 5 commits into
feat/native-shader-capture-paddingfrom
feat/native-shader-local-capture-frame
Draft

wieslawsoltes wants to merge 5 commits into
feat/native-shader-capture-paddingfrom
feat/native-shader-local-capture-frame

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Owner

Scope

Stacked on #277 (feat/native-shader-capture-padding), preserving its source union of #267/#270/#271. No dependency repin, runtime staging or capability admission.

  • Add exact version-4 retained local ShaderEffect capture metadata; v1–v3 layouts/readers/integral behavior stay unchanged.
  • Retain real request-root DPI and each source visual float transform/offset history. Independently floor/ceil scale-space edges, preserve full input/UV/derivative/sampler extent, and require exact integral residual placement.
  • Preserve original aliased output coverage separately from allocation, including original 28.4 edge conversion, actual own/local/parent float operation order, source clip intersection and exact physical clip transport.
  • Keep complete descriptor ownership/cache identity and shared native provider execution. No new compositor or renderer fallback.
  • Author eighteen actual-source paired pixel cases, ordinary input baselines, cold/warm/independent counters, legacy wire and raw fractional-clip rejection, invalid metadata and real unsupported source-history controls. Padding variant 9 becomes an actual v4 positive case with its original input bytes/counters retained.

Evidence and remaining gates

Major implementation was committed before bounded checks. Strict C++20 syntax passed for the actual MIL implementation/tests, scene validator/builder, shared renderer with the cached Dawn ABI, and fully instantiated shared GPU fixture. Protocol/coverage, native ownership inventory, all seven generated contracts, both Unicode verifiers and three inline-array generator tests pass. Generated C# source parses. No native library/test executable, GPU/VM or full graph build was run locally.

Independent original Microsoft reference #280 at e611aae3fdf3366085475094d11156676f4141a3 passed Windows reference workflow https://github.com/wieslawsoltes/ProGPU/actions/runs/37045784511 (x64 pixels, separate ARM64 unavailable control). That is source evidence, not native pixel qualification. Hardware pixel-center UV remains distinct from original SoftwareOnly integer-phase UV.

The first inverse proof is internally bounded to exact power-of-two accumulated axes in [1/256,256]; this is not a new public policy or completion claim. Non-dyadic/full inverse, fractional final placement, fractional source clips, anti-aliased output coverage and actual WPF source integration remain required implementation/qualification contracts. Native CPU, both-provider GPU, Windows/package and exact whole producer Build gates are pending. Root coordinates a single hosted dispatch; no Build was manually dispatched by this worker.

Detailed contract and receipts: docs/native-shader-local-capture-frame.md.

@wieslawsoltes
wieslawsoltes added this pull request to stack #311 October 2, 2026 21:48

This branch has not been deployed

No deployments
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