diff options
author | Craig Donner <cdonner@google.com> | 2016-06-03 17:54:25 -0700 |
---|---|---|
committer | Craig Donner <cdonner@google.com> | 2016-06-03 17:58:10 -0700 |
commit | b40504ac541dbc0718884319a7269d7791ac5c35 (patch) | |
tree | dee62060f227bfabf45128caf435122d5a3d8745 | |
parent | b2dcc3a1220ea5ef6acb5a63659da3c34b1a295a (diff) | |
download | native-b40504ac541dbc0718884319a7269d7791ac5c35.tar.gz |
Allow setting alpha to 0 when creating native client buffers.
Note that RGBA sizes are checked later in the function anyway, so there was no
reason to disallow 0, but it did preclude setting alpha to 0 for 565 buffers.
Fixes: 29126799
Change-Id: Iba11649976221ab385227fc022ae74b14c342203
-rw-r--r-- | opengl/libs/EGL/eglApi.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp index 00bfc24d16..24394a9815 100644 --- a/opengl/libs/EGL/eglApi.cpp +++ b/opengl/libs/EGL/eglApi.cpp @@ -1794,9 +1794,9 @@ EGLClientBuffer eglCreateNativeClientBufferANDROID(const EGLint *attrib_list) uint32_t blue_size = 0; uint32_t alpha_size = 0; -#define GET_POSITIVE_VALUE(case_name, target) \ +#define GET_NONNEGATIVE_VALUE(case_name, target) \ case case_name: \ - if (value > 0) { \ + if (value >= 0) { \ target = value; \ } else { \ return setError(EGL_BAD_PARAMETER, (EGLClientBuffer)0); \ @@ -1808,12 +1808,12 @@ EGLClientBuffer eglCreateNativeClientBufferANDROID(const EGLint *attrib_list) GLint attr = *attrib_list++; GLint value = *attrib_list++; switch (attr) { - GET_POSITIVE_VALUE(EGL_WIDTH, width); - GET_POSITIVE_VALUE(EGL_HEIGHT, height); - GET_POSITIVE_VALUE(EGL_RED_SIZE, red_size); - GET_POSITIVE_VALUE(EGL_GREEN_SIZE, green_size); - GET_POSITIVE_VALUE(EGL_BLUE_SIZE, blue_size); - GET_POSITIVE_VALUE(EGL_ALPHA_SIZE, alpha_size); + GET_NONNEGATIVE_VALUE(EGL_WIDTH, width); + GET_NONNEGATIVE_VALUE(EGL_HEIGHT, height); + GET_NONNEGATIVE_VALUE(EGL_RED_SIZE, red_size); + GET_NONNEGATIVE_VALUE(EGL_GREEN_SIZE, green_size); + GET_NONNEGATIVE_VALUE(EGL_BLUE_SIZE, blue_size); + GET_NONNEGATIVE_VALUE(EGL_ALPHA_SIZE, alpha_size); case EGL_NATIVE_BUFFER_USAGE_ANDROID: if (value & EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID) { usage |= GRALLOC_USAGE_PROTECTED; @@ -1836,7 +1836,7 @@ EGLClientBuffer eglCreateNativeClientBufferANDROID(const EGLint *attrib_list) } } } -#undef GET_POSITIVE_VALUE +#undef GET_NONNEGATIVE_VALUE // Validate format. if (red_size == 8 && green_size == 8 && blue_size == 8) { |