Forum Xamarin.Android


The Xamarin Forums have officially moved to the new Microsoft Q&A experience. Microsoft Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

To create new threads and ask questions head over to Microsoft Q&A for .NET and get involved today.

Cannot create an OpenGL ES 3.0 context. Is this a bug?

RosenIlievRosenIliev USMember
edited December 2016 in Xamarin.Android

Hey guys, first post here.

I'm building for Android 5.0.
I've put in my AndroidGameView class in CreateFramebuffer()
GLContextVersion = GLContextVersion.Gles3_0; //tried with ContextRenderingApi = GLVersion.ES3; as well
My shaders begin with #version 300 es
Even updated the AndroidManifest with<uses-feature android:glEsVersion="0x00030000" />

And sure in the Debug output I get "(32238): Requested context : GLES 3.0",
which then is followed by "attempting to load: 'GLESv2'" (?!? why v2 and not v3)
Finally the important part, compiling the shaders throws 'something something not allowed in ES 2.0 '
If I 'fix' it sure enough it compiles and runs on my device, but doesnt on others. But the code is valid ES 3.0 and I need features that are available only in 3.0

My device has Android 5.0 and a tool and the internet reports it supporting OpenGL ES 3.1
Same for the other devices that the shaders do not run on, like Samsung Galaxy J7.

This can be reproduced if you get the GLTriangle30 sample and in the shader do an ES 3.0 thing like 1+0.0f implicit type conversion.

Can you help me?

Greatly appreciated.

Sign In or Register to comment.