GTX 1050: Flickering dots effect on some textures in Gauntlet Legends in Direct3D 11
Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.
Platform / OS / Hardware: Windows 10 (Laptop)
Flycast version: 28ea3dc
Hardware: i5-8300H @ 2.30 GHz Intel UHD 630 GTX 1050 (Mobile) (Even after forcing it in the nvidia control panel, Flycast refuses to use the integrated card and only uses the discrete Nvidia card) 8GB Ram
Description of the Issue
Gauntlet Legacy has the flickering dots effect on some textures, but it only happens in Direct3D 11 regardless of transparency sorting setting. This doesn't happen in any of the other renderers, OpenGL, Vulkan, Direct3D 9, it works fine on those.
Debugging Steps Tested
Tried an older version, 2.5 stable from all the way back in May Tried enabling full framebuffer emulation which only makes the flicker worse Tried forcing Flycast to use the Intel iGPU without success. On another computer i have that only has an Intel HD 620 without a discrete GPU, this issue does not happen there on the same version of Flycast.
Logs Gathered
02:39:314 sdl/sdl_gamepad.cpp:653 N[INPUT]: Resetting SDL gamepad to default: 0 1
02:49:928 rend/dx11/dx11context.cpp:41 N[RENDERER]: DX11 Context initializing
02:49:951 sdl/sdl.cpp:772 N[RENDERER]: Monitor refresh rate: 60 Hz (1600 x 900)
02:50:011 rend/dx11/dx11context.cpp:186 N[RENDERER]: No system-provided shader cache
02:50:013 rend/dx11/dx11context.cpp:316 N[RENDERER]: Swapchain resized: 1600 x 837
02:50:013 rend/dx11/dx11_shaders.cpp:785 N[RENDERER]: Loaded 6 shaders from D:\Downloads\Dreamcast\flycast-28ea3dc\data\dx11_shader_cache.bin
02:50:014 rend/dx11/dx11context.cpp:398 W[RENDERER]: Format B4G4R4A4 doesn't support mipmap autogen
02:50:014 rend/dx11/dx11_renderer.cpp:45 N[RENDERER]: DX11 renderer initializing
02:50:016 rend/dx11/dx11_shaders.cpp:785 N[RENDERER]: Loaded 17 shaders from D:\Downloads\Dreamcast\flycast-28ea3dc\data\dx11oit_shader_cache.bin
02:50:022 rend/dx11/dx11context.cpp:316 N[RENDERER]: Swapchain resized: 1600 x 837
02:50:025 rend/dx11/dx11context.cpp:316 N[RENDERER]: Swapchain resized: 1600 x 837
02:50:026 rend/dx11/dx11context.cpp:316 N[RENDERER]: Swapchain resized: 1600 x 837
02:50:028 rend/dx11/dx11context.cpp:316 N[RENDERER]: Swapchain resized: 1600 x 837
02:55:189 sdl/sdl_gamepad.cpp:653 N[INPUT]: Resetting SDL gamepad to default: 0 1
03:25:642 rend/dx11/dx11_shaders.cpp:759 N[RENDERER]: Saved 17 shaders to D:\Downloads\Dreamcast\flycast-28ea3dc\data\dx11oit_shader_cache.bin
03:25:642 rend/dx11/dx11_renderer.cpp:175 N[RENDERER]: DX11 renderer terminating
03:25:642 rend/dx11/dx11context.cpp:201 N[RENDERER]: DX11 Context terminating
03:25:642 rend/dx11/dx11_shaders.cpp:759 N[RENDERER]: Saved 6 shaders to D:\Downloads\Dreamcast\flycast-28ea3dc\data\dx11_shader_cache.bin
03:25:815 sdl/sdl.cpp:772 N[RENDERER]: Monitor refresh rate: 60 Hz (1600 x 900)
03:25:825 rend/gles/gles.cpp:603 N[RENDERER]: OpenGL version 4.3
03:25:825 rend/gles/gles.cpp:604 N[RENDERER]: Vendor 'NVIDIA Corporation' Renderer 'NVIDIA GeForce GTX 1050/PCIe/SSE2' Version '4.3.0 NVIDIA 576.52'
03:25:844 rend/gles/gles.cpp:615 N[RENDERER]: glBlitFramebuffer test successful
03:29:142 sdl/sdl_gamepad.cpp:653 N[INPUT]: Resetting SDL gamepad to default: 0 1
04:08:607 sdl/sdl_gamepad.cpp:653 N[INPUT]: Resetting SDL gamepad to default: 0 1
04:10:323 sdl/sdl_gamepad.cpp:502 N[INPUT]: SDL: Joystick 'PS4 Controller' on port 0 disconnected
Screenshots
Turning on Native Depth Interpolation seems to fix this, my bad for creating an issue for this, perhaps it would be good to also add to the little tooltip next to the setting that it would help with Nvidia GPUs as well. I'll leave it open for a bit in case there's anything else to add regarding this.
This is due to a driver bug or insufficient GPU specifications. I'm using a GTX1660super, and the same flickering occurs. It seems you need a GPU at least as powerful as a GTX1080. This type of flickering has also been confirmed in several games.
https://github.com/user-attachments/assets/f45eb943-d82f-4f34-ba7c-bb2fd48d71a5
I had never seen Native Depth Interpolation having any effect on Nvidia but there you go. It also helps Intel GPUs with some games.
Like kihato said this looks like a GPU or driver issue.
Strange that this happens on a discrete card though. I have another laptop like i said which only has an Intel iGPU and this bug doesn't occur there, good enabling that setting fixes it on here without any fuss. I already have the latest drivers installed on the GTX 1050, but i assume if kihato's GTX 1660 super is doing the same, at least i know it's not just my machine.