libretro / libretro/RetroArch

[WiiU] [REQ] Support for xBGR 1555 framebuffer

Open
#15,855 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

First and foremost consider this:

  • Only RetroArch bugs should be filed here. Not core bugs or game bugs
  • This is not a forum or a help section, this is strictly developer oriented

Description

The WiiU Retroarch port needs xBGR 1555 framebuffer support for the PS1 Core to perform fullspeed, The WiiSX Emulator has an optimised way to convert that using hardware but RetroArch does not support that pixel format for the framebuffer, so it's converted in software to 16bpp, that is then used by the WiiU-specific display code which right now cripples performance.
So ideally RetroArch would support xBGR 1555, so that the WiiU-specific display code could use the same optimized routine as WiiSX.
This is how its done on WiiSX:
https://github.com/emukidid/pcsxgc/blob/cmake-unai/Gamecube/gc_plugin.c#L439

Although this seems like a Core issue the frambuffer stuff from what I understand is done Retroarch side.

Expected behavior

The Core Should run Fullspeed

Actual behavior

The Core is slow due to the lack of xBGR 1555 framebuffer

Steps to reproduce the bug

.....................

Bisect Results

....................

Version/Commit

You can find this information under Information/System Information

  • RetroArch: All
Environment information
  • OS: WiiU
  • Compiler:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the WiiSX conversion routine in Gamecube/gc_plugin.c around line 439 with RetroArch's WiiU-specific framebuffer and display path. Trace where the framebuffer pixel format is selected and determine the integration points needed for xBGR 1555 support; done means the PS1 core can use the format without the software conversion and reach full speed on WiiU.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.