aboutsummaryrefslogtreecommitdiff
path: root/src/core/core_timing.cpp
diff options
context:
space:
mode:
authorDuck912 <350528965+Duck912@users.noreply.github.com>2026-11-01 15:42:12 -0500
committerDuck912 <350528965+Duck912@users.noreply.github.com>2026-11-01 15:42:12 -0500
commit9f22054c6360fcc1bafa673451a5764f5f2ca7d1 (patch)
tree3f95faf16002660e8b37b7b6023b6009fca0fc4f /src/core/core_timing.cpp
parentf8d38607b6cf6e35ee3daad7e34e590e19421c79 (diff)
nx2:gsv: map decoder images the client reads on the GPU
Fire Emblem: Fortune's Weave's movie player queries (428) and maps (426) each decoder output image, then blits it (RGBA, format 0xd5, block-linear with 16-GOB blocks) into a texture of its own. The pool memory is process memory (114) that no GPU mapping covered, so the blit read zeros and the movies were black. For decoder images, 426 now maps the image at its own address for the GPU unless a mapping already covers it, and replies with the address, the last byte's address and the image descriptor as our Eden tree does. 427 drops the mapping after the last unmap, as do 430 and 112. Images the client reads on the GPU are written as block-linear RGBA, and the GPU caches are invalidated after each frame. NV12 images and images read with 961 keep the pitch-linear layout. Assisted-by: Claude Opus 5.5 (debugging, implementation and drafting) Signed-off-by: duck912 <350528965+Duck912@users.noreply.github.com>
Diffstat (limited to 'src/core/core_timing.cpp')
0 files changed, 0 insertions, 0 deletions