summaryrefslogtreecommitdiffstats
path: root/src/egl/main/eglconfig.c
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2017-10-31 10:57:42 +0200
committerTapani Pälli <[email protected]>2017-11-13 12:40:26 +0200
commit41f7de477c68a5ae3fd8b086dfb4a8cc10a35c39 (patch)
treea5c97a1820b16fbf41e5358b1dd58b85045737f6 /src/egl/main/eglconfig.c
parent934b77f2fe8b0e40d21adcb2dfa484cbd6852b36 (diff)
egl: EXT_pixel_format_float plumbing
Patch adds support and capability to match with new surface attribute, component type. Currently no configs with floating point type are exposed. With this change, following dEQP test starts to pass: dEQP-EGL.functional.choose_config.color_component_type_ext.dont_care dEQP-EGL.functional.choose_config.color_component_type_ext.fixed dEQP-EGL.functional.choose_config.color_component_type_ext.float Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
Diffstat (limited to 'src/egl/main/eglconfig.c')
-rw-r--r--src/egl/main/eglconfig.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/egl/main/eglconfig.c b/src/egl/main/eglconfig.c
index f057b0bfe8c..2d3b3ddd908 100644
--- a/src/egl/main/eglconfig.c
+++ b/src/egl/main/eglconfig.c
@@ -68,6 +68,7 @@ _eglInitConfig(_EGLConfig *conf, _EGLDisplay *dpy, EGLint id)
conf->TransparentType = EGL_NONE;
conf->NativeVisualType = EGL_NONE;
conf->ColorBufferType = EGL_RGB_BUFFER;
+ conf->ComponentType = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
}
@@ -254,6 +255,9 @@ static const struct {
{ EGL_RECORDABLE_ANDROID, ATTRIB_TYPE_BOOLEAN,
ATTRIB_CRITERION_EXACT,
EGL_DONT_CARE },
+ { EGL_COLOR_COMPONENT_TYPE_EXT, ATTRIB_TYPE_ENUM,
+ ATTRIB_CRITERION_EXACT,
+ EGL_COLOR_COMPONENT_TYPE_FIXED_EXT },
};
@@ -316,6 +320,11 @@ _eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching)
if (val != EGL_RGB_BUFFER && val != EGL_LUMINANCE_BUFFER)
valid = EGL_FALSE;
break;
+ case EGL_COLOR_COMPONENT_TYPE_EXT:
+ if (val != EGL_COLOR_COMPONENT_TYPE_FIXED_EXT &&
+ val != EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT)
+ valid = EGL_FALSE;
+ break;
default:
assert(0);
break;