diff options
author | Mathias Agopian <mathias@google.com> | 2010-10-25 15:51:24 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2010-10-25 15:51:24 -0700 |
commit | 639716736f5d87b64a43a20f39f37dee6bd98806 (patch) | |
tree | 08760c807312d246260a391f203373c98f20094a /opengl/libagl | |
parent | 38e5c8ef89065ee3dfd7721d20df8c061f219168 (diff) | |
download | frameworks_native-639716736f5d87b64a43a20f39f37dee6bd98806.zip frameworks_native-639716736f5d87b64a43a20f39f37dee6bd98806.tar.gz frameworks_native-639716736f5d87b64a43a20f39f37dee6bd98806.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.cpp | 11 |
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 }, |