Project

General

Profile

Actions

Emulator Issues #12040

closed

Dolphin Android crashes on savestate when using Vulkan (AbstractTextureFormat assert fails)

Added by meteoorkip over 4 years ago. Updated over 4 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Android
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
5.0-10707
Fixed in:
5.0-12078

Description

Game Name?

Seemingly any game. Tested with:

Pokémon Colosseum (PAL)
Mario Kart: Double Dash!! (PAL)
Beyblade VForce (PAL)
The Legend of Zelda: The Wind Waker (USA)

Game ID? (right click the game in the game list, Properties, Info tab)

In the above order:

GC6P01
GM4P01
GBTP70
GZLE01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

In the above order:

2be2607ae4826cbc77efb4ef4ada6385
d9a2e9c73f4be1a0456734445402d35d
5b3df8a487cf85f51ac1292fa0e992fe
d8e4d45af2032a081a0f446384e9261b

What's the problem? Describe what went wrong.

When saving or loading a savestate on Android, Dolphin will freeze and stop responding.

In logcat, the following error appears:

org.dolphinemu.dolphinemu.debug E/Dolphin: [NativeLibrary] Alert: An error occurred.
    
      Line: 648
      File: ../../../../../../Core/VideoCommon/RenderBase.cpp
    
    Ignore and continue?

This line refers to the assert statement in the following code:

void Renderer::ScaleTexture(AbstractFramebuffer* dst_framebuffer,
                            const MathUtil::Rectangle<int>& dst_rect,
                            const AbstractTexture* src_texture,
                            const MathUtil::Rectangle<int>& src_rect)
{
  ASSERT(dst_framebuffer->GetColorFormat() == AbstractTextureFormat::RGBA8);

When inspecting the dst_framebuffer the color format is R32F instead of RGBA8, causing the assert to fail.

I have commented out the assert and recompiled Dolphin. This fixes the issue. However, since this assert was probably put there for a reason and I'm not familiar enough with Dolphin to locate the root cause I have decided to submit an issue instead of a pull request.

What steps will reproduce the problem?

  1. Open Dolphin on Android
  2. Enable Vulkan video backend
  3. Enable savestates
  4. Load one of the mentioned games
  5. Save or load a savestate

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, 5.0-11830.

Is the issue present in the latest stable version?

No stable Android version available.

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

The last working version is 5.0-10697. The first broken version is 5.0-10707.It has the following desription:

Merge pull request #6321 from stenzek/efb-savestates

Support saving EFB and texture cache in save states

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

N/A

What are your PC specifications? (CPU, GPU, Operating System, more)

Nokia 8 TA-1012, Snapdragon 835, Android 9 (1 January 2020 security patch)

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)


Related issues 1 (0 open1 closed)

Has duplicate Emulator - Emulator Issues #11825: [Android] Emulation hangs when app loses focusDuplicate

Actions
Actions #1

Updated by JosJuice over 4 years ago

  • Status changed from New to Accepted
  • Operating system Android added
  • Operating system deleted (N/A)
Actions #2

Updated by JosJuice over 4 years ago

Actions #3

Updated by Stenzek over 4 years ago

Sorry for taking so long to look at this. Should be fixed by https://github.com/dolphin-emu/dolphin/pull/8827

Actions #4

Updated by Miksel12 over 4 years ago

The pull request has been merged.

Actions #5

Updated by JosJuice over 4 years ago

  • Status changed from Accepted to Fixed
  • Fixed in set to 5.0-12078
Actions #6

Updated by JosJuice over 4 years ago

  • Regression start set to 5.0-10707
Actions

Also available in: Atom PDF