Project

General

Profile

Emulator Issues #11138

Custom Texture Crash

Added by buvk almost 3 years ago. Updated almost 3 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-7690

Description

I am attempting to use Project M Legacy TE v2.0 in the latest version of Dolphin (5.0-7578 as of right now) with the included custom textures. The custom Stage Banners that are included cause the game to close when they are loaded.

Converting these textures from DDS to PNG resolves the issue.

The issue also does not occur in the version of Dolphin that is shipped with Project M Legacy TE v2.0.

History

#1 Updated by JosJuice almost 3 years ago

  • Relates to maintainability set to No
  • Easy set to No
  • Relates to performance set to No
  • Relates to usability set to No
  • Regression set to No
  • Issue type set to Bug
  • Project changed from Infrastructure to Emulator
  • Tracker changed from Issue to Emulator Issues
  • Operating system N/A added

#2 Updated by buvk almost 3 years ago

No crashes using 5.0-3489
Crashing starts w/ 5.0-3506

Graphics backend: Direct3D 11

Does not crash using OpenGL or Vulkan

#3 Updated by JosJuice almost 3 years ago

Preloading all the textures included with Legacy TE 2.0 (using unmodded SSBB) doesn't cause any crashes for me. Do I have to do some additional step before it will crash, like going to the part of Legacy TE where the textures are used?

#4 Updated by buvk almost 3 years ago

JosJuice wrote:

Preloading all the textures included with Legacy TE 2.0 (using unmodded SSBB) doesn't cause any crashes for me. Do I have to do some additional step before it will crash, like going to the part of Legacy TE where the textures are used?

Place the attached file in User\Load\Textures\RSBE01
Use 5.0-3506 or newer.
Set graphics backend to Direct3D 11.
Launch vanilla Brawl (I'm using v1.01)
Go to the stage select screen, and highlight Battlefield (top left). The game should crash.

#5 Updated by JosJuice almost 3 years ago

  • Assignee set to Stenzek

Okay, thanks. The game crashes for me now. That texture doesn't seem to be included in Legacy TE 2.0 (at least not in the download I got), but Dolphin does crash if I manually put that texture into the Load folder.

#6 Updated by buvk almost 3 years ago

JosJuice wrote:

Okay, thanks. The game crashes for me now. That texture doesn't seem to be included in Legacy TE 2.0 (at least not in the download I got), but Dolphin does crash if I manually put that texture into the Load folder.

It's included, however, it's called tex1_312x112_0f983edfc94df06d_14.dds. I just renamed it so that it would replace the file for Battlefield in vanilla. In any case, lots of the stage banner DDS files included in Legacy TE 2.0 will cause the game to crash. I haven't bothered testing if they all do though.

#7 Updated by Stenzek almost 3 years ago

  • Status changed from New to Working as intended

Your texture is actually invalid. For compressed textures to be loaded in D3D11, the width/height of the first mip level must be a multiple of the block size (4). The other backends are more lax about this requirement.

I've opened a PR which will prevent Dolphin from loading these textures, and log an error instead. The author of this texture should either resize the texture to be a multiple of the block size, or leave the texture uncompressed.

edit: we could've just decompressed these textures when loading, but since we've dropped SOIL, this is no longer possible without including a DDS decoder in Dolphin.

#8 Updated by JosJuice almost 3 years ago

  • Status changed from Working as intended to Fix pending

I'd like to leave this issue open until the textures no longer make the game crash.

https://github.com/dolphin-emu/dolphin/pull/6941

#9 Updated by Stenzek almost 3 years ago

Sure, fine with me.

#10 Updated by JosJuice almost 3 years ago

  • Fixed in set to 5.0-7690
  • Status changed from Fix pending to Fixed

Also available in: Atom PDF