Merge "Fix EGL image regressions in CTS dEQP" into pi-dev
diff --git a/system/GLESv1/gl.cpp b/system/GLESv1/gl.cpp
index 2020a72..6e07004 100644
--- a/system/GLESv1/gl.cpp
+++ b/system/GLESv1/gl.cpp
@@ -86,28 +86,32 @@
}
}
-void glEGLImageTargetRenderbufferStorageOES(void *self, GLenum target, GLeglImageOES image)
+void glEGLImageTargetRenderbufferStorageOES(void *self, GLenum target, GLeglImageOES img)
{
(void)self;
(void)target;
- DBG("glEGLImageTargetRenderbufferStorageOES v1 target=%#x image=%p",
- target, image);
+ DBG("glEGLImageTargetRenderbufferStorageOES v1 image=%p\n", img);
//TODO: check error - we don't have a way to set gl error
- android_native_buffer_t* native_buffer = ((EGLImage_t*)image)->native_buffer;
+ EGLImage_t *image = (EGLImage_t*)img;
- if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) {
- return;
+ if (image->target == EGL_NATIVE_BUFFER_ANDROID) {
+ android_native_buffer_t* native_buffer = ((EGLImage_t*)image)->native_buffer;
+
+ if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) {
+ return;
+ }
+
+ if (native_buffer->common.version != sizeof(android_native_buffer_t)) {
+ return;
+ }
+
+ DEFINE_AND_VALIDATE_HOST_CONNECTION();
+ rcEnc->rcBindRenderbuffer(rcEnc, ((cb_handle_t *)(native_buffer->handle))->hostHandle);
+ } else {
+ //TODO
}
- if (native_buffer->common.version != sizeof(android_native_buffer_t)) {
- return;
- }
-
- DEFINE_AND_VALIDATE_HOST_CONNECTION();
- rcEnc->rcBindRenderbuffer(rcEnc,
- ((cb_handle_t *)(native_buffer->handle))->hostHandle);
-
return;
}
diff --git a/system/GLESv2/gl2.cpp b/system/GLESv2/gl2.cpp
index 283bd95..331da78 100644
--- a/system/GLESv2/gl2.cpp
+++ b/system/GLESv2/gl2.cpp
@@ -88,26 +88,32 @@
}
}
-void glEGLImageTargetRenderbufferStorageOES(void *self, GLenum target, GLeglImageOES image)
+void glEGLImageTargetRenderbufferStorageOES(void *self, GLenum target, GLeglImageOES img)
{
(void)self;
(void)target;
- DBG("glEGLImageTargetRenderbufferStorageOES v2 image=%p\n", image);
+ DBG("glEGLImageTargetRenderbufferStorageOES v2 image=%p\n", img);
//TODO: check error - we don't have a way to set gl error
- android_native_buffer_t* native_buffer = ((EGLImage_t*)image)->native_buffer;
+ EGLImage_t *image = (EGLImage_t*)img;
- if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) {
- return;
+ if (image->target == EGL_NATIVE_BUFFER_ANDROID) {
+ android_native_buffer_t* native_buffer = ((EGLImage_t*)image)->native_buffer;
+
+ if (native_buffer->common.magic != ANDROID_NATIVE_BUFFER_MAGIC) {
+ return;
+ }
+
+ if (native_buffer->common.version != sizeof(android_native_buffer_t)) {
+ return;
+ }
+
+ DEFINE_AND_VALIDATE_HOST_CONNECTION();
+ rcEnc->rcBindRenderbuffer(rcEnc, ((cb_handle_t *)(native_buffer->handle))->hostHandle);
+ } else {
+ //TODO
}
- if (native_buffer->common.version != sizeof(android_native_buffer_t)) {
- return;
- }
-
- DEFINE_AND_VALIDATE_HOST_CONNECTION();
- rcEnc->rcBindRenderbuffer(rcEnc, ((cb_handle_t *)(native_buffer->handle))->hostHandle);
-
return;
}