summaryrefslogtreecommitdiffstats
path: root/docs/04-implementation/05-graphics-execution-plan.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-08 06:39:50 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-08 06:39:50 -0500
commitcfa2bf216065c87a185e83a8bf38a6c5dd5788c8 (patch)
tree58495ecf023b18f990cb503bb5fb160b622bb438 /docs/04-implementation/05-graphics-execution-plan.md
parent0bfd7a693a9b59def9e1494d34b61794ae04930d (diff)
downloadopen-iov-cfa2bf216065c87a185e83a8bf38a6c5dd5788c8.tar.gz
open-iov-cfa2bf216065c87a185e83a8bf38a6c5dd5788c8.zip
vgsp-disp: never publish GET past PUT; bounded no-parse push dump
r1630: the window channel's first push read returned unparseable bytes (0 methods) and the parser walked off the 4 KB ring, publishing GET=0x1000 while PUT stayed 0x4e4. nvidia-modeset then wedged in 'Error while waiting for GPU progress', Xorg never started and glxinfo/ GZDoom never reached the GL path. Only consume a segment that parses exactly to the driver's PUT. On a short/invalid read, leave consumed unchanged: the pump retries next pass (which also covers a ring the guest kicked before its content is visible) and GET can never move past PUT. Dump the head of an unparseable segment (bounded, disp_dbg) to name what the ring holds. Reset dump budgets per mdev cleanup so each boot keeps its diagnostics.
Diffstat (limited to 'docs/04-implementation/05-graphics-execution-plan.md')
0 files changed, 0 insertions, 0 deletions