summaryrefslogtreecommitdiffstats
path: root/opengl/libagl
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-10-25 15:51:24 -0700
committerMathias Agopian <mathias@google.com>2010-10-25 15:51:24 -0700
commitd8e350bc96c3f170d3016989b249174e65c1a661 (patch)
tree3373c8d89e8db995e516fdbd13f49480655827b6 /opengl/libagl
parent457bed2bc6561dd67429dde238453fee8602fa9b (diff)
downloadframeworks_base-d8e350bc96c3f170d3016989b249174e65c1a661.zip
frameworks_base-d8e350bc96c3f170d3016989b249174e65c1a661.tar.gz
frameworks_base-d8e350bc96c3f170d3016989b249174e65c1a661.tar.bz2
fix eglChooseConfig() for special attributes.
affects software renderer (emu) only. per EGL spec: If EGL_MAX_PBUFFER_WIDTH, EGL_MAX_PBUFFER_HEIGHT, EGL_MAX_PBUFFER_PIXELS, or EGL_NATIVE_VISUAL_ID are speciļ¬ed in attrib list, then they are ignored Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
Diffstat (limited to 'opengl/libagl')
-rw-r--r--opengl/libagl/egl.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp
index ba33e17..662a1fa 100644
--- a/opengl/libagl/egl.cpp
+++ b/opengl/libagl/egl.cpp
@@ -833,6 +833,9 @@ struct config_management_t {
static bool mask(GLint reqValue, GLint confValue) {
return (confValue & reqValue) == reqValue;
}
+ static bool ignore(GLint reqValue, GLint confValue) {
+ return true;
+ }
};
// ----------------------------------------------------------------------------
@@ -1060,11 +1063,11 @@ static config_management_t const gConfigManagement[] = {
{ EGL_CONFIG_CAVEAT, config_management_t::exact },
{ EGL_CONFIG_ID, config_management_t::exact },
{ EGL_LEVEL, config_management_t::exact },
- { EGL_MAX_PBUFFER_HEIGHT, config_management_t::exact },
- { EGL_MAX_PBUFFER_PIXELS, config_management_t::exact },
- { EGL_MAX_PBUFFER_WIDTH, config_management_t::exact },
+ { EGL_MAX_PBUFFER_HEIGHT, config_management_t::ignore },
+ { EGL_MAX_PBUFFER_PIXELS, config_management_t::ignore },
+ { EGL_MAX_PBUFFER_WIDTH, config_management_t::ignore },
{ EGL_NATIVE_RENDERABLE, config_management_t::exact },
- { EGL_NATIVE_VISUAL_ID, config_management_t::exact },
+ { EGL_NATIVE_VISUAL_ID, config_management_t::ignore },
{ EGL_NATIVE_VISUAL_TYPE, config_management_t::exact },
{ EGL_SAMPLES, config_management_t::exact },
{ EGL_SAMPLE_BUFFERS, config_management_t::exact },