diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-05 09:36:43 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-05 09:36:43 -0500 |
| commit | 4e65e2e28ee595e9210992752201a0c9c0143ba3 (patch) | |
| tree | 2e2a1a6b47abb7a2871a6119b7449ffdc3f913cd /kernel/gsp_phys_fwsec.h | |
| parent | 9c7c890b5852bd332f52c83306deae4f5144310c (diff) | |
| download | open-iov-4e65e2e28ee595e9210992752201a0c9c0143ba3.tar.gz open-iov-4e65e2e28ee595e9210992752201a0c9c0143ba3.zip | |
vgsp-gr: deliver the real GL shader images and the client fixed constant buffer to the engine-visible pages
- inline-apply writes the image into the guest HPA whenever the page is kept
at the guest VA (code_keep_guest), not only for stream3d windows; a shadow
copy is useless when the engine fetches the guest page (r1470: guest=0 VS
then lost to the window-0 shadow copy).
- the standalone 0x180/0x1b0 context-init upload pair (outside any C597
section) is also recorded in the GRCE destination ring, so a later draw
window can find the client's real VTG image at its bind VA.
- sema_gl_cb_copy_to / sema_gl_cb_src_va: copy the client fixed-CB page into
the forced, mapped MME seed page before the launch, so the vertex shader
reads the client's transform constants instead of screen/stale data. Falls
back to a synthetic identity MVP when the client VA cannot be walked.
- cache any push chunk whose first word is a real SPH (020a0481 VTG /
000a1482 PS) and use it as the program-record fallback when the window's
own bind-VA upload was never captured (the init push's continuation chunks
are otherwise judged implausible and never reach the ring).
- r1481/r1482: the real VS SPH+code and PS are applied guest=1 at the bind
VA, the client CB page resolves and is copied, poison=0 over 9-10 launches;
render-target writes still zero - the remaining wall is the draw's
render-target/colour-target binding (the beef window's output retirement
set is 10 pages of shader-like data, not the 900-page screen surface).
Diffstat (limited to 'kernel/gsp_phys_fwsec.h')
0 files changed, 0 insertions, 0 deletions
