[PR #1121] OES_geometry_shader and OES_copy_image support #336

Closed
opened 2026-01-29 19:07:27 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/stenzek/duckstation/pull/1121

State: closed
Merged: Yes


MESA is a little bit strange in that it incrementally exposes GL extensions before it reaches conformance for the particular GL versions. Eg, pi4 has several ES 3.2 extensions, but not all, so it's only ES 3.1 compliant. see:
OES_copy_image
OES_geometry_shader

This PR exposes the above two extensions, suppressing those warnings and (I hope?) permitting those code paths. However I'm not 100% sure what I've done is correct, and how to verify these extensions are working correctly. My test game (tekken 3) seems to run ok, and the warnings are no longer present.

I also think that something similar could be done for shader_cache support, maybe via the check here: https://github.com/stenzek/duckstation/blob/master/src/common/gl/shader_cache.cpp#L63 - GL_NUM_PROGRAM_BINARY_FORMATS_OES - but not sure about that one.

**Original Pull Request:** https://github.com/stenzek/duckstation/pull/1121 **State:** closed **Merged:** Yes --- MESA is a little bit strange in that it incrementally exposes GL extensions before it reaches conformance for the particular GL versions. Eg, pi4 has several ES 3.2 extensions, but not all, so it's only ES 3.1 compliant. see: [OES_copy_image](https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt#L280) [OES_geometry_shader](https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt#L283) This PR exposes the above two extensions, suppressing those warnings and (I hope?) permitting those code paths. However I'm not 100% sure what I've done is correct, and how to verify these extensions are working correctly. My test game (tekken 3) seems to run ok, and the warnings are no longer present. I also think that something similar could be done for shader_cache support, maybe via the check here: https://github.com/stenzek/duckstation/blob/master/src/common/gl/shader_cache.cpp#L63 - `GL_NUM_PROGRAM_BINARY_FORMATS_OES` - but not sure about that one.
claunia added the pull-request label 2026-01-29 19:07:27 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/duckstation#336