quakespasm icon indicating copy to clipboard operation
quakespasm copied to clipboard

Geometry Rendering Distortion (Mac)

Open timbergeron opened this issue 2 years ago • 18 comments

On Mac at FOVs > 100 get rendering artifacts exiting teleporter on e4m3 on MacBook Pro 14 M1 QuakeSpasm-0.96.0-osx-SDL2. See below.

spasm0000

timbergeron avatar Sep 27 '23 19:09 timbergeron

Can't reproduce on i686-linux with fov 110 at 1920x1080 fullscreen after a quick run to the spot with notarget on. Maybe something mac/driver specific. @ericwa might have an idea..

sezero avatar Sep 27 '23 20:09 sezero

https://github.com/sezero/quakespasm/assets/68674590/30ee7040-e7a3-4d15-80ba-38c60a453303

Here's a video. More noticable the higher the FOV

timbergeron avatar Sep 28 '23 00:09 timbergeron

spasm0001 Even at FOV 90 I just type kill on dm3 until I get to RL spawn and I see this before moving.

timbergeron avatar Sep 28 '23 00:09 timbergeron

Does not happen on my Intel Mac.

timbergeron avatar Sep 28 '23 00:09 timbergeron

I can't repro this on Windows either; I don't have access to any M1 macs unfortunately.

Here's a r_drawflat 1 + r_showtris 1 + fov 130 screenshot of the same scene in dm3 (0.96.0, Win11, x64 build):

spasm0107

Blended over @timbergeron 's screenshot we can see it's just 1 triangle in the middle of a face that's missing: 271142398-69391589-bf81-4a20-9b12-30b1ad5e035b

So, definitely not a vis culling related issue, since that would happen at a face granularity.

I don't really have any ideas of how to fix this. OpenGL implementation bug? Is QS running on ARM macs under the x86_64 -> arm emulation layer?

Edit: I'm assuming launching with -noglsl will work around the bug?

ericwa avatar Sep 28 '23 02:09 ericwa

Same issue with -noglsl

timbergeron avatar Sep 28 '23 05:09 timbergeron

Is QS running on ARM macs under the x86_64 -> arm emulation layer?

If he is using our release builds, then yes (because while I can actually build arm versions I can't sign/notarize them.)

sezero avatar Sep 28 '23 06:09 sezero