Emu68-tools icon indicating copy to clipboard operation
Emu68-tools copied to clipboard

VideoCore.card: Cybergraphics.ScalePixelArray() is messed up by P96

Open krabobmkd opened this issue 5 months ago • 0 comments

Hello and thank you again for your efforts. Just to notice, P96 provides the Cybergraphics API, in which there is the very interesting ScalePixelArray() , which aim is to scale a 32Bit ARGB bitmap to a viewport, using possibly nice bilinear filtering interpolation. Actually ,with the old cybergraphics implementation, this was often done by a GPU.

The thing is, the P96 default behaviour for this is to just handle horizontal scaling and does horrible vertical glitches, probably using CPU. As you already manage nice RGB filtering for the card for screen modes, I was wondering If it was possible to "patch" the P96 ScalePixelArray() by providing a fast, beautiful interpolation. Or at least, provide an equivalent function that would write a standard ViewPort, in some library, that could then be used to patch ScalePixelArray(). I don't know. Of course my Mame106 is using ScalePixelArray() optionaly. (see other issue I wrote) Activating it and then resizing in workbench window mode gives an idea of how P96 messed it up.

Thank you again.

krabobmkd avatar Sep 07 '24 18:09 krabobmkd