8232154: Update Mesa 3-D Headers to version 19.2.1
Reviewed-by: serb, kcr
This commit is contained in:
parent
30a4739efa
commit
0f2b9390ff
@ -1,12 +1,9 @@
|
|||||||
## Mesa 3-D Graphics Library v5.0
|
## Mesa 3-D Graphics Library v19.2.1
|
||||||
|
|
||||||
### Mesa License
|
### Mesa License
|
||||||
<pre>
|
|
||||||
|
|
||||||
Mesa 3-D graphics library
|
```
|
||||||
Version: 5.0
|
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||||
|
|
||||||
Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
copy of this software and associated documentation files (the "Software"),
|
copy of this software and associated documentation files (the "Software"),
|
||||||
@ -21,8 +18,117 @@ in all copies or substantial portions of the Software.
|
|||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
</pre>
|
Attention, Contributors
|
||||||
|
|
||||||
|
When contributing to the Mesa project you must agree to the licensing terms
|
||||||
|
of the component to which you're contributing.
|
||||||
|
The following section lists the primary components of the Mesa distribution
|
||||||
|
and their respective licenses.
|
||||||
|
Mesa Component Licenses
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Component Location License
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Main Mesa code src/mesa/ MIT
|
||||||
|
Device drivers src/mesa/drivers/* MIT, generally
|
||||||
|
|
||||||
|
Gallium code src/gallium/ MIT
|
||||||
|
|
||||||
|
Ext headers GL/glext.h Khronos
|
||||||
|
GL/glxext.h Khronos
|
||||||
|
GL/wglext.h Khronos
|
||||||
|
KHR/khrplatform.h Khronos
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
|
||||||
|
----
|
||||||
|
include/GL/gl.h :
|
||||||
|
|
||||||
|
|
||||||
|
Mesa 3-D graphics library
|
||||||
|
|
||||||
|
Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||||
|
Copyright (C) 2009 VMware, Inc. All Rights Reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
|
||||||
|
----
|
||||||
|
include/GL/glext.h
|
||||||
|
include/GL/glxext.h
|
||||||
|
include/GL/wglxext.h :
|
||||||
|
|
||||||
|
|
||||||
|
Copyright (c) 2013 - 2018 The Khronos Group Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and/or associated documentation files (the
|
||||||
|
"Materials"), to deal in the Materials without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Materials.
|
||||||
|
|
||||||
|
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
|
||||||
|
----
|
||||||
|
include/KHR/khrplatform.h :
|
||||||
|
|
||||||
|
Copyright (c) 2008 - 2018 The Khronos Group Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and/or associated documentation files (the
|
||||||
|
"Materials"), to deal in the Materials without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Materials.
|
||||||
|
|
||||||
|
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
|
||||||
|
```
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
## Khronos Group OpenGL Headers v2.1
|
|
||||||
|
|
||||||
### Khronos Group License
|
|
||||||
<pre>
|
|
||||||
|
|
||||||
Copyright (c) 2007 The Khronos Group Inc.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of this software and/or associated documentation files (the
|
|
||||||
"Materials"), to deal in the Materials without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Materials, and to
|
|
||||||
permit persons to whom the Materials are furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included
|
|
||||||
in all copies or substantial portions of the Materials.
|
|
||||||
|
|
||||||
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
||||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
||||||
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
|
||||||
|
|
||||||
</pre>
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,321 @@
|
|||||||
|
/*
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __khrplatform_h_
|
||||||
|
#define __khrplatform_h_
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This file is available under and governed by the GNU General Public
|
||||||
|
** License version 2 only, as published by the Free Software Foundation.
|
||||||
|
** However, the following notice accompanied the original version of this
|
||||||
|
** file:
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
** copy of this software and/or associated documentation files (the
|
||||||
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
** the following conditions:
|
||||||
|
**
|
||||||
|
** The above copyright notice and this permission notice shall be included
|
||||||
|
** in all copies or substantial portions of the Materials.
|
||||||
|
**
|
||||||
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Khronos platform-specific types and definitions.
|
||||||
|
*
|
||||||
|
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||||
|
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||||
|
* The last semantic modification to khrplatform.h was at commit ID:
|
||||||
|
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||||
|
*
|
||||||
|
* Adopters may modify this file to suit their platform. Adopters are
|
||||||
|
* encouraged to submit platform specific modifications to the Khronos
|
||||||
|
* group so that they can be included in future versions of this file.
|
||||||
|
* Please submit changes by filing pull requests or issues on
|
||||||
|
* the EGL Registry repository linked above.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* See the Implementer's Guidelines for information about where this file
|
||||||
|
* should be located on your system and for more details of its use:
|
||||||
|
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||||
|
*
|
||||||
|
* This file should be included as
|
||||||
|
* #include <KHR/khrplatform.h>
|
||||||
|
* by Khronos client API header files that use its types and defines.
|
||||||
|
*
|
||||||
|
* The types in khrplatform.h should only be used to define API-specific types.
|
||||||
|
*
|
||||||
|
* Types defined in khrplatform.h:
|
||||||
|
* khronos_int8_t signed 8 bit
|
||||||
|
* khronos_uint8_t unsigned 8 bit
|
||||||
|
* khronos_int16_t signed 16 bit
|
||||||
|
* khronos_uint16_t unsigned 16 bit
|
||||||
|
* khronos_int32_t signed 32 bit
|
||||||
|
* khronos_uint32_t unsigned 32 bit
|
||||||
|
* khronos_int64_t signed 64 bit
|
||||||
|
* khronos_uint64_t unsigned 64 bit
|
||||||
|
* khronos_intptr_t signed same number of bits as a pointer
|
||||||
|
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||||
|
* khronos_ssize_t signed size
|
||||||
|
* khronos_usize_t unsigned size
|
||||||
|
* khronos_float_t signed 32 bit floating point
|
||||||
|
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||||
|
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||||
|
* nanoseconds
|
||||||
|
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||||
|
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||||
|
* only be used as a base type when a client API's boolean type is
|
||||||
|
* an enum. Client APIs which use an integer or other type for
|
||||||
|
* booleans cannot use this as the base type for their boolean.
|
||||||
|
*
|
||||||
|
* Tokens defined in khrplatform.h:
|
||||||
|
*
|
||||||
|
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||||
|
*
|
||||||
|
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||||
|
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||||
|
*
|
||||||
|
* Calling convention macros defined in this file:
|
||||||
|
* KHRONOS_APICALL
|
||||||
|
* KHRONOS_APIENTRY
|
||||||
|
* KHRONOS_APIATTRIBUTES
|
||||||
|
*
|
||||||
|
* These may be used in function prototypes as:
|
||||||
|
*
|
||||||
|
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||||
|
* int arg1,
|
||||||
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||||
|
# define KHRONOS_STATIC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APICALL
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This precedes the return type of the function in the function prototype.
|
||||||
|
*/
|
||||||
|
#if defined(KHRONOS_STATIC)
|
||||||
|
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||||
|
* header compatible with static linking. */
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
# define KHRONOS_APICALL __declspec(dllimport)
|
||||||
|
#elif defined (__SYMBIAN32__)
|
||||||
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
|
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|
||||||
|
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
|
||||||
|
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
|
||||||
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
|
#else
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APIENTRY
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This follows the return type of the function and precedes the function
|
||||||
|
* name in the function prototype.
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(KHRONOS_STATIC)
|
||||||
|
/* Win32 but not WinCE */
|
||||||
|
# define KHRONOS_APIENTRY __stdcall
|
||||||
|
#else
|
||||||
|
# define KHRONOS_APIENTRY
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APIATTRIBUTES
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This follows the closing parenthesis of the function prototype arguments.
|
||||||
|
*/
|
||||||
|
#if defined (__ARMCC_2__)
|
||||||
|
#define KHRONOS_APIATTRIBUTES __softfp
|
||||||
|
#else
|
||||||
|
#define KHRONOS_APIATTRIBUTES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* basic type definitions
|
||||||
|
*-----------------------------------------------------------------------*/
|
||||||
|
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using <stdint.h>
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif defined(__VMS ) || defined(__sgi)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using <inttypes.h>
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Win32
|
||||||
|
*/
|
||||||
|
typedef __int32 khronos_int32_t;
|
||||||
|
typedef unsigned __int32 khronos_uint32_t;
|
||||||
|
typedef __int64 khronos_int64_t;
|
||||||
|
typedef unsigned __int64 khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif defined(__sun__) || defined(__digital__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sun or Digital
|
||||||
|
*/
|
||||||
|
typedef int khronos_int32_t;
|
||||||
|
typedef unsigned int khronos_uint32_t;
|
||||||
|
#if defined(__arch64__) || defined(_LP64)
|
||||||
|
typedef long int khronos_int64_t;
|
||||||
|
typedef unsigned long int khronos_uint64_t;
|
||||||
|
#else
|
||||||
|
typedef long long int khronos_int64_t;
|
||||||
|
typedef unsigned long long int khronos_uint64_t;
|
||||||
|
#endif /* __arch64__ */
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hypothetical platform with no float or int64 support
|
||||||
|
*/
|
||||||
|
typedef int khronos_int32_t;
|
||||||
|
typedef unsigned int khronos_uint32_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 0
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 0
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generic fallback
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Types that are (so far) the same on all platforms
|
||||||
|
*/
|
||||||
|
typedef signed char khronos_int8_t;
|
||||||
|
typedef unsigned char khronos_uint8_t;
|
||||||
|
typedef signed short int khronos_int16_t;
|
||||||
|
typedef unsigned short int khronos_uint16_t;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||||
|
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||||
|
* to be the only LLP64 architecture in current use.
|
||||||
|
*/
|
||||||
|
#ifdef _WIN64
|
||||||
|
typedef signed long long int khronos_intptr_t;
|
||||||
|
typedef unsigned long long int khronos_uintptr_t;
|
||||||
|
typedef signed long long int khronos_ssize_t;
|
||||||
|
typedef unsigned long long int khronos_usize_t;
|
||||||
|
#else
|
||||||
|
typedef signed long int khronos_intptr_t;
|
||||||
|
typedef unsigned long int khronos_uintptr_t;
|
||||||
|
typedef signed long int khronos_ssize_t;
|
||||||
|
typedef unsigned long int khronos_usize_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if KHRONOS_SUPPORT_FLOAT
|
||||||
|
/*
|
||||||
|
* Float type
|
||||||
|
*/
|
||||||
|
typedef float khronos_float_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if KHRONOS_SUPPORT_INT64
|
||||||
|
/* Time types
|
||||||
|
*
|
||||||
|
* These types can be used to represent a time interval in nanoseconds or
|
||||||
|
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||||
|
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||||
|
* time the system booted). The Unadjusted System Time is an unsigned
|
||||||
|
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||||
|
* may be either signed or unsigned.
|
||||||
|
*/
|
||||||
|
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||||
|
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dummy value used to pad enum types to 32 bits.
|
||||||
|
*/
|
||||||
|
#ifndef KHRONOS_MAX_ENUM
|
||||||
|
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enumerated boolean type
|
||||||
|
*
|
||||||
|
* Values other than zero should be considered to be true. Therefore
|
||||||
|
* comparisons should not be made against KHRONOS_TRUE.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
KHRONOS_FALSE = 0,
|
||||||
|
KHRONOS_TRUE = 1,
|
||||||
|
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||||
|
} khronos_boolean_enum_t;
|
||||||
|
|
||||||
|
#endif /* __khrplatform_h_ */
|
@ -22,7 +22,6 @@
|
|||||||
* questions.
|
* questions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: glx.h,v 1.38 2002/10/14 13:52:27 brianp Exp $ */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file is available under and governed by the GNU General Public
|
* This file is available under and governed by the GNU General Public
|
||||||
@ -31,9 +30,8 @@
|
|||||||
* file:
|
* file:
|
||||||
*
|
*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 4.1
|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@ -48,9 +46,10 @@
|
|||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -58,31 +57,15 @@
|
|||||||
#define GLX_H
|
#define GLX_H
|
||||||
|
|
||||||
|
|
||||||
#ifdef __VMS
|
|
||||||
#include <GL/vms_x_fix.h>
|
|
||||||
# ifdef __cplusplus
|
|
||||||
/* VMS Xlib.h gives problems with C++.
|
|
||||||
* this avoids a bunch of trivial warnings */
|
|
||||||
#pragma message disable nosimpint
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
#ifdef __VMS
|
/* JDK modification of include path to be sure to pick up the correct file */
|
||||||
# ifdef __cplusplus
|
|
||||||
#pragma message enable nosimpint
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* modified for inclusion in Java 2D source tree */
|
|
||||||
/* #include <GL/gl.h> */
|
|
||||||
#include "J2D_GL/gl.h"
|
#include "J2D_GL/gl.h"
|
||||||
|
|
||||||
/*
|
|
||||||
#if defined(USE_MGL_NAMESPACE)
|
#if defined(USE_MGL_NAMESPACE)
|
||||||
#include <GL/glx_mangle.h>
|
#include "glx_mangle.h"
|
||||||
#endif
|
#endif
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@ -146,8 +129,6 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define GLX_CONFIG_CAVEAT 0x20
|
#define GLX_CONFIG_CAVEAT 0x20
|
||||||
#define GLX_DONT_CARE 0xFFFFFFFF
|
#define GLX_DONT_CARE 0xFFFFFFFF
|
||||||
#define GLX_SLOW_CONFIG 0x8001
|
|
||||||
#define GLX_NON_CONFORMANT_CONFIG 0x800D
|
|
||||||
#define GLX_X_VISUAL_TYPE 0x22
|
#define GLX_X_VISUAL_TYPE 0x22
|
||||||
#define GLX_TRANSPARENT_TYPE 0x23
|
#define GLX_TRANSPARENT_TYPE 0x23
|
||||||
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
|
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
|
||||||
@ -155,17 +136,6 @@ extern "C" {
|
|||||||
#define GLX_TRANSPARENT_GREEN_VALUE 0x26
|
#define GLX_TRANSPARENT_GREEN_VALUE 0x26
|
||||||
#define GLX_TRANSPARENT_BLUE_VALUE 0x27
|
#define GLX_TRANSPARENT_BLUE_VALUE 0x27
|
||||||
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
|
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
|
||||||
#define GLX_MAX_PBUFFER_WIDTH 0x8016
|
|
||||||
#define GLX_MAX_PBUFFER_HEIGHT 0x8017
|
|
||||||
#define GLX_MAX_PBUFFER_PIXELS 0x8018
|
|
||||||
#define GLX_PRESERVED_CONTENTS 0x801B
|
|
||||||
#define GLX_LARGEST_PBUFFER 0x801C
|
|
||||||
#define GLX_WIDTH 0x801D
|
|
||||||
#define GLX_HEIGHT 0x801E
|
|
||||||
#define GLX_EVENT_MASK 0x801F
|
|
||||||
#define GLX_DRAWABLE_TYPE 0x8010
|
|
||||||
#define GLX_FBCONFIG_ID 0x8013
|
|
||||||
#define GLX_VISUAL_ID 0x800B
|
|
||||||
#define GLX_WINDOW_BIT 0x00000001
|
#define GLX_WINDOW_BIT 0x00000001
|
||||||
#define GLX_PIXMAP_BIT 0x00000002
|
#define GLX_PIXMAP_BIT 0x00000002
|
||||||
#define GLX_PBUFFER_BIT 0x00000004
|
#define GLX_PBUFFER_BIT 0x00000004
|
||||||
@ -177,10 +147,8 @@ extern "C" {
|
|||||||
#define GLX_DEPTH_BUFFER_BIT 0x00000020
|
#define GLX_DEPTH_BUFFER_BIT 0x00000020
|
||||||
#define GLX_STENCIL_BUFFER_BIT 0x00000040
|
#define GLX_STENCIL_BUFFER_BIT 0x00000040
|
||||||
#define GLX_ACCUM_BUFFER_BIT 0x00000080
|
#define GLX_ACCUM_BUFFER_BIT 0x00000080
|
||||||
#define GLX_DRAWABLE_TYPE 0x8010
|
|
||||||
#define GLX_RENDER_TYPE 0x8011
|
|
||||||
#define GLX_X_RENDERABLE 0x8012
|
|
||||||
#define GLX_NONE 0x8000
|
#define GLX_NONE 0x8000
|
||||||
|
#define GLX_SLOW_CONFIG 0x8001
|
||||||
#define GLX_TRUE_COLOR 0x8002
|
#define GLX_TRUE_COLOR 0x8002
|
||||||
#define GLX_DIRECT_COLOR 0x8003
|
#define GLX_DIRECT_COLOR 0x8003
|
||||||
#define GLX_PSEUDO_COLOR 0x8004
|
#define GLX_PSEUDO_COLOR 0x8004
|
||||||
@ -189,28 +157,33 @@ extern "C" {
|
|||||||
#define GLX_STATIC_GRAY 0x8007
|
#define GLX_STATIC_GRAY 0x8007
|
||||||
#define GLX_TRANSPARENT_RGB 0x8008
|
#define GLX_TRANSPARENT_RGB 0x8008
|
||||||
#define GLX_TRANSPARENT_INDEX 0x8009
|
#define GLX_TRANSPARENT_INDEX 0x8009
|
||||||
|
#define GLX_VISUAL_ID 0x800B
|
||||||
|
#define GLX_SCREEN 0x800C
|
||||||
|
#define GLX_NON_CONFORMANT_CONFIG 0x800D
|
||||||
|
#define GLX_DRAWABLE_TYPE 0x8010
|
||||||
|
#define GLX_RENDER_TYPE 0x8011
|
||||||
|
#define GLX_X_RENDERABLE 0x8012
|
||||||
|
#define GLX_FBCONFIG_ID 0x8013
|
||||||
#define GLX_RGBA_TYPE 0x8014
|
#define GLX_RGBA_TYPE 0x8014
|
||||||
#define GLX_COLOR_INDEX_TYPE 0x8015
|
#define GLX_COLOR_INDEX_TYPE 0x8015
|
||||||
#define GLX_COLOR_INDEX_BIT 0x00000002
|
#define GLX_MAX_PBUFFER_WIDTH 0x8016
|
||||||
#define GLX_RGBA_BIT 0x00000001
|
#define GLX_MAX_PBUFFER_HEIGHT 0x8017
|
||||||
#define GLX_SCREEN 0x800C
|
#define GLX_MAX_PBUFFER_PIXELS 0x8018
|
||||||
#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
|
#define GLX_PRESERVED_CONTENTS 0x801B
|
||||||
|
#define GLX_LARGEST_PBUFFER 0x801C
|
||||||
|
#define GLX_WIDTH 0x801D
|
||||||
|
#define GLX_HEIGHT 0x801E
|
||||||
|
#define GLX_EVENT_MASK 0x801F
|
||||||
#define GLX_DAMAGED 0x8020
|
#define GLX_DAMAGED 0x8020
|
||||||
#define GLX_SAVED 0x8021
|
#define GLX_SAVED 0x8021
|
||||||
#define GLX_WINDOW 0x8022
|
#define GLX_WINDOW 0x8022
|
||||||
#define GLX_PBUFFER 0x8023
|
#define GLX_PBUFFER 0x8023
|
||||||
|
|
||||||
/**
|
|
||||||
* REMIND: these values are backwards from Sun's OpenGL headers, so we
|
|
||||||
* swap them here if building on Solaris/Sparc
|
|
||||||
*/
|
|
||||||
#ifdef __sparc
|
|
||||||
#define GLX_PBUFFER_HEIGHT 0x8041
|
|
||||||
#define GLX_PBUFFER_WIDTH 0x8040
|
|
||||||
#else /* __sparc */
|
|
||||||
#define GLX_PBUFFER_HEIGHT 0x8040
|
#define GLX_PBUFFER_HEIGHT 0x8040
|
||||||
#define GLX_PBUFFER_WIDTH 0x8041
|
#define GLX_PBUFFER_WIDTH 0x8041
|
||||||
#endif /* __sparc */
|
#define GLX_RGBA_BIT 0x00000001
|
||||||
|
#define GLX_COLOR_INDEX_BIT 0x00000002
|
||||||
|
#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLX 1.4 and later:
|
* GLX 1.4 and later:
|
||||||
@ -231,6 +204,16 @@ typedef XID GLXWindow;
|
|||||||
typedef XID GLXPbuffer;
|
typedef XID GLXPbuffer;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Events.
|
||||||
|
** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
|
||||||
|
** event - this helps initialization if the server supports the pbuffer
|
||||||
|
** extension and the client doesn't.
|
||||||
|
*/
|
||||||
|
#define GLX_PbufferClobber 0
|
||||||
|
#define GLX_BufferSwapComplete 1
|
||||||
|
|
||||||
|
#define __GLX_NUMBER_EVENTS 17
|
||||||
|
|
||||||
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
|
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
|
||||||
int *attribList );
|
int *attribList );
|
||||||
@ -335,151 +318,25 @@ extern void glXSelectEvent( Display *dpy, GLXDrawable drawable,
|
|||||||
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
|
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
|
||||||
unsigned long *mask );
|
unsigned long *mask );
|
||||||
|
|
||||||
|
/* GLX 1.3 function pointer typedefs */
|
||||||
/* GLX 1.4 and later */
|
typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
|
||||||
extern void (*glXGetProcAddress(const GLubyte *procname))();
|
typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
|
||||||
|
typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
|
||||||
|
typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
|
||||||
#ifndef GLX_GLXEXT_LEGACY
|
typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
|
||||||
|
typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
|
||||||
/* modified for inclusion in Java 2D source tree */
|
typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
|
||||||
/* #include <GL/glxext.h> */
|
typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
|
||||||
#include "J2D_GL/glxext.h"
|
typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
|
||||||
|
typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
|
||||||
#else
|
typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
|
||||||
|
typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
|
||||||
|
typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
|
||||||
/*
|
typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
|
||||||
* 28. GLX_EXT_visual_info extension
|
typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
|
||||||
*/
|
typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
|
||||||
#ifndef GLX_EXT_visual_info
|
typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
|
||||||
#define GLX_EXT_visual_info 1
|
typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
|
||||||
|
|
||||||
#define GLX_X_VISUAL_TYPE_EXT 0x22
|
|
||||||
#define GLX_TRANSPARENT_TYPE_EXT 0x23
|
|
||||||
#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
|
|
||||||
#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
|
|
||||||
#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
|
|
||||||
#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
|
|
||||||
#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
|
|
||||||
#define GLX_TRUE_COLOR_EXT 0x8002
|
|
||||||
#define GLX_DIRECT_COLOR_EXT 0x8003
|
|
||||||
#define GLX_PSEUDO_COLOR_EXT 0x8004
|
|
||||||
#define GLX_STATIC_COLOR_EXT 0x8005
|
|
||||||
#define GLX_GRAY_SCALE_EXT 0x8006
|
|
||||||
#define GLX_STATIC_GRAY_EXT 0x8007
|
|
||||||
#define GLX_NONE_EXT 0x8000
|
|
||||||
#define GLX_TRANSPARENT_RGB_EXT 0x8008
|
|
||||||
#define GLX_TRANSPARENT_INDEX_EXT 0x8009
|
|
||||||
|
|
||||||
#endif /* 28. GLX_EXT_visual_info extension */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 41. GLX_SGI_video_sync
|
|
||||||
*/
|
|
||||||
#ifndef GLX_SGI_video_sync
|
|
||||||
#define GLX_SGI_video_sync 1
|
|
||||||
|
|
||||||
extern int glXGetVideoSyncSGI(unsigned int *count);
|
|
||||||
extern int glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);
|
|
||||||
|
|
||||||
#endif /* GLX_SGI_video_sync */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 42. GLX_EXT_visual_rating
|
|
||||||
*/
|
|
||||||
#ifndef GLX_EXT_visual_rating
|
|
||||||
#define GLX_EXT_visual_rating 1
|
|
||||||
|
|
||||||
#define GLX_VISUAL_CAVEAT_EXT 0x20
|
|
||||||
/*#define GLX_NONE_EXT 0x8000*/
|
|
||||||
#define GLX_SLOW_VISUAL_EXT 0x8001
|
|
||||||
#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
|
|
||||||
|
|
||||||
#endif /* GLX_EXT_visual_rating */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 47. GLX_EXT_import_context
|
|
||||||
*/
|
|
||||||
#ifndef GLX_EXT_import_context
|
|
||||||
#define GLX_EXT_import_context 1
|
|
||||||
|
|
||||||
#define GLX_SHARE_CONTEXT_EXT 0x800A
|
|
||||||
#define GLX_VISUAL_ID_EXT 0x800B
|
|
||||||
#define GLX_SCREEN_EXT 0x800C
|
|
||||||
|
|
||||||
extern void glXFreeContextEXT(Display *dpy, GLXContext context);
|
|
||||||
|
|
||||||
extern GLXContextID glXGetContextIDEXT(const GLXContext context);
|
|
||||||
|
|
||||||
extern Display *glXGetCurrentDisplayEXT(void);
|
|
||||||
|
|
||||||
extern GLXContext glXImportContextEXT(Display *dpy, GLXContextID contextID);
|
|
||||||
|
|
||||||
extern int glXQueryContextInfoEXT(Display *dpy, GLXContext context,
|
|
||||||
int attribute,int *value);
|
|
||||||
|
|
||||||
#endif /* GLX_EXT_import_context */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 215. GLX_MESA_copy_sub_buffer
|
|
||||||
*/
|
|
||||||
#ifndef GLX_MESA_copy_sub_buffer
|
|
||||||
#define GLX_MESA_copy_sub_buffer 1
|
|
||||||
|
|
||||||
extern void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
|
|
||||||
int x, int y, int width, int height );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 216. GLX_MESA_pixmap_colormap
|
|
||||||
*/
|
|
||||||
#ifndef GLX_MESA_pixmap_colormap
|
|
||||||
#define GLX_MESA_pixmap_colormap 1
|
|
||||||
|
|
||||||
extern GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
|
|
||||||
Pixmap pixmap, Colormap cmap );
|
|
||||||
|
|
||||||
#endif /* GLX_MESA_pixmap_colormap */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 217. GLX_MESA_release_buffers
|
|
||||||
*/
|
|
||||||
#ifndef GLX_MESA_release_buffers
|
|
||||||
#define GLX_MESA_release_buffers 1
|
|
||||||
|
|
||||||
extern Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
|
|
||||||
|
|
||||||
#endif /* GLX_MESA_release_buffers */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 218. GLX_MESA_set_3dfx_mode
|
|
||||||
*/
|
|
||||||
#ifndef GLX_MESA_set_3dfx_mode
|
|
||||||
#define GLX_MESA_set_3dfx_mode 1
|
|
||||||
|
|
||||||
#define GLX_3DFX_WINDOW_MODE_MESA 0x1
|
|
||||||
#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
|
|
||||||
|
|
||||||
extern Bool glXSet3DfxModeMESA( int mode );
|
|
||||||
|
|
||||||
#endif /* GLX_MESA_set_3dfx_mode */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -488,12 +345,25 @@ extern Bool glXSet3DfxModeMESA( int mode );
|
|||||||
#ifndef GLX_ARB_get_proc_address
|
#ifndef GLX_ARB_get_proc_address
|
||||||
#define GLX_ARB_get_proc_address 1
|
#define GLX_ARB_get_proc_address 1
|
||||||
|
|
||||||
extern void (*glXGetProcAddressARB(const GLubyte *procName))();
|
typedef void (*__GLXextFuncPtr)(void);
|
||||||
|
extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
|
||||||
|
|
||||||
#endif /* GLX_ARB_get_proc_address */
|
#endif /* GLX_ARB_get_proc_address */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* GLX 1.4 and later */
|
||||||
|
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
|
||||||
|
|
||||||
|
/* GLX 1.4 function pointer typedefs */
|
||||||
|
typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef GLX_GLXEXT_LEGACY
|
||||||
|
|
||||||
|
/* JDK modification of include path to be sure to pick up the correct file */
|
||||||
|
#include "J2D_GL/glxext.h"
|
||||||
|
|
||||||
#endif /* GLX_GLXEXT_LEGACY */
|
#endif /* GLX_GLXEXT_LEGACY */
|
||||||
|
|
||||||
|
|
||||||
@ -516,20 +386,91 @@ typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
|
|||||||
#endif /* GLX_NV_vertex_array_range */
|
#endif /* GLX_NV_vertex_array_range */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ARB ?. GLX_ARB_render_texture
|
||||||
|
* XXX This was never finalized!
|
||||||
|
*/
|
||||||
|
#ifndef GLX_ARB_render_texture
|
||||||
|
#define GLX_ARB_render_texture 1
|
||||||
|
|
||||||
|
extern Bool glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
|
||||||
|
extern Bool glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
|
||||||
|
extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList);
|
||||||
|
|
||||||
|
#endif /* GLX_ARB_render_texture */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ???. GLX_MESA_agp_offset
|
* #?. GLX_MESA_swap_frame_usage
|
||||||
*/
|
*/
|
||||||
#ifndef GLX_MESA_agp_offset
|
#ifndef GLX_MESA_swap_frame_usage
|
||||||
#define GLX_MESA_agp_offset 1
|
#define GLX_MESA_swap_frame_usage 1
|
||||||
|
|
||||||
extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer);
|
extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage);
|
||||||
typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer);
|
extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
|
||||||
|
extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
|
||||||
|
extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
|
||||||
|
|
||||||
#endif /* GLX_MESA_agp_offset */
|
typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage);
|
||||||
|
typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
|
||||||
|
typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
|
||||||
|
typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
|
||||||
|
|
||||||
|
#endif /* GLX_MESA_swap_frame_usage */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* #?. GLX_MESA_swap_control
|
||||||
|
*/
|
||||||
|
#ifndef GLX_MESA_swap_control
|
||||||
|
#define GLX_MESA_swap_control 1
|
||||||
|
|
||||||
|
extern int glXSwapIntervalMESA(unsigned int interval);
|
||||||
|
extern int glXGetSwapIntervalMESA(void);
|
||||||
|
|
||||||
|
typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
|
||||||
|
typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
|
||||||
|
|
||||||
|
#endif /* GLX_MESA_swap_control */
|
||||||
|
|
||||||
|
|
||||||
|
/*** Should these go here, or in another header? */
|
||||||
|
/*
|
||||||
|
** GLX Events
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
int event_type; /* GLX_DAMAGED or GLX_SAVED */
|
||||||
|
int draw_type; /* GLX_WINDOW or GLX_PBUFFER */
|
||||||
|
unsigned long serial; /* # of last request processed by server */
|
||||||
|
Bool send_event; /* true if this came for SendEvent request */
|
||||||
|
Display *display; /* display the event was read from */
|
||||||
|
GLXDrawable drawable; /* XID of Drawable */
|
||||||
|
unsigned int buffer_mask; /* mask indicating which buffers are affected */
|
||||||
|
unsigned int aux_buffer; /* which aux buffer was affected */
|
||||||
|
int x, y;
|
||||||
|
int width, height;
|
||||||
|
int count; /* if nonzero, at least this many more */
|
||||||
|
} GLXPbufferClobberEvent;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int type;
|
||||||
|
unsigned long serial; /* # of last request processed by server */
|
||||||
|
Bool send_event; /* true if this came from a SendEvent request */
|
||||||
|
Display *display; /* Display the event was read from */
|
||||||
|
Drawable drawable; /* drawable on which event was requested in event mask */
|
||||||
|
int event_type;
|
||||||
|
int64_t ust;
|
||||||
|
int64_t msc;
|
||||||
|
int64_t sbc;
|
||||||
|
} GLXBufferSwapComplete;
|
||||||
|
|
||||||
|
typedef union __GLXEvent {
|
||||||
|
GLXPbufferClobberEvent glxpbufferclobber;
|
||||||
|
GLXBufferSwapComplete glxbufferswapcomplete;
|
||||||
|
long pad[24];
|
||||||
|
} GLXEvent;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user