egl.h revision fe6ee3f5e69572fe8ea90183b2d5de7d76eecca2
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef _EGL_H 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define _EGL_H 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** License Applicability. Except to the extent portions of this file are 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** made subject to an alternative license as permitted in the SGI Free 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Software License B, Version 1.0 (the "License"), the contents of this 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** file are subject only to the provisions of the License. You may not use 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** this file except in compliance with the License. You may obtain a copy 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** http://oss.sgi.com/projects/FreeB 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Note that, as provided in the License, the Software is distributed on an 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Original Code. The Original Code is: OpenGL Sample Implementation, 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Copyright in any portions created by third parties is as indicated 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** elsewhere herein. All Rights Reserved. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Additional Notice Provisions: The application programming interfaces 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** established by SGI in conjunction with the Original Code are The 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Window System(R) (Version 1.3), released October 19, 1998. This software 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** was created using the OpenGL(R) version 1.2.1 Sample Implementation 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)** published by SGI, but has not been independently verified as being 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)** compliant with the OpenGL(R) version 1.2.1 Specification. 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)*/ 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#if 0/*XXX TEMPORARY HACK*/ 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <GLES/gl.h> 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#else 41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <GL/gl.h> 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <GLES/egltypes.h> 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* XXX should go in eglext.h */ 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_OES_VERSION_1_0 1 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_OES_read_format 1 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_OES_compressed_paletted_texture 1 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define GL_PALETTE4_RGB8_OES 0x8B90 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE4_RGBA8_OES 0x8B91 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE4_RGBA4_OES 0x8B93 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define GL_PALETTE4_RGB5_A1_OES 0x8B94 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE8_RGB8_OES 0x8B95 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE8_RGBA8_OES 0x8B96 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE8_RGBA4_OES 0x8B98 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define GL_PALETTE8_RGB5_A1_OES 0x8B99 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* XXX */ 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 64eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch** Versioning and extensions 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)*/ 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_VERSION_1_0 1 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if 0 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_VERSION_1_1 1 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 71010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/* 72010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)** Boolean 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FALSE 0 75010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_TRUE 1 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 78010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)** Errors 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SUCCESS 0x3000 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NOT_INITIALIZED 0x3001 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_ACCESS 0x3002 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_ALLOC 0x3003 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_ATTRIBUTE 0x3004 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_CONFIG 0x3005 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_CONTEXT 0x3006 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_CURRENT_SURFACE 0x3007 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_DISPLAY 0x3008 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_MATCH 0x3009 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_NATIVE_PIXMAP 0x300A 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_NATIVE_WINDOW 0x300B 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_PARAMETER 0x300C 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BAD_SURFACE 0x300D 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_LOST 0x300E 955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* 0x300F - 0x301F reserved for additional errors. */ 965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Config attributes 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 100010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_BUFFER_SIZE 0x3020 101010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_ALPHA_SIZE 0x3021 102010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_BLUE_SIZE 0x3022 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GREEN_SIZE 0x3023 104010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_RED_SIZE 0x3024 105010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EGL_DEPTH_SIZE 0x3025 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_STENCIL_SIZE 0x3026 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONFIG_CAVEAT 0x3027 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONFIG_ID 0x3028 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_LEVEL 0x3029 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MAX_PBUFFER_HEIGHT 0x302A 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MAX_PBUFFER_PIXELS 0x302B 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MAX_PBUFFER_WIDTH 0x302C 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NATIVE_RENDERABLE 0x302D 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NATIVE_VISUAL_ID 0x302E 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NATIVE_VISUAL_TYPE 0x302F 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*#define EGL_PRESERVED_RESOURCES 0x3030*/ 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SAMPLES 0x3031 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SAMPLE_BUFFERS 0x3032 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SURFACE_TYPE 0x3033 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TRANSPARENT_TYPE 0x3034 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TRANSPARENT_RED_VALUE 0x3037 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NONE 0x3038 /* Also a config value */ 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BIND_TO_TEXTURE_RGB 0x3039 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BIND_TO_TEXTURE_RGBA 0x303A 1275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_MIN_SWAP_INTERVAL 0x303B 1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_MAX_SWAP_INTERVAL 0x303C 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Config values 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DONT_CARE ((EGLint) -1) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* " */ 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ 1385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_NO_TEXTURE 0x305C /* EGL_TEXTURE_FORMAT/TARGET value */ 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TEXTURE_RGB 0x305D /* EGL_TEXTURE_FORMAT value */ 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TEXTURE_RGBA 0x305E /* " */ 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TEXTURE_2D 0x305F /* EGL_TEXTURE_TARGET value */ 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Config attribute mask bits 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bit */ 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_PIXMAP_BIT 0x02 /* " */ 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_WINDOW_BIT 0x04 /* " */ 1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** String names 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_VENDOR 0x3053 /* eglQueryString target */ 1545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_VERSION 0x3054 /* " */ 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_EXTENSIONS 0x3055 /* " */ 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* 1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)** Surface attributes 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_HEIGHT 0x3056 1615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_WIDTH 0x3057 1625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_LARGEST_PBUFFER 0x3058 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TEXTURE_FORMAT 0x3080 /* For pbuffers bound as textures */ 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TEXTURE_TARGET 0x3081 /* " */ 1655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_MIPMAP_TEXTURE 0x3082 /* " */ 1665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_MIPMAP_LEVEL 0x3083 /* " */ 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* 1695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)** BindTexImage / ReleaseTexImage buffer target 1705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)*/ 1715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define EGL_BACK_BUFFER 0x3084 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Current surfaces 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRAW 0x3059 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_READ 0x305A 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Engines 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CORE_NATIVE_ENGINE 0x305B 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 0x305C-0x3FFFF reserved for future use */ 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Functions 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GLAPI EGLint APIENTRY eglGetError (void); 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GLAPI EGLDisplay APIENTRY eglGetDisplay (NativeDisplayType display); 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); 197868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglTerminate (EGLDisplay dpy); 198868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI const char * APIENTRY eglQueryString (EGLDisplay dpy, EGLint name); 199868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI void (* APIENTRY eglGetProcAddress (const char *procname))(); 200868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 201868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 202868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); 203868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); 204868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 205868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLSurface APIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, NativeWindowType window, const EGLint *attrib_list); 206868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLSurface APIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, NativePixmapType pixmap, const EGLint *attrib_list); 207868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLSurface APIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); 208868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GLAPI EGLBoolean APIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); 210 211/* EGL 1.1 render-to-texture APIs */ 212GLAPI EGLBoolean APIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); 213GLAPI EGLBoolean APIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); 214GLAPI EGLBoolean APIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); 215 216/* EGL 1.1 swap control API */ 217GLAPI EGLBoolean APIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); 218 219GLAPI EGLContext APIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list); 220GLAPI EGLBoolean APIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); 221GLAPI EGLBoolean APIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); 222GLAPI EGLContext APIENTRY eglGetCurrentContext (void); 223GLAPI EGLSurface APIENTRY eglGetCurrentSurface (EGLint readdraw); 224GLAPI EGLDisplay APIENTRY eglGetCurrentDisplay (void); 225GLAPI EGLBoolean APIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); 226 227GLAPI EGLBoolean APIENTRY eglWaitGL (void); 228GLAPI EGLBoolean APIENTRY eglWaitNative (EGLint engine); 229GLAPI EGLBoolean APIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface draw); 230GLAPI EGLBoolean APIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, NativePixmapType target); 231 232 233 234/* EGL_MESA_screen extension >>> PRELIMINARY <<< */ 235#ifndef EGL_MESA_screen_surface 236#define EGL_MESA_screen_surface 1 237 238#define EGL_BAD_SCREEN_MESA 0x4000 239#define EGL_BAD_MODE_MESA 0x4001 240#define EGL_SCREEN_COUNT_MESA 0x4002 241#define EGL_SCREEN_POSITION_MESA 0x4003 242#define EGL_MODE_ID_MESA 0x4004 243#define EGL_REFRESH_RATE_MESA 0x4005 244#define EGL_OPTIMAL_MODE_MESA 0x4006 245#define EGL_SCREEN_BIT_MESA 0x08 246 247GLAPI EGLBoolean APIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); 248GLAPI EGLBoolean APIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); 249GLAPI EGLBoolean APIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value); 250GLAPI EGLBoolean APIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens); 251GLAPI EGLSurface APIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); 252GLAPI EGLBoolean APIENTRY eglShowSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface); 253GLAPI EGLBoolean APIENTRY eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y); 254GLAPI EGLBoolean APIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value); 255GLAPI EGLBoolean APIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface); 256GLAPI EGLBoolean APIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode); 257 258#endif /* EGL_MESA_screen_surface */ 259 260 261 262 263 264 265 266 267#ifdef __cplusplus 268} 269#endif 270 271#endif /* _EGL_H */ 272