libdragon
libdragon copied to clipboard
Hardware sprite routines do not support YUV
N64 natively supports YUV texture format, while the sprite routines do not.
On preview, we have a fully working YUV library designed for the standard case of videos but can be used also for drawing sprites. It also offers a rdpq_tex_blit wrapper to allow generic blitting (including rotation) for non interleaved YUV planes.
So while the standard sprite codepath (via mksprite and rdpq_sprite_blit) does not support YUV, I think we are covered with a dedicated library.
Also I think rdpq_tex_blit supports raw surfaces with format YUV though we don't have tests for that so probably there is some small bugs to be fixed