Skip to content

Physical PowerVR evidence: zero/pole cancellation path is not trustworthy yet #54

Description

@isomorphisms

The user found a concrete mathematical/runtime failure on the physical PowerVR phone while testing the recent experiment/powervr-phone-fastpath work.

Expected mathematical contract

f(z,t) = exp(q(z,t))
         * Π_i (z - zero_i)
         / [Π_j (z - ordinary_pole_j) * Π_k (z - wandering_pole_k(t))]

A user zero at exactly the same coordinate as a wandering pole should cancel that factor analytically (leaving a removable singularity in the unreduced expression). A set of roughly 24 zeros placed near the 24 wandering poles should materially suppress their divisor contribution. The wandering-pole objects may remain present and keep moving, but their analytic factors are not immune to zeros.

Physical-device evidence from 2026-09-10

  1. In the wide-view PowerVR build around 8dd3fc969ae01920052666bd95259acb95465e7e, many user zeros were visibly present on the left side of the viewport, but the surrounding Wegert field did not visibly respond as expected. This is what led to the fp32 accumulation-order investigation.
  2. In the later many-zero experiment around 7f3b759ca35408a7a24b9e4f5daf1b075605d11a, the wandering X markers became visible, but adding many zeros caused a severe frame-rate collapse on the phone. The resulting field still did not provide convincing physical evidence that the intended cancellation law was being rendered correctly.
  3. The user explicitly rejected treating build/unit-test success as evidence that the mathematical behavior was correct.

Important disposition for cleanup / Max

  • Do not treat the recent PowerVR shader rewrites, scaled-product helpers, q-period reduction, marker culling, or associated tests as architectural constraints merely because they are green.
  • It is acceptable to discard these changes and rebuild the evaluator from the mathematical contract above if that produces a clearer and more auditable path.
  • Before retaining any optimization, establish a deterministic oracle: one stationary pole + one exactly coincident zero must render the same mathematical field as neither factor (apart from optional UI markers); then test a slightly displaced pair; then many pairs; only then restore moving wandering poles.
  • Physical-device evidence is required. Structural greps, shader compilation, APK packaging, and emulator launch are not enough.

Related: #53 records generic wide-view issues, but this issue is specifically evidence that the recent repair sequence itself should not be presumed correct.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions