FastDoom icon indicating copy to clipboard operation
FastDoom copied to clipboard

Support for 16bpp/32bpp VBE 2.0 modes

Open Cacodemon345 opened this issue 11 months ago • 10 comments

This is probably an extremely niche use case, but since I remember talks about modern OS support in Doomworld:

Can support for 16bpp/32bpp VBE modes be added? AMD GPUs since the GCN era do not support or even list VESA 2.0 8bpp modes properly, so it'd be useful on modern platforms.

Cacodemon345 avatar Jan 30 '25 18:01 Cacodemon345

Next release will have 15, 16, 24 and 32 bpp support for backbuffered VBE modes, stay tuned 😁

viti95 avatar Feb 16 '25 21:02 viti95

Yep, you're right, AMD GCN cards have very bad VBE implementation. This is my Radeon Pro VII right now (other cards / emulators work fine).

Image Image

viti95 avatar Feb 17 '25 21:02 viti95

If it displays Windows XP (or Vista/7's recovery/setup environment) correctly it should also display FastDoom correctly.

Cacodemon345 avatar Feb 17 '25 21:02 Cacodemon345

FastDoom 1.1.0 is now available 😄

viti95 avatar Feb 26 '25 18:02 viti95

All modes that are supported work, except 800x600 where it seems to pick a wrong pitch value.

Cacodemon345 avatar Feb 27 '25 09:02 Cacodemon345

Which video card are you using?

viti95 avatar Feb 27 '25 10:02 viti95

AMD Radeon RX 460.

Cacodemon345 avatar Feb 27 '25 10:02 Cacodemon345

Ok, found the issue. Turns out 800x600 in GCN cards use more bytes per line than required. For example, in regular 16bpp modes 2 bytes are required per pixel, so 1600 bytes per line.

But in my Radeon VII, this is the description for the mode:

mode #3 [114]: 800x600x16 bpp, 1 plane(s), 1 bank(s) of 0 KiB, 1664 B/line, wingran=64 KiB, winsize=64 KiB, supported, color, gfx, notvga, lfb winA: reloc read write bnk R 5(11) G 6(5) B 5(0) lin R 5(11) G 6(5) B 5(0) usable

So that's why the image gets scrambled.

viti95 avatar Feb 27 '25 11:02 viti95

Is this fixable then?

Cacodemon345 avatar Feb 27 '25 14:02 Cacodemon345

Yes, it is fixable, this fix will be available in the next release

viti95 avatar Feb 27 '25 14:02 viti95

It works well now, thanks.

Cacodemon345 avatar Apr 05 '25 19:04 Cacodemon345