Skip to content

Seemingly GDI Rendering issues with numerous cards #6971

Description

@junglira

Checklist

  • I have searched the issue tracker and was unable to find an open or closed issue matching what I'm seeing.
  • I have verified that the issue is happening in the latest nightly build, or the latest commit, if building from source.

What happened?

There seems to be some sort of GDI rendering issue going on causing a crash in Microsoft Bob under Windows 98E - though I'm sure this extends beyond just Bob, as Bob uses incredibly standard Windows/Microsoft processes and methods (as of the 3.1/95 era) being a first party product.

Virtually every graphics card I've tried from various Machs, to several S3s, to a few Cirrus all have a rendering issue that causes a crash in Microsoft Bob when rendering a List that is wider than the screen space.

However, the Voodoo3 cards do not have this crash and can continue running without issue... at full (and near full) acceleration settings. However when lowering the acceleration settings in Window's dialog to notch 1 or 2 on the four notch slider, it will have with the same crash. Notch 3 and 4 don't cause the crash.

Although it won't crash with the Voodoo3 cards on 3/4 acceleration settings, there is a rendering issue instead where certain elements don't draw correctly. This is specifically noticeable in the "speech bubble triangle" where it will render either transparent or in incorrect/broken colors. Additionally in selecting a background for a room, it will often not render the background piece correctly showing it's a deeper issue than merely the dialog balloon's triangle.

Though when using one of the other graphics cards or setting the Voodoo3 card to acceleration 1/2 settings, the rendering issue does not show up - and instead is replaced with the crash.

Attached are screenshots showing the speech balloon correctly rendered in normal situations and incorrectly rendered with the Voodoo3 with acceleration.

Correct rendering of speech balloon triangle:
Image

Two variations of the incorrect speech balloon triangle renderings:
Image
Image

I've also attached a screenshot of Window's error it reported, as well as the acceleration settings slider (just to ensure there was not confusion on what that was)

Image Image Image

It seems to be a GDI emulation issue of some sort, but this is beyond my wheelhouse so I can't offer much more insight. However I can provide other information if needed to help.

To note, Microsoft Bob renders almost exlusively with WMF vector files. Not sure if this would cause any sort of specific issue or not and worth mentioning just in case.

And just to confirm, this is the currently posted release build v5.3, running on an ARM Macintosh. I've also tried the nightly builds, both new recompliler and the old, but neither booted for me. 8631, March 24.

As far as I can see I didn't find another bug similiar to this - even ignoring Microsoft Bob.

Configuration file

[3dfx Voodoo3 3500 SI]
bilinear = 1
chromakey = 1
dithersub = 0
dacfilter = 0
render_threads = 1

[General]
emu_build_num = 8200
host_cpu = Apple M1
scale = 2
sound_gain = 18
uuid = 8f636bab-d38d-51ff-a66e-bfb62cac13bd
vid_renderer = qt_vulkan
video_filter_method = 0
video_fullscreen_scale = 3
video_gl_input_scale_mode = 2

[Machine]
cpu_family = pentium2_deschutes
cpu_multi = 2
cpu_speed = 133333333
cpu_use_dynarec = 1
fpu_type = internal
machine = prosignias31x_bx
mem_size = 65536

[Video]
gfxcard = voodoo3_3500_si_agp

[Input devices]
keyboard_type = keyboard_at
mouse_type = ps2

[Sound]
sndcard = sb16_pnp

[Network]
net_01_card = ne2kpci
net_01_link = 0
net_01_net_type = slirp
net_01_promisc = 0
net_01_switch_group = 0
net_02_card = modem
net_02_link = 0
net_02_net_type = slirp
net_02_promisc = 0
net_02_switch_group = 0
net_03_link = 0
net_04_link = 0

[Storage controllers]
cdrom_interface = mkecd

[Hard disks]
hdd_01_fn = hdd.img
hdd_01_ide_channel = 0:0
hdd_01_parameters = 63, 128, 520, 0, ide
hdd_01_speed = ramdisk

[Floppy and CD-ROM drives]
cdrom_01_ide_channel = 0:1
cdrom_01_image_history_02 = /Users/Derek/Downloads
cdrom_01_parameters = 1, atapi
cdrom_01_speed = 72
fdd_01_type = 35_2hd
fdd_02_type = none

[Sound Blaster 16 PnP #1]
control_pc_speaker = 0
receive_input = 1
receive_input401 = 0

[Ports (COM & LPT)]
lpt1_device = postscript
serial2_enabled = 0

[Standard Hayes-compliant Modem #2]
port = 0
baudrate = 14400
listen_port = 0
telnet_mode = 0

[Realtek RTL8029AS #1]
mac = 6b:91:21

[Keybinds]
release_mouse = Ctrl+Up

[S3 Trio3D/2X (362) AGP]
memory = 8
bilinear = 1
colorkey = 1
dithering = 1

[S3 ViRGE (325) PCI]
memory = 4
bilinear = 1
colorkey = 1
dithering = 1

[Trident TVGA 8900D]
memory = 1024

[3dfx Voodoo3 3000]
bilinear = 1
chromakey = 1
dithersub = 1
dacfilter = 0
render_threads = 2

[3dfx Voodoo3 1000]
bilinear = 1
chromakey = 1
dithersub = 1
dacfilter = 0
render_threads = 2

Operating system

Windows 9E

86Box version

v5.3

Build architecture

macOS - Universal (Intel and Apple Silicon)

Build type

  • New recompiler
  • Debug build

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions