flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.29k stars 161 forks source link

flycast-2.3/core/rend/gles/gltex.cpp:33:34: error: ‘GL_RGBA8’ was not declared in this scope #1470

Closed amverweij closed 3 months ago

amverweij commented 3 months ago

Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.

Platform / OS / Hardware: Libretro / Gentoo / RPi4B Github hash: The flycast 2.3 release

Hardware: RPi4B

Description of the Issue I'm trying to compile the libretro core for KMS/DRM, with -DUSE_GLES2. This results in the following compilation error: /var/tmp/portage/games-emulation/flycast-libretro-2.3/work/flycast-2.3/core/rend/gles/gltex.cpp:33:34: error: ‘GL_RGBA8’ was not declared in this scope; did you mean ‘GL_RGBA4’? 33 | internalFormat = GL_RGBA8; | ^~~~~~~~ | GL_RGBA4 /var/tmp/portage/games-emulation/flycast-libretro-2.3/work/flycast-2.3/core/rend/gles/gltex.cpp:39:34: error: ‘GL_R8’ was not declared in this scope 39 | internalFormat = GL_R8; | ^~~~~

It seems that before #1379, references to GL_RGBA4 and GL_R8 were behind #if !defined(GLES2).

Debugging Steps Tested

Logs Gathered


Please paste the contents of the log / logs here
You may leave this field blank if you have none.

Screenshots

(Replace this line with any issue screenshots)

flyinghead commented 3 months ago

Should be fixed on the master branch

amverweij commented 3 months ago

With this change it compiles again. Will test tomorrow.

amverweij commented 3 months ago

When I tell retroarch to use the gl driver, the screen stays black. The vulkan driver works and gets 60fps on native resolution for Soulcalibur.

I only applied the patch that fixed compilation on top of 2.3.

flyinghead commented 3 months ago

Can you get some logs?

amverweij commented 3 months ago

I enabled debug logging in retroarch and configured the gl driver. Here is the output: retroarch.log.zip

Seems like I'm running at 960x720 instead of native.

flyinghead commented 3 months ago

Why are you compiling the core with -DUSE_GLES2 since the Pi4 GPU supports OpenGL ES 3.1?

[INFO] [GL]: Version: OpenGL ES 3.1 Mesa 23.1.0.

Only -DUSE_GLES should be needed in this case.

Not sure what's going on but this might result in a mix up of GLES 2.0 and GLES 3.0 features being used.

amverweij commented 3 months ago

Will retry with -DGLES and report back.

Op 29 mrt 2024 10:40, om 10:40, flyinghead @.***> schreef:

Why are you compiling the core with -DUSE_GLES2 since the Pi4 GPU supports OpenGL ES 3.1?

[INFO] [GL]: Version: OpenGL ES 3.1 Mesa 23.1.0.

Only -DUSE_GLES should be needed in this case.

Not sure what's going on but this might result in a mix up of GLES 2.0 and GLES 3.0 features being used.

-- Reply to this email directly or view it on GitHub: https://github.com/flyinghead/flycast/issues/1470#issuecomment-2026953384 You are receiving this because you authored the thread.

Message ID: @.***>

amverweij commented 3 months ago

I can confirm that compiling with -DGLES results in a core that works as expected. That means I have a fully working setup now. Thank you!