summaryrefslogtreecommitdiff
path: root/src/egl/main/eglconfig.h
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2009-09-25 23:24:03 +0800
committerBrian Paul <brianp@vmware.com>2009-09-29 08:10:47 -0600
commit95cdd697e7e72cec1d0fe79c59a8ba7b8cef8571 (patch)
tree6257e1b853f80a502cb5b902df80759181ed8ef8 /src/egl/main/eglconfig.h
parent358c5a8fd1d518930c3e87316a2c743a661ac553 (diff)
egl: Rework configuration management.
This mainly implements the algorithms for configuration selection and sorting, described in the spec. User errors should also be correctly detected and reported. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Diffstat (limited to 'src/egl/main/eglconfig.h')
-rw-r--r--src/egl/main/eglconfig.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h
index b07632a92e..e09d58980d 100644
--- a/src/egl/main/eglconfig.h
+++ b/src/egl/main/eglconfig.h
@@ -108,7 +108,27 @@ _eglAddConfig(_EGLDisplay *display, _EGLConfig *config);
extern EGLBoolean
-_eglParseConfigAttribs(_EGLConfig *config, const EGLint *attrib_list);
+_eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching);
+
+
+extern EGLBoolean
+_eglMatchConfig(const _EGLConfig *conf, const _EGLConfig *criteria);
+
+
+extern EGLBoolean
+_eglParseConfigAttribList(_EGLConfig *conf, const EGLint *attrib_list);
+
+
+extern EGLint
+_eglCompareConfigs(const _EGLConfig *conf1, const _EGLConfig *conf2,
+ const _EGLConfig *criteria, EGLBoolean compare_id);
+
+
+extern void
+_eglSortConfigs(const _EGLConfig **configs, EGLint count,
+ EGLint (*compare)(const _EGLConfig *, const _EGLConfig *,
+ void *),
+ void *priv_data);
extern EGLBoolean