@joerg
Quote:
Did you implement all of the BoardInfo->Blit*() functions in your driver?
No but neither does the sm502 driver and this benchmark specifically seems to excercise BlitRectNoMaskComplete only so only that should matter.
Quote:
AFAIK nearly all BoardInfo functions in a P96 driver can be set to NULL on AmigaOS 4.x and a fallback function in graphics.library is used instead. For example for a very simple framebuffer driver. On real hardware with HW acceleration it's usually slower, but for emulation the graphics.library functions might be faster.
I guess you can test that with setting NOBLITTER in the monitor icon which should disable the driver functions and use the AmigaOS defaults but I did not try that. But especially for larger blits doing it host side with native routines should be faster.
Quote:
IGNOREMASK should be enabled (=YES), no matter if real hardware or emulation, which requires using a matching DEVS:Monitors, or using Kickstart/p96Config (not sure if that's enabled on all systems, or only used on Classic Amigas).
I haven't seen anything using other than 0xFF mask and BlitRectNoMaskComplete cannot even use a mask, plus the docs say that's only used for planar mode which is not implemented in my driver so this should not matter.
Quote:
Might also depend on the AllocCardMem() and/or AllocBitMap() functions, which should return at least 32 bit aligned (or more if the (emulated) gfx hardware requires it) memory.
The defaults seem to allocate with enough alignment for ati-vga which I think is 16 bytes aligned.
Quote:
Simple example of the required VRAM for a FullHD Workbench screen:
1920*1080*4(32 bit)*4(4 images, see below)/1024/1024 = nearly 32 MB VRAM.
1st "image": The screen bitmap itself, i.e. the final result displayed on the monitor.
2nd: The Workbench screen backdrop image.
3rd: The Workbench root window image.
4th: The Workbench drawer window images.
The results from smarkusg does not seem to prove this theory where only one screen is allocated for ati-vga but more than 4 for sm501. There may also be wrong rounding in the displayed value because it says 3 MB for what should be 3.9 MB.