-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
Undefined symbols for OES suffixed #8
Comments
Managed by the same directive, also |
Hi, glBlendEquationOES is an OpenGLES 1 extension. Currently angle doesn't support this GLES1 extension. Though glBlendEquation is available as core function for GLES2 and above. Is your project using GLES1? Could you try to migrate it to use GLES2 and above? I could try to add glBlendEquationOES extension to GLES1 backend, however, GLES1 is not main focus at this moment. For glLabelObjectEXT, this is just a debug extension, I can easily implement it if needed. But for now, you can just add |
Alternatively though I haven’t tried myself. Could you try to define those OES functions to be non OES equivalents. For example, |
My project relies on Probably a patch that disables the usage of these symbols on iOS should work. I will keep you updated. I also noticed some other symbols ( |
These Apple's EAGL symbols have been replaced by MGL symbols provided by MetalANGLE's MGLKit.
Do you have any sample projects using sdl2 currently? So that I can try to demonstrate the porting code myself. |
Understood. I just wrote a WIP PR for the porting I'm on right now (kivy/kivy-ios#448). It probably needs no changes or nothing special on our framework side. All the edits will probably be on the |
FYI, I have added some guides for porting Apple's |
Alternatively, you can switch to use SDL's EGL backend instead of iOS's native EAGL backend. angle implements EGL 1.5 API, so it can work with SDL's EGL backend out of the box, you don't need to modify SDL in this case, or there might some little changes (such as the franework path if I presume correctly). In this case, just needs to pass an iOS's |
The guide you added It's very helpful! My first thought was to edit https://github.com/spurious/SDL-mirror/blob/master/src/video/uikit/SDL_uikitopengles.m and https://github.com/spurious/SDL-mirror/blob/master/src/video/uikit/SDL_uikitopenglview.m in order to get the same thing running w/ MGLKit without making any change on our side. I managed to get something working last weekend, but the view is reporting a size of 0x0 😞 I will continue to dig into this during the next weekend.
Basically, you're suggesting to create a MetalView via |
I meant you can pass I can also try to write some |
I surely left something bad while doing some testing, but I just pushed my last weekend work on a separate branch: |
@misl6 Do you have an active GL context when you call GL_GetDrawableSize? SDL2 always reports 0x0 on UIKit if there's no context. |
@misl6 I think I know why it returned 0x0. It was because In your case the I have a fix 88bcc5ec for this early zero size problem. Thanks for the actual use case, it is very helpful for me. It will be mentioned in the doc. |
I had some time while waiting for a build and I tried the latest changes you made yesterday. Unfortunately seems that I still have some issues:
P.S: I did some cleanup + edits on my Will continue to work on it when I have some free time, meanwhile I hope it's something helpful. |
@misl6, I downloaded your repo and tried to test it. Did you encounter the errors when running the SDL's I have made some modifications in SDL's Anw, I tested SDL's |
OK, I know why there is unusual multisample surface creation pattern in the SDL's sample app. Basically inside I have made a UIKit_GL_MakeCurrent's change in the SDL fork as an example, you might take a look. Here is SDL's |
I'm testing it over our framework (https://github.com/kivy/kivy). The On our side, I'm pretty sure, that We're OpenGLES2 compliant, but I think that the code definitely needs some checks. We're surely covering some special case only for Apple, and probably some code needs to be migrated. I will keep you posted, is on my schedule for the weekend. |
I'm back! Unfortunately, I had to disable mipmapping, cause, when calling
|
Great to know. Is it possible to upload your demo app at some point so that I may take a look at what has gone wrong. |
I'm using the "Touchtracer" example in our framework demo folder (https://github.com/kivy/kivy). Unfortunately there are a lot of things to build via the custom toolchain, but feel free to ping me on |
I run the touchtracer demo app. Didn't get any crash. I don't think glGenerateMipmap is disabled in my build. Which device you used to test? |
Wow, thanks to you, I noticed that |
"Execution of the command buffer was aborted due to an error during execution.." fixed in latest master version. |
Both devices I tested on have the A10 Fusion chip, so it confirms that the fix was needed for iOS GPU family 3 and below as I can see from your code. I'm going to do a full rebuild + rebasing of the PR in order to test it, but you got it certainly fixed. |
First of all, thank you very much for this project, could save a lot of opensource softwares and frameworks in the near future from Apple's OpenGLES-geddon!
I've started to migrate a Open Source framework for
iOS
fromOpenGLES
toMetalANGLE
, and at this time is gone quite smooth.Unfortunately, some symbols seems to be undefined for me, starting from the
-OES
ones:_glBlendEquationOES
_glBlendEquationSeparateOES
_glBlendFuncSeparateOES
I've seen that the
-OES
functions seems to be managed by theGL_GLEXT_PROTOTYPES
.The text was updated successfully, but these errors were encountered: