mupen64plus-libretro-nx icon indicating copy to clipboard operation
mupen64plus-libretro-nx copied to clipboard

[Glitches] black boxes/squares in Mario Kart 64 around "sprites" on RK3399 using mesa panfrost

Open SupervisedThinking opened this issue 4 years ago • 18 comments

I guess the screenshots are self explanatory.

System:

  • RockPro64
  • LibreELEC 10.0-dev
  • Linux kernel 5.10.21
  • Mesa 3D https://github.com/mesa3d/mesa/commit/38b2e137665f36f1b0fe58e40971548d9eafa865

Version: https://github.com/libretro/mupen64plus-libretro-nx/commit/9ae6f16bb9c75f2d2f2fa2fc4fd001cf7dda6d95

Package: https://github.com/SupervisedThinking/LibreELEC-RR/blob/libreelec-10.0-RR/packages/supervisedthinking/emulation/libretro/mupen64plus-nx/package.mk

Screenshots: 1 2

Log:

[INFO] RetroArch 1.9.0 (Git 5e551dd)
[INFO] [Overrides]: Redirecting save file to "/storage/.config/retroarch/saves/Mario Kart 64 (Europe) (Rev A).srm".
[INFO] [Overrides]: Redirecting save state to "/storage/.config/retroarch/states/Mario Kart 64 (Europe) (Rev A).state".
[INFO] === Build =======================================
[INFO] Capabilities:  NEON ASIMD
[INFO] Built: Mar 13 2021
[INFO] Version: 1.9.0
[INFO] Git: 5e551dd
[INFO] =================================================
[INFO] [CORE]: Loading dynamic libretro core from: "/tmp/cores/mupen64plus_next_libretro.so"
[INFO] [Overrides]: No core-specific overrides found at /storage/.config/retroarch/config/Mupen64Plus-Next/Mupen64Plus-Next.cfg.
[INFO] [Overrides]: No content-dir-specific overrides found at /storage/.config/retroarch/config/Mupen64Plus-Next/n64.cfg.
[INFO] [Overrides]: No game-specific overrides found at /storage/.config/retroarch/config/Mupen64Plus-Next/Mario Kart 64 (Europe) (Rev A).cfg.
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: SET_CORE_OPTIONS.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Remaps]: remap directory: /storage/.config/retroarch/remappings
[INFO] [Overrides]: Redirecting save file to "/storage/.config/retroarch/saves/Mario Kart 64 (Europe) (Rev A).srm".
[INFO] [Overrides]: Redirecting save state to "/storage/.config/retroarch/states/Mario Kart 64 (Europe) (Rev A).state".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: GET_PERF_INTERFACE.
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[INFO] [CONTENT LOAD]: Loading content file: /tmp/emulation/retroarch/Mario Kart 64 (Europe) (Rev A).n64.
[INFO] Did not find a valid content patch.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY.
[INFO] [Environ]: SET_HW_RENDER.
[INFO] Requesting OpenGLES3 context.
[libretro INFO] mupen64plus: Using full mem base
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[libretro INFO] mupen64plus: Goodname: Mario Kart 64 (E) (V1.1) [!]
[libretro INFO] mupen64plus: Name: MARIOKART64         
[libretro INFO] mupen64plus: MD5: 2BB149A583FDEFEA96805F628FE42FD9
[libretro INFO] mupen64plus: CRC: 2577C7D4 D18FAAAE
[libretro INFO] mupen64plus: Imagetype: .v64 (byteswapped)
[libretro INFO] mupen64plus: Rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
[libretro INFO] mupen64plus: ClockRate = F
[libretro INFO] mupen64plus: Version: 1446
[libretro INFO] mupen64plus: Manufacturer: Nintendo
[libretro INFO] mupen64plus: Cartridge_ID: 544B
[libretro INFO] mupen64plus: Country: Unknown (0x150)
[libretro INFO] mupen64plus: PC = 80000400
[libretro INFO] mupen64plus: Save type: 0
[INFO] [SRAM]: Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Cheats]: Load game-specific cheatfile: /tmp/database/cht/Mupen64Plus-Next/Mario Kart 64 (Europe) (Rev A).cht
[INFO] [Audio]: Set audio input rate to: 44100.00 Hz.
[INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 60.00 Hz, Game = 50.00 Hz)
[INFO] [Video]: Video @ fullscreen
[INFO] [Video]: Using HW render, OpenGL driver forced.
[INFO] [Video]: Using configured "gl" driver for GL HW render.
[WARN] [DRM]: Couldn't get device resources.
[WARN] [DRM]: Couldn't get device resources.
[INFO] [DRM]: Found 1 connectors.
[INFO] [DRM]: Connector 0 connected: yes
[INFO] [DRM]: Connector 0 has 16 modes.
[INFO] [DRM]: Connector 0 assigned to monitor index: #1.
[INFO] [DRM]: Mode 0: (1920x1080) 1920 x 1080, 50 Hz
[INFO] [DRM]: Mode 1: (1920x1080) 1920 x 1080, 60 Hz
[INFO] [DRM]: Mode 2: (1920x1080) 1920 x 1080, 60 Hz
[INFO] [DRM]: Mode 3: (1920x1080) 1920 x 1080, 30 Hz
[INFO] [DRM]: Mode 4: (1920x1080) 1920 x 1080, 30 Hz
[INFO] [DRM]: Mode 5: (1920x1080) 1920 x 1080, 25 Hz
[INFO] [DRM]: Mode 6: (1920x1080) 1920 x 1080, 24 Hz
[INFO] [DRM]: Mode 7: (1920x1080) 1920 x 1080, 24 Hz
[INFO] [DRM]: Mode 8: (1280x720) 1280 x 720, 60 Hz
[INFO] [DRM]: Mode 9: (1280x720) 1280 x 720, 60 Hz
[INFO] [DRM]: Mode 10: (1280x720) 1280 x 720, 50 Hz
[INFO] [DRM]: Mode 11: (1440x576) 1440 x 576, 50 Hz
[INFO] [DRM]: Mode 12: (1024x768) 1024 x 768, 60 Hz
[INFO] [DRM]: Mode 13: (1440x480) 1440 x 480, 60 Hz
[INFO] [DRM]: Mode 14: (1440x480) 1440 x 480, 60 Hz
[INFO] [DRM]: Mode 15: (800x600) 800 x 600, 75 Hz
[INFO] [GL]: Found GL context: kms
[INFO] [GL]: Detecting screen resolution 1920x1080.
[INFO] [EGL] Found EGL_EXT_platform_base, trying eglGetPlatformDisplayEXT
[INFO] [EGL]: EGL version: 1.4
[INFO] [EGL]: Created shared context: 0x1f160f0.
[INFO] [EGL]: Current context: 0x1f17fa0.
[INFO] [KMS]: New FB: 1920x1080 (stride: 7680).
[INFO] [GL]: Vendor: Panfrost, Renderer: Mali T860 (Panfrost).
[INFO] [GL]: Version: OpenGL ES 3.0 Mesa 21.1.0-devel.
[INFO] [GL]: Using resolution 1920x1080
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[WARN] [GL]: Stock GLSL shaders will be used.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Setting up menu pipeline shaders for XMB ... 
[INFO] [GLSL]: Compiling ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling simple ribbon shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling modern snow shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling bokeh shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Compiling snowflake shader..
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 1 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Initializing HW render (1024 x 1024).
[INFO] [GL]: Max texture size: 4096 px, renderbuffer size: 4096 px.
[INFO] [GL]: Supports FBO (render-to-texture).
[INFO] [Font]: Using font rendering backend: bitmap.
[INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [udev]: Pad #0 (/dev/input/event5) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event5) supports 16 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".
[WARN] [udev]: Full-screen pointer won't be available.
[INFO] [Video]: Found display server: null
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[INFO] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_history.lpl].
[INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [/storage/.config/retroarch/content_favorites.lpl].
[INFO] [GL]: VSync => on
[INFO] [Playlist]: Written to playlist file: /storage/.config/retroarch/content_history.lpl
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[libretro INFO] mupen64plus: Game controller 0 (Standard controller) has a Memory pak plugged in
[libretro INFO] mupen64plus: Game controller 1 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 2 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 3 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Using CIC type X102
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[INFO] [Environ]: SYSTEM_DIRECTORY: "/storage/roms/bios".
[libretro INFO] mupen64plus: Initializing 4 RDRAM modules for a total of 8 MB
[libretro INFO] mupen64plus: Starting R4300 emulator: Dynamic Recompiler
[libretro INFO] mupen64plus: Init new dynarec
[libretro INFO] mupen64plus: ARM CPU Features:
[INFO] [KMS]: New FB: 1920x1080 (stride: 7680).
[INFO] [KMS]: New FB: 1920x1080 (stride: 7680).
[INFO] [GL]: VSync => on
[INFO] [PulseAudio]: Pausing.
[INFO] [PulseAudio]: Unpausing.
[INFO] [config] Saved new config to "/storage/.config/retroarch/retroarch.cfg".
[INFO] [Cheats]: Save game-specific cheatfile: /tmp/database/cht/Mupen64Plus-Next/Mario Kart 64 (Europe) (Rev A).cht
[INFO] [SRAM]: Saving RAM type #0 to "/storage/.config/retroarch/saves/Mario Kart 64 (Europe) (Rev A).srm".
[INFO] [SRAM]: Saved successfully to "/storage/.config/retroarch/saves/Mario Kart 64 (Europe) (Rev A).srm".
[INFO] Content ran for a total of: 00 hours, 00 minutes, 27 seconds.
[INFO] Saving runtime log file: /storage/.config/retroarch/playlists/logs/Mupen64Plus-Next/Mario Kart 64 (Europe) (Rev A).lrtl
[INFO] [CORE]: Unloading game..
[INFO] [PulseAudio]: Pausing.
[INFO] [CORE]: Unloading core..
[libretro INFO] mupen64plus: Stopping emulation.
[libretro INFO] mupen64plus: R4300 emulator finished.
[INFO] [PERF]: Performance counters (libretro):
[INFO] [CORE]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "/storage/.config/retroarch/config/Mupen64Plus-Next/Mupen64Plus-Next.opt"
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [CONTENT LOAD]: Removing temporary content file: /tmp/emulation/retroarch/Mario Kart 64 (Europe) (Rev A).n64.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
plugin_start_gfx

SupervisedThinking avatar Mar 13 '21 17:03 SupervisedThinking

Core options?

m4xw avatar Mar 16 '21 11:03 m4xw

Mupen64Plus-Next.opt

mupen64plus-169screensize = "640x360"
mupen64plus-43screensize = "640x480"
mupen64plus-alt-map = "False"
mupen64plus-aspect = "4:3"
mupen64plus-astick-deadzone = "15"
mupen64plus-astick-sensitivity = "100"
mupen64plus-BackgroundMode = "OnePiece"
mupen64plus-BilinearMode = "standard"
mupen64plus-CorrectTexrectCoords = "Off"
mupen64plus-CountPerOp = "0"
mupen64plus-cpucore = "dynamic_recompiler"
mupen64plus-d-cbutton = "C3"
mupen64plus-DitheringPattern = "False"
mupen64plus-DitheringQuantization = "False"
mupen64plus-EnableCopyAuxToRDRAM = "False"
mupen64plus-EnableCopyColorToRDRAM = "Sync"
mupen64plus-EnableCopyDepthToRDRAM = "Software"
mupen64plus-EnableEnhancedHighResStorage = "False"
mupen64plus-EnableEnhancedTextureStorage = "False"
mupen64plus-EnableFBEmulation = "True"
mupen64plus-EnableFragmentDepthWrite = "False"
mupen64plus-EnableHiResAltCRC = "False"
mupen64plus-EnableHWLighting = "False"
mupen64plus-EnableLegacyBlending = "True"
mupen64plus-EnableLODEmulation = "True"
mupen64plus-EnableNativeResFactor = "0"
mupen64plus-EnableNativeResTexrects = "Disabled"
mupen64plus-EnableOverscan = "Enabled"
mupen64plus-EnableTextureCache = "True"
mupen64plus-ForceDisableExtraMem = "False"
mupen64plus-FrameDuping = "False"
mupen64plus-Framerate = "Original"
mupen64plus-FXAA = "0"
mupen64plus-GLideN64IniBehaviour = "late"
mupen64plus-HybridFilter = "True"
mupen64plus-IgnoreTLBExceptions = "False"
mupen64plus-l-cbutton = "C2"
mupen64plus-MaxTxCacheSize = "8000"
mupen64plus-MultiSampling = "0"
mupen64plus-OverscanBottom = "0"
mupen64plus-OverscanLeft = "0"
mupen64plus-OverscanRight = "0"
mupen64plus-OverscanTop = "0"
mupen64plus-pak1 = "memory"
mupen64plus-pak2 = "none"
mupen64plus-pak3 = "none"
mupen64plus-pak4 = "none"
mupen64plus-r-cbutton = "C1"
mupen64plus-rdp-plugin = "gliden64"
mupen64plus-RDRAMImageDitheringMode = "False"
mupen64plus-rsp-plugin = "hle"
mupen64plus-ThreadedRenderer = "False"
mupen64plus-txCacheCompression = "True"
mupen64plus-txEnhancementMode = "None"
mupen64plus-txFilterIgnoreBG = "True"
mupen64plus-txFilterMode = "None"
mupen64plus-txHiresEnable = "False"
mupen64plus-txHiresFullAlphaChannel = "False"
mupen64plus-u-cbutton = "C4"
mupen64plus-virefresh = "Auto"

SupervisedThinking avatar Mar 16 '21 12:03 SupervisedThinking

Try each value of MaxTxCacheSize, close + open the core between tests

m4xw avatar Mar 16 '21 12:03 m4xw

I've tried both 1500/4000 as value for MaxTxCacheSize but still the black squares. A A311D (S922X) with Mali G52 & panfrost driver does not show those squares btw. so it might be a Mesa bug?

SupervisedThinking avatar Mar 16 '21 13:03 SupervisedThinking

Certainly sounds like driver shenanigans. I know MESA on Switch is fine, so either specific to the device or MESA version Probably a upstream issue

m4xw avatar Mar 16 '21 14:03 m4xw

I've opened an issue here about that https://gitlab.freedesktop.org/mesa/mesa/-/issues/4468

SupervisedThinking avatar Mar 16 '21 14:03 SupervisedThinking

Can you check again on last release? should be on the bot in ~3h worst case

m4xw avatar Jul 14 '21 13:07 m4xw

I've tried https://github.com/libretro/mupen64plus-libretro-nx/commit/ecfc77e9a49617d25b683aec7a8217bd044cfc6a + Mesa 21.2.0-RC3 + Linux 5.10.47 but still the same black boxes on my RK3399

SupervisedThinking avatar Jul 29 '21 09:07 SupervisedThinking

Btw. Super Smash Bros. has the same glitches, the powerups & other sprites have black boxes around the,

SupervisedThinking avatar Aug 04 '21 19:08 SupervisedThinking

Also affected on the Pinebook Pro with mesa 21.2.4. I compiled mupen64plus with platform="rpi4" FORCE_GLES3=1

netthier avatar Oct 19 '21 21:10 netthier

Also affected on the Pinebook Pro with mesa 21.2.4. I compiled mupen64plus with platform="rpi4" FORCE_GLES3=1

I guess platform should be RK3399 for a Pinebook Pro? Anyway I've still the same issue with mesa 21.3-RC & latest mupen64plus-nx. The RK3288 is also affected https://gitlab.freedesktop.org/mesa/mesa/-/issues/4468#note_1107435

SupervisedThinking avatar Oct 19 '21 22:10 SupervisedThinking

I guess platform should be RK3399 for a Pinebook Pro? Anyway I've still the same issue with mesa 21.3-RC & latest mupen64plus-nx. The RK3288 is also affected https://gitlab.freedesktop.org/mesa/mesa/-/issues/4468#note_1107435

You're right, I followed a different guide and didn't know mupen64plus supported that flag. Issue still present though.

This also affects way more games than just Mario Kart. Super Mario 64 and Paper Mario have gray boxes around the cursors for example.

netthier avatar Oct 20 '21 05:10 netthier

Yes it's a bunch of games e.g. the mentioned Super Smash Bros. is also affected. Looks like all "sprites" with transparency aren't actually transparent but black.

@gonetz maybe you've got any idea what could be the underlaying problem?

SupervisedThinking avatar Oct 20 '21 09:10 SupervisedThinking

The issue seems to occur only in game not using the apitrace replay.

gouchi avatar Jan 04 '22 13:01 gouchi

I wonder if smth in the init process changed?

m4xw avatar Jan 04 '22 13:01 m4xw

Could try yeeting https://github.com/libretro/mupen64plus-libretro-nx/blob/develop/GLideN64/src/Graphics/OpenGLContext/mupen64plus/mupen64plus_DisplayWindow.cpp#L79-L81 and check for a change in behaviour Thats there since ages tho

m4xw avatar Jan 04 '22 13:01 m4xw

I've tested it yesterday with mesa 22.0-dev and the bug is still there, works still fine with panfrost & lima on G52 / Mali 450 I'll give it a try later but have to rebuild images first.

SupervisedThinking avatar Jan 04 '22 18:01 SupervisedThinking

@m4xw I've tested

--- /GLideN64/src/Graphics/OpenGLContext/mupen64plus/mupen64plus_DisplayWindow.cpp
+++ /GLideN64/src/Graphics/OpenGLContext/mupen64plus/mupen64plus_DisplayWindow.cpp
@@ -76,10 +76,6 @@
 	_getDisplaySize();
 	_setBufferSize();
 
-#ifdef EGL
-	eglInitialize(eglGetDisplay(EGL_DEFAULT_DISPLAY), nullptr, nullptr);
-#endif // EGL
-
 	LOG(LOG_VERBOSE, "[GlideN64]: Create setting videomode %dx%d", m_screenWidth, m_screenHeight);
 	return true;
 }

but it doesn't changed the visual artifacts

SupervisedThinking avatar Mar 07 '22 16:03 SupervisedThinking