Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MESA UWP Integration #16285

Merged
merged 17 commits into from
Mar 2, 2024
Merged

MESA UWP Integration #16285

merged 17 commits into from
Mar 2, 2024

Conversation

aerisarn
Copy link
Contributor

Description

These modifications allow UWP build to work with a modified version of mesa Gallium d3d12 driver, available here https://github.com/aerisarn/mesa-uwp. This effectively leverages better dx12 capabilities to replace ANGLE builds and use nightly build version of OpenGL plugins instead of using separate versions build against OpenGL ES ANGLE dlls.
ANGLE profile is still available for devices which can't use MESA.

@hizzlekizzle
Copy link
Contributor

Exciting stuff!

@GABO1423
Copy link
Contributor

GABO1423 commented Feb 25, 2024

Exciting stuff!

This is why I closed the PR btw, this solution does not need cores to implement ANGLE/MESA themselves. So you can just get cores from the online updater, avoiding the problem altogether.

@LibretroAdmin
Copy link
Contributor

I think it's a good idea to have alternatives for ANGLE, regardless of whether we still use ANGLE on the cores.

@aerisarn
Copy link
Contributor Author

libretro-citra could work with MESA, however the current buildbot version is build with MSVC and doesn't work on XBOX due to dll dependencies. MINGW build however doesn't have the offending dlls

@LibretroAdmin
Copy link
Contributor

@GABO1423 So can we merge this or not? Also for whatever reason we can't seem to be able to DM you anymore on Discord, not sure what that is about.

@GABO1423
Copy link
Contributor

GABO1423 commented Mar 2, 2024

@GABO1423 So can we merge this or not? Also for whatever reason we can't seem to be able to DM you anymore on Discord, not sure what that is about.

I stopped using my Xbox for emulation a while ago, my small commit is the last UWP related thing I plan to do. According to people who have tested it, it's ready to be merged so that's good enough for me.

@LibretroAdmin
Copy link
Contributor

Alright.

@LibretroAdmin LibretroAdmin merged commit 8b1e4a1 into libretro:master Mar 2, 2024
26 checks passed
@GABO1423
Copy link
Contributor

GABO1423 commented Mar 2, 2024

Build error is not due to the code but an outdated key file, guess I'll do one last commit

Sunderland93 pushed a commit to Sunderland93/RetroArch that referenced this pull request Dec 26, 2024
* [WINRT] Enable logging on __WINRT__ and bypass verbosidy in debug

* [UWP] wrong configuration prevents GLES to compile, common functions defines GL symbols

* [UWP] configure project to allow OPENGL on default configuration and copy MESA DLLs into UWP release

* [UWP] add MESA headers

* [UWP] add MESA EGL.lib needed for GLES context. However HAVE_OPENGL is better as GL cores use desktop version, so this is left for reference and to make the solution build with HAVE_OPENGLES

* [UWP] UWP is missing some GDI function definitions, implemented into MESA Gallium

* [UWP] Configure Release project too

* [UWP] Add mesa alpha-2 release dlls

* [UWP] allow griffin and vide_driver to have an OPENGL context

* [UWP] allow wgl context to work with mesa under WINRT

* [UWP] BUG: have to modify height/width getters and align them to MESA because the screen resolution is not right in gl context. Pending further investigation

* [UWP] fix ANGLE build

* [UWP] remove duplicate import code.

* (UWP) Cleanup filters file

* MESA screen destroy fix and Yabasanshiro hack. Align to alpha-2-hack tag

---------

Co-authored-by: Gabriel Morazán <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants