1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/************************************************************************** 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com> 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2010-2011 LunarG, Inc. 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * All Rights Reserved. 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * copy of this software and associated documentation files (the 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * "Software"), to deal in the Software without restriction, including 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * without limitation the rights to use, copy, modify, merge, publish, 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * distribute, sub license, and/or sell copies of the Software, and to 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * permit persons to whom the Software is furnished to do so, subject to 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the following conditions: 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice (including the 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * next paragraph) shall be included in all copies or substantial portions 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * of the Software. 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * DEALINGS IN THE SOFTWARE. 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org **************************************************************************/ 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGLCONFIG_INCLUDED 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGLCONFIG_INCLUDED 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <assert.h> 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stddef.h> 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "egltypedefs.h" 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* update _eglValidationTable and _eglOffsetOfConfig before updating this 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * struct */ 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct _egl_config 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _EGLDisplay *Display; 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* core */ 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint BufferSize; 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint AlphaSize; 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint BlueSize; 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint GreenSize; 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint RedSize; 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint DepthSize; 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint StencilSize; 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint ConfigCaveat; 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint ConfigID; 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint Level; 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MaxPbufferHeight; 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MaxPbufferPixels; 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MaxPbufferWidth; 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint NativeRenderable; 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint NativeVisualID; 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint NativeVisualType; 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint Samples; 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint SampleBuffers; 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint SurfaceType; 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint TransparentType; 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint TransparentBlueValue; 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint TransparentGreenValue; 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint TransparentRedValue; 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint BindToTextureRGB; 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint BindToTextureRGBA; 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MinSwapInterval; 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MaxSwapInterval; 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint LuminanceSize; 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint AlphaMaskSize; 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint ColorBufferType; 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint RenderableType; 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint MatchNativePixmap; 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint Conformant; 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* extensions */ 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint YInvertedNOK; 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Map an EGL attribute enum to the offset of the member in _EGLConfig. 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE EGLint 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglOffsetOfConfig(EGLint attr) 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch (attr) { 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define ATTRIB_MAP(attr, memb) case attr: return offsetof(_EGLConfig, memb) 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* core */ 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_BUFFER_SIZE, BufferSize); 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_ALPHA_SIZE, AlphaSize); 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_BLUE_SIZE, BlueSize); 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_GREEN_SIZE, GreenSize); 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_RED_SIZE, RedSize); 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_DEPTH_SIZE, DepthSize); 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_STENCIL_SIZE, StencilSize); 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_CONFIG_CAVEAT, ConfigCaveat); 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_CONFIG_ID, ConfigID); 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_LEVEL, Level); 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MAX_PBUFFER_HEIGHT, MaxPbufferHeight); 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MAX_PBUFFER_PIXELS, MaxPbufferPixels); 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MAX_PBUFFER_WIDTH, MaxPbufferWidth); 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_NATIVE_RENDERABLE, NativeRenderable); 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_NATIVE_VISUAL_ID, NativeVisualID); 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_NATIVE_VISUAL_TYPE, NativeVisualType); 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_SAMPLES, Samples); 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_SAMPLE_BUFFERS, SampleBuffers); 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_SURFACE_TYPE, SurfaceType); 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_TRANSPARENT_TYPE, TransparentType); 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_TRANSPARENT_BLUE_VALUE, TransparentBlueValue); 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_TRANSPARENT_GREEN_VALUE, TransparentGreenValue); 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_TRANSPARENT_RED_VALUE, TransparentRedValue); 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_BIND_TO_TEXTURE_RGB, BindToTextureRGB); 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_BIND_TO_TEXTURE_RGBA, BindToTextureRGBA); 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MIN_SWAP_INTERVAL, MinSwapInterval); 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MAX_SWAP_INTERVAL, MaxSwapInterval); 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_LUMINANCE_SIZE, LuminanceSize); 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_ALPHA_MASK_SIZE, AlphaMaskSize); 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_COLOR_BUFFER_TYPE, ColorBufferType); 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_RENDERABLE_TYPE, RenderableType); 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_MATCH_NATIVE_PIXMAP, MatchNativePixmap); 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_CONFORMANT, Conformant); 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* extensions */ 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ATTRIB_MAP(EGL_Y_INVERTED_NOK, YInvertedNOK); 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#undef ATTRIB_MAP 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return -1; 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Update a config for a given key. 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Note that a valid key is not necessarily a valid attribute. There are gaps 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * in the attribute enums. The separation is to catch application errors. 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Drivers should never set a key that is an invalid attribute. 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE void 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglSetConfigKey(_EGLConfig *conf, EGLint key, EGLint val) 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint offset = _eglOffsetOfConfig(key); 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(offset >= 0); 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *((EGLint *) ((char *) conf + offset)) = val; 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Return the value for a given key. 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE EGLint 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglGetConfigKey(const _EGLConfig *conf, EGLint key) 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint offset = _eglOffsetOfConfig(key); 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(offset >= 0); 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return *((EGLint *) ((char *) conf + offset)); 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC void 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglInitConfig(_EGLConfig *config, _EGLDisplay *dpy, EGLint id); 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLConfig 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglLinkConfig(_EGLConfig *conf); 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern _EGLConfig * 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglLookupConfig(EGLConfig config, _EGLDisplay *dpy); 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Return the handle of a linked config. 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE EGLConfig 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglGetConfigHandle(_EGLConfig *conf) 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return (EGLConfig) conf; 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLBoolean 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglValidateConfig(const _EGLConfig *conf, EGLBoolean for_matching); 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLBoolean 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglMatchConfig(const _EGLConfig *conf, const _EGLConfig *criteria); 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLBoolean 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglParseConfigAttribList(_EGLConfig *conf, _EGLDisplay *dpy, 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const EGLint *attrib_list); 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLint 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglCompareConfigs(const _EGLConfig *conf1, const _EGLConfig *conf2, 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const _EGLConfig *criteria, EGLBoolean compare_id); 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC EGLBoolean 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglFilterConfigArray(_EGLArray *array, EGLConfig *configs, 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint config_size, EGLint *num_configs, 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLBoolean (*match)(const _EGLConfig *, void *), 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint (*compare)(const _EGLConfig *, const _EGLConfig *, 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void *), 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void *filter_data); 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern EGLBoolean 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglChooseConfig(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern EGLBoolean 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglGetConfigAttrib(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, EGLint attribute, EGLint *value); 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern EGLBoolean 223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_eglGetConfigs(_EGLDriver *drv, _EGLDisplay *dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGLCONFIG_INCLUDED */ 227