libvisual
libvisual copied to clipboard
LV: Wrong depth when switching actors
Wrong depth is chosen when switching GL actor -> non-GL actor or non-GL actor -> non-GL actor.
Replication:
While
# lv-tool -c 24 -D 8x8 -d stdout_sdl -a bumpscope -F1 | wc -c
shows 192 bytes (8_8_3, 24bpp) correctly,
# lv-tool -c 24 -D 8x8 -d stdout_sdl -a bumpscope -F2 -S1 | wc -c
shows 256 bytes while there should be 192*2=384 bytes written for 2 frames.
Further investigation shows, that the new actor (corona in this case) is rendered with 8bpp. So we will get 192 + 64 = 256 bytes because the 2nd frame (from corona) only has 64 bytes (8_8_1, 8bpp)