Android 5.0 not supporting samplerExternalOES? - fragment-shader

I have had a fragment shader working for long time on every phone I tried. After Android 5.0 upgrade is out, neither phone could run the app.
Through debugging, I see that the app crashes at GLES20.glLinkProgram(program)
I see the following error after compiling the shader, which only happens when running Android 5.0
E/Adreno-ES20﹕ : Invalid texture format! Returning error!
E/Adreno-ES20﹕ : Framebuffer color attachment incomplete. Returning GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT!
What I have in my shader is:
#extension GL_OES_EGL_image_external : require
// Image texture.
uniform samplerExternalOES sTexture;
precision mediump float;
. . .
Has anybody seen this issue before?

Some docs:
https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt
Because of these restrictions, it is possible to
bind EGLImages which have internal formats not otherwise supported by
OpenGL ES. For example some implementations may allow EGLImages with
planar or interleaved YUV data to be GLES texture target siblings. It is
up to the implementation exactly what formats are accepted.
Sounds like maybe the accepted formats changed? I'd check your format and see if support was dropped for it, or if it's a bug.

Ok, so after Android 6.0 update, this problem disappeared.
So, for Android 4.x it works, 5 it doesn't work, and 6.0 it works. I am calling this Android 5.0 issue.

Related

Aframe VR : Eyeoffset Settings

This SCREENSHOT gets loaded in my Oneplus 6 phone and is creating problem with the Stereoscopic vision, no one is able to create focus with such a high offset between left & right eyes.
Can anyone help me out in setting the eyeoffset parameters, since i haven't been able to figure them out neither on Aframe.io documentation nor Github
Or is there something that i can do from THREE.js Camera
The parameters for OnePlus 6 (A6000) are missing from the webvr-polyfill device database. You can fork the webvr-polyfill and database, add your device (you need to know dpi and bezel width) and see if the problem is solved in the examples. A-Frame will pick it up when we bump the polyfill version on next release. In the meantime you can do your own A-Frame build pointing to your webvr-polyfill fork.

Automatic Height longer works on ItemTemplate since 6.2.0 SDK and more

I have a small problem with the itemtemplate since the update of the SDK 6.2.0 as well as the following SDK ...
before, with the parameter "Ti.UI.SIZE" the cell automatically adapted in height according to the contents.
Since the update, the cell takes the height of the phone screen (equivalent to a "Ti.UI.FILL")
Do you know how to get around the problem?
thank you very much
This was a bug in SDK 6.2.X which was fixed in SDK 6.3.0
https://jira.appcelerator.org/browse/TIMOB-25258

Sample cairo applications to test cairo-gles backend in 1.12.14

I was able to successfully port, cross compile and run the cairo gears
application in gles backend, on my embedded system target.
http://people.linaro.org/~afrantzis/cairogears-0~git20100719.2b01100+gles2.tar.gz
The ported samples trap, comp, text and shadow run well in cairo1.12.3
and 1.12.4.
But I face problem in running the same in 1.12.14.
I could not run the texture related samples like comp, text, shadow.
Trap plays well but the gradient could not be displayed in the gradient sample.
I use gles backend and converting all image surfaces I load from png
file to gl surface.
Let me know if there is something that should be done for the
texture+gradient samples to work in 1.12.14.
thanks
Sundara raghavan
The problem was because of the need to convert the GL_BGRA,the internal image format of cairo , to GL_RGBA for loading in to GL textures (which were GL_RGBA by default). I solved it by applying an existing patch which uses BGRA GL texture and hence avoids conversion. This was possible because my hardware is capable of both reading as well as creating bgra textures.
The Patch was found here:
http://lists.freedesktop.org/archives/cairo/2013-February/024038.html

OpenGL template changes Xcode 4.5

I'm currently attempting to learn how to program in OpenGL in iOS. Turns out the book that I'm reading is made for Xcode 3 (Learning iOS Game Programming) and there's a huge leap in integrating Open GL between Xcode v3 and v4.5 with getting rid of the separation of OpenGL v1 and v2, the OpenGL library and getting rid of the old template. I think it would really help me get a starting foot if I could look at the original OpenGL template (the one with the 2D square moving up and down) translated over to the new standard OpenGL template, instead of seeing the 3 dimensional squares, so I can see what's translated to what. I have no idea why they changed the view (to show off possibilities?) but it makes it extremely hard to cross reference to know what should go where and what's what compared to the older template. Does anyone know a good way to tackle this or better yet, has the old template been translated?
The template that is included in xcode 4.5 uses openGL es 2. It shows 2 approaches. The first one is by using OpenGL ES 2.0 natively, shaders and everything that people are used to. The other is by using the special apple framework (GLKit). This one is made to ease the leap between OpenGL 1 and 2. (The transition between fixed and programable pipeline). My suggestion is to change completely your sources. Focus completely on OpenGL ES 2.0 by using other internet sources.
This link here explains the basics using the new template:
http://www.raywenderlich.com/5223/beginning-opengl-es-2-0-with-glkit-part-1

hd images not working

In simulation and on device, there is something that happen with my cocos2d which its strange.
I have xcode 4.2, running on simulation ios5 and have cocos2d v1.0.1 .
The app is working great, when all images in HD mode(double size),but without the -hd
Then when i have tried to change all images from image.png to image-hd.png, he cant find the image anymore.
I have to say that after i added the -hd ,and before i have cleaned the cache it worked.
After the cache was clean, it stopped.
The HD is enabled in my delegate, and it worked in the past as well.
he somehow cant except anymore the HD images.
any idea ??
thanks.
This was something that drove me crazy when I updated to v1.0.1. I spent hours trying to understand why it would work sometimes and not other times between projects. Basically all you need to do is make sure that you include the different images named properly in your project. You can't have just the image-hd.png in your project alone or it will fail. You have to include both the image.png and the image-hd.png in your project or it will error as you described. Once you have both or if you're doing both iPhone and iPad, include all 4 types. (image.png, image-hd.png, image-ipad.png, and image-ipadhd.png)
Then in your code only reference the image.png and v1.0.1 will do the rest.