diff options
| author | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-01 15:42:12 -0500 |
|---|---|---|
| committer | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-01 15:42:12 -0500 |
| commit | 9f22054c6360fcc1bafa673451a5764f5f2ca7d1 (patch) | |
| tree | 3f95faf16002660e8b37b7b6023b6009fca0fc4f /src/core/crypto/partition_data_manager.cpp | |
| parent | f8d38607b6cf6e35ee3daad7e34e590e19421c79 (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/crypto/partition_data_manager.cpp')
0 files changed, 0 insertions, 0 deletions
