OSDN Git Service

Allow both RENDER and TEXTURE flags when creating native client buffers.
authorCraig Donner <cdonner@google.com>
Fri, 9 Dec 2016 23:34:56 +0000 (15:34 -0800)
committerCraig Donner <cdonner@google.com>
Sat, 10 Dec 2016 00:31:01 +0000 (16:31 -0800)
Bug: 33057441
Change-Id: I64ebf6bb5cb534d7f67a9338ebac4bf23a47d607

opengl/libs/EGL/eglApi.cpp
opengl/specs/EGL_ANDROID_create_native_client_buffer.txt

index f41e6e2..4a07648 100644 (file)
@@ -1848,12 +1848,6 @@ EGLClientBuffer eglCreateNativeClientBufferANDROID(const EGLint *attrib_list)
                     if (value & EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID) {
                         usage |= GRALLOC_USAGE_HW_TEXTURE;
                     }
-                    // The buffer must be used for either a texture or a
-                    // renderbuffer.
-                    if ((value & EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID) &&
-                        (value & EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID)) {
-                        return setError(EGL_BAD_PARAMETER, (EGLClientBuffer)0);
-                    }
                     break;
                 default:
                     return setError(EGL_BAD_PARAMETER, (EGLClientBuffer)0);
index a6fae80..51c6c61 100644 (file)
@@ -124,12 +124,10 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
         desirable) do not route the entire composition to the external sink.
 
         EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID: The buffer will be
-        used to create a renderbuffer. This flag must not be set if
-        EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID is set.
+        used to create a color-renderable texture.
 
         EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID: The buffer will be used to
-        create a texture. This flag must not be set if
-        EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID is set.
+        create a filterable texture.
 
     Errors
 
@@ -149,11 +147,6 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
          with the value of EGL_FORMAT, the error EGL_BAD_PARAMETER is
          Generated.
 
-       * If both the EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID and
-         EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID are set in the value of
-         EGL_NATIVE_BUFFER_USAGE_ANDROID, the error EGL_BAD_PARAMETER is
-         Generated."
-
 Issues
 
     1. Should this extension define what combinations of formats and usage flags