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 | d8e350bc96c3f170d3016989b249174e65c1a661 (patch) | |
tree | 3373c8d89e8db995e516fdbd13f49480655827b6 /opengl/libagl | |
parent | 457bed2bc6561dd67429dde238453fee8602fa9b (diff) | |
download | frameworks_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.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 }, |