forked from KolibriOS/kolibrios
Mmesa: egl Mekefile
git-svn-id: svn://kolibrios.org@4379 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9048c15650
commit
74e3156491
70
contrib/sdk/sources/Mesa/Makefile
Normal file
70
contrib/sdk/sources/Mesa/Makefile
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
EGL = egl
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
|
||||||
|
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -O2 -march=i686 -msse2
|
||||||
|
CFLAGS_OPT+= -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe
|
||||||
|
CFLAGS_OPT+= -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields -flto
|
||||||
|
CFLAGS = -c $(CFLAGS_OPT)
|
||||||
|
|
||||||
|
LD = ld
|
||||||
|
LDFLAGS = -nostdlib,-shared,-s,--image-base,0,-T,../newlib/dll.lds,--out-implib,lib$(EGL).dll.a,-e,_DllStartup
|
||||||
|
|
||||||
|
STRIP = $(PREFIX)strip
|
||||||
|
|
||||||
|
INCLUDES= -I./include -I../libdrm -I../libdrm/include/drm -I./src/egl/main -I./src/gbm/backends/dri -I./src/gbm/main -I../newlib/include
|
||||||
|
|
||||||
|
LIBPATH:= -L../../lib
|
||||||
|
|
||||||
|
LIBS:= -ldll -ldrm.dll -lc.dll -lgcc
|
||||||
|
|
||||||
|
MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
|
||||||
|
MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.2\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
|
||||||
|
MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
|
||||||
|
MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
|
||||||
|
|
||||||
|
EGL_DEFS = -DHAVE_DRM_PLATFORM -D__unix__ -DMESA_EGL_NO_X11_HEADERS -D_EGL_BUILT_IN_DRIVER_DRI2
|
||||||
|
|
||||||
|
EGL_SRC = \
|
||||||
|
src/egl/drivers/dri2/egl_dri2.c \
|
||||||
|
src/egl/drivers/dri2/platform_drm.c \
|
||||||
|
src/egl/main/eglapi.c \
|
||||||
|
src/egl/main/eglarray.c \
|
||||||
|
src/egl/main/eglconfig.c \
|
||||||
|
src/egl/main/eglcontext.c \
|
||||||
|
src/egl/main/eglcurrent.c \
|
||||||
|
src/egl/main/egldisplay.c \
|
||||||
|
src/egl/main/egldriver.c \
|
||||||
|
src/egl/main/eglfallbacks.c \
|
||||||
|
src/egl/main/eglglobals.c \
|
||||||
|
src/egl/main/eglimage.c \
|
||||||
|
src/egl/main/egllog.c \
|
||||||
|
src/egl/main/eglmisc.c \
|
||||||
|
src/egl/main/eglmode.c \
|
||||||
|
src/egl/main/eglscreen.c \
|
||||||
|
src/egl/main/eglstring.c \
|
||||||
|
src/egl/main/eglsurface.c \
|
||||||
|
src/egl/main/eglsync.c \
|
||||||
|
src/gbm/backends/dri/gbm_dri.c \
|
||||||
|
src/gbm/main/backend.c \
|
||||||
|
src/gbm/main/gbm.c \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
EGL_OBJS = $(patsubst %.c, %.o, $(EGL_SRC))
|
||||||
|
|
||||||
|
# targets
|
||||||
|
|
||||||
|
all:$(EGL).dll
|
||||||
|
|
||||||
|
$(EGL).dll: $(EGL_OBJS) Makefile
|
||||||
|
$(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,$(LIBPATH),$(LDFLAGS) -o $@ egl.def $(EGL_OBJS) $(LIBS)
|
||||||
|
$(STRIP) $@
|
||||||
|
# sed -e "s/ @[^ ]*//" egl1.def > egl.def
|
||||||
|
mv -f $@ ../../bin
|
||||||
|
mv -f lib$(EGL).dll.a ../../lib
|
||||||
|
|
||||||
|
%.o : %.c Makefile
|
||||||
|
$(CC) $(CFLAGS) $(MESA_DEFS) $(EGL_DEFS) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
|
66
contrib/sdk/sources/Mesa/egl.def
Normal file
66
contrib/sdk/sources/Mesa/egl.def
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
EXPORTS
|
||||||
|
DllStartup
|
||||||
|
eglBindAPI
|
||||||
|
eglBindTexImage
|
||||||
|
eglBindWaylandDisplayWL
|
||||||
|
eglChooseConfig
|
||||||
|
eglChooseModeMESA
|
||||||
|
eglClientWaitSyncKHR
|
||||||
|
eglCopyBuffers
|
||||||
|
eglCopyContextMESA
|
||||||
|
eglCreateContext
|
||||||
|
eglCreateDRMImageMESA
|
||||||
|
eglCreateImageKHR
|
||||||
|
eglCreatePbufferFromClientBuffer
|
||||||
|
eglCreatePbufferSurface
|
||||||
|
eglCreatePixmapSurface
|
||||||
|
eglCreateScreenSurfaceMESA
|
||||||
|
eglCreateSyncKHR
|
||||||
|
eglCreateWindowSurface
|
||||||
|
eglDestroyContext
|
||||||
|
eglDestroyImageKHR
|
||||||
|
eglDestroySurface
|
||||||
|
eglDestroySyncKHR
|
||||||
|
eglExportDRMImageMESA
|
||||||
|
eglGetConfigAttrib
|
||||||
|
eglGetConfigs
|
||||||
|
eglGetCurrentContext
|
||||||
|
eglGetCurrentDisplay
|
||||||
|
eglGetCurrentSurface
|
||||||
|
eglGetDRMDisplayMESA
|
||||||
|
eglGetDisplay
|
||||||
|
eglGetError
|
||||||
|
eglGetModeAttribMESA
|
||||||
|
eglGetModesMESA
|
||||||
|
eglGetProcAddress
|
||||||
|
eglGetScreensMESA
|
||||||
|
eglGetSyncAttribKHR
|
||||||
|
eglInitialize
|
||||||
|
eglMakeCurrent
|
||||||
|
eglPostSubBufferNV
|
||||||
|
eglQueryAPI
|
||||||
|
eglQueryContext
|
||||||
|
eglQueryModeStringMESA
|
||||||
|
eglQueryScreenMESA
|
||||||
|
eglQueryScreenModeMESA
|
||||||
|
eglQueryScreenSurfaceMESA
|
||||||
|
eglQueryString
|
||||||
|
eglQuerySurface
|
||||||
|
eglQueryWaylandBufferWL
|
||||||
|
eglReleaseTexImage
|
||||||
|
eglReleaseThread
|
||||||
|
eglScreenPositionMESA
|
||||||
|
eglShowScreenSurfaceMESA
|
||||||
|
eglSignalSyncKHR
|
||||||
|
eglSurfaceAttrib
|
||||||
|
eglSwapBuffers
|
||||||
|
eglSwapBuffersRegionNOK
|
||||||
|
eglSwapBuffersWithDamageEXT
|
||||||
|
eglSwapInterval
|
||||||
|
eglTerminate
|
||||||
|
eglUnbindWaylandDisplayWL
|
||||||
|
eglWaitClient
|
||||||
|
eglWaitGL
|
||||||
|
eglWaitNative
|
||||||
|
gbm_create_device
|
||||||
|
gbm_surface_create
|
@ -1,146 +1,148 @@
|
|||||||
#ifndef __eglplatform_h_
|
#ifndef __eglplatform_h_
|
||||||
#define __eglplatform_h_
|
#define __eglplatform_h_
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2007-2009 The Khronos Group Inc.
|
** Copyright (c) 2007-2009 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** 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/or associated documentation files (the
|
** copy of this software and/or associated documentation files (the
|
||||||
** "Materials"), to deal in the Materials without restriction, including
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
** without limitation the rights to use, copy, modify, merge, publish,
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
** permit persons to whom the Materials are furnished to do so, subject to
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
** the following conditions:
|
** the following conditions:
|
||||||
**
|
**
|
||||||
** The above copyright notice and this permission notice shall be included
|
** The above copyright notice and this permission notice shall be included
|
||||||
** in all copies or substantial portions of the Materials.
|
** in all copies or substantial portions of the Materials.
|
||||||
**
|
**
|
||||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Platform-specific types and definitions for egl.h
|
/* Platform-specific types and definitions for egl.h
|
||||||
* $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
|
* $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
|
||||||
*
|
*
|
||||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||||
* You are encouraged to submit all modifications to the Khronos group so that
|
* You are encouraged to submit all modifications to the Khronos group so that
|
||||||
* they can be included in future versions of this file. Please submit changes
|
* they can be included in future versions of this file. Please submit changes
|
||||||
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
|
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
|
||||||
* by filing a bug against product "EGL" component "Registry".
|
* by filing a bug against product "EGL" component "Registry".
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <KHR/khrplatform.h>
|
#include <KHR/khrplatform.h>
|
||||||
|
|
||||||
/* Macros used in EGL function prototype declarations.
|
/* Macros used in EGL function prototype declarations.
|
||||||
*
|
*
|
||||||
* EGL functions should be prototyped as:
|
* EGL functions should be prototyped as:
|
||||||
*
|
*
|
||||||
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
||||||
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
||||||
*
|
*
|
||||||
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef EGLAPI
|
#if defined(BUILD_GL32)
|
||||||
#define EGLAPI KHRONOS_APICALL
|
# define EGLAPI __declspec(dllexport)
|
||||||
#endif
|
#else
|
||||||
|
# define EGLAPI __declspec(dllimport)
|
||||||
#ifndef EGLAPIENTRY
|
#endif
|
||||||
#define EGLAPIENTRY KHRONOS_APIENTRY
|
|
||||||
#endif
|
#ifndef EGLAPIENTRY
|
||||||
#define EGLAPIENTRYP EGLAPIENTRY*
|
#define EGLAPIENTRY KHRONOS_APIENTRY
|
||||||
|
#endif
|
||||||
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
#define EGLAPIENTRYP EGLAPIENTRY*
|
||||||
* are aliases of window-system-dependent types, such as X Display * or
|
|
||||||
* Windows Device Context. They must be defined in platform-specific
|
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
||||||
* code below. The EGL-prefixed versions of Native*Type are the same
|
* are aliases of window-system-dependent types, such as X Display * or
|
||||||
* types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
* Windows Device Context. They must be defined in platform-specific
|
||||||
*
|
* code below. The EGL-prefixed versions of Native*Type are the same
|
||||||
* Khronos STRONGLY RECOMMENDS that you use the default definitions
|
* types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
||||||
* provided below, since these changes affect both binary and source
|
*
|
||||||
* portability of applications using EGL running on different EGL
|
* Khronos STRONGLY RECOMMENDS that you use the default definitions
|
||||||
* implementations.
|
* provided below, since these changes affect both binary and source
|
||||||
*/
|
* portability of applications using EGL running on different EGL
|
||||||
|
* implementations.
|
||||||
#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
*/
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
|
||||||
#define WIN32_LEAN_AND_MEAN 1
|
#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
||||||
#endif
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
#include <windows.h>
|
#define WIN32_LEAN_AND_MEAN 1
|
||||||
|
#endif
|
||||||
typedef HDC EGLNativeDisplayType;
|
#include <windows.h>
|
||||||
typedef HBITMAP EGLNativePixmapType;
|
|
||||||
typedef HWND EGLNativeWindowType;
|
typedef HDC EGLNativeDisplayType;
|
||||||
|
typedef HBITMAP EGLNativePixmapType;
|
||||||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
typedef HWND EGLNativeWindowType;
|
||||||
|
|
||||||
typedef int EGLNativeDisplayType;
|
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||||
typedef void *EGLNativeWindowType;
|
|
||||||
typedef void *EGLNativePixmapType;
|
typedef int EGLNativeDisplayType;
|
||||||
|
typedef void *EGLNativeWindowType;
|
||||||
#elif defined(WL_EGL_PLATFORM)
|
typedef void *EGLNativePixmapType;
|
||||||
|
|
||||||
typedef struct wl_display *EGLNativeDisplayType;
|
#elif defined(WL_EGL_PLATFORM)
|
||||||
typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
|
||||||
typedef struct wl_egl_window *EGLNativeWindowType;
|
typedef struct wl_display *EGLNativeDisplayType;
|
||||||
|
typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
||||||
#elif defined(__GBM__)
|
typedef struct wl_egl_window *EGLNativeWindowType;
|
||||||
|
|
||||||
typedef struct gbm_device *EGLNativeDisplayType;
|
#elif defined(__GBM__)
|
||||||
typedef struct gbm_bo *EGLNativePixmapType;
|
|
||||||
typedef void *EGLNativeWindowType;
|
typedef struct gbm_device *EGLNativeDisplayType;
|
||||||
|
typedef struct gbm_bo *EGLNativePixmapType;
|
||||||
#elif defined(ANDROID) /* Android */
|
typedef void *EGLNativeWindowType;
|
||||||
|
|
||||||
struct ANativeWindow;
|
#elif defined(ANDROID) /* Android */
|
||||||
struct egl_native_pixmap_t;
|
|
||||||
|
struct ANativeWindow;
|
||||||
typedef struct ANativeWindow *EGLNativeWindowType;
|
struct egl_native_pixmap_t;
|
||||||
typedef struct egl_native_pixmap_t *EGLNativePixmapType;
|
|
||||||
typedef void *EGLNativeDisplayType;
|
typedef struct ANativeWindow *EGLNativeWindowType;
|
||||||
|
typedef struct egl_native_pixmap_t *EGLNativePixmapType;
|
||||||
#elif defined(__unix__)
|
typedef void *EGLNativeDisplayType;
|
||||||
|
|
||||||
#ifdef MESA_EGL_NO_X11_HEADERS
|
#elif defined(__unix__)
|
||||||
|
|
||||||
typedef void *EGLNativeDisplayType;
|
#ifdef MESA_EGL_NO_X11_HEADERS
|
||||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
|
||||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
typedef void *EGLNativeDisplayType;
|
||||||
|
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||||
#else
|
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||||
|
|
||||||
/* X11 (tentative) */
|
#else
|
||||||
#include <X11/Xlib.h>
|
|
||||||
#include <X11/Xutil.h>
|
/* X11 (tentative) */
|
||||||
|
#include <X11/Xlib.h>
|
||||||
typedef Display *EGLNativeDisplayType;
|
#include <X11/Xutil.h>
|
||||||
typedef Pixmap EGLNativePixmapType;
|
|
||||||
typedef Window EGLNativeWindowType;
|
typedef Display *EGLNativeDisplayType;
|
||||||
|
typedef Pixmap EGLNativePixmapType;
|
||||||
#endif /* MESA_EGL_NO_X11_HEADERS */
|
typedef Window EGLNativeWindowType;
|
||||||
|
|
||||||
#else
|
#endif /* MESA_EGL_NO_X11_HEADERS */
|
||||||
#error "Platform not recognized"
|
|
||||||
#endif
|
#else
|
||||||
|
#error "Platform not recognized"
|
||||||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
#endif
|
||||||
typedef EGLNativeDisplayType NativeDisplayType;
|
|
||||||
typedef EGLNativePixmapType NativePixmapType;
|
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||||
typedef EGLNativeWindowType NativeWindowType;
|
typedef EGLNativeDisplayType NativeDisplayType;
|
||||||
|
typedef EGLNativePixmapType NativePixmapType;
|
||||||
|
typedef EGLNativeWindowType NativeWindowType;
|
||||||
/* Define EGLint. This must be a signed integral type large enough to contain
|
|
||||||
* all legal attribute names and values passed into and out of EGL, whether
|
|
||||||
* their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
/* Define EGLint. This must be a signed integral type large enough to contain
|
||||||
* handle, or other. While in general a 32-bit integer will suffice, if
|
* all legal attribute names and values passed into and out of EGL, whether
|
||||||
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
* their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
||||||
* integer type.
|
* handle, or other. While in general a 32-bit integer will suffice, if
|
||||||
*/
|
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
||||||
typedef khronos_int32_t EGLint;
|
* integer type.
|
||||||
|
*/
|
||||||
#endif /* __eglplatform_h */
|
typedef khronos_int32_t EGLint;
|
||||||
|
|
||||||
|
#endif /* __eglplatform_h */
|
||||||
|
@ -1,277 +1,277 @@
|
|||||||
#ifndef __khrplatform_h_
|
#ifndef __khrplatform_h_
|
||||||
#define __khrplatform_h_
|
#define __khrplatform_h_
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2008-2009 The Khronos Group Inc.
|
** Copyright (c) 2008-2009 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** 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/or associated documentation files (the
|
** copy of this software and/or associated documentation files (the
|
||||||
** "Materials"), to deal in the Materials without restriction, including
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
** without limitation the rights to use, copy, modify, merge, publish,
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
** permit persons to whom the Materials are furnished to do so, subject to
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
** the following conditions:
|
** the following conditions:
|
||||||
**
|
**
|
||||||
** The above copyright notice and this permission notice shall be included
|
** The above copyright notice and this permission notice shall be included
|
||||||
** in all copies or substantial portions of the Materials.
|
** in all copies or substantial portions of the Materials.
|
||||||
**
|
**
|
||||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Khronos platform-specific types and definitions.
|
/* Khronos platform-specific types and definitions.
|
||||||
*
|
*
|
||||||
* $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $
|
* $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $
|
||||||
*
|
*
|
||||||
* Adopters may modify this file to suit their platform. Adopters are
|
* Adopters may modify this file to suit their platform. Adopters are
|
||||||
* encouraged to submit platform specific modifications to the Khronos
|
* encouraged to submit platform specific modifications to the Khronos
|
||||||
* group so that they can be included in future versions of this file.
|
* group so that they can be included in future versions of this file.
|
||||||
* Please submit changes by sending them to the public Khronos Bugzilla
|
* Please submit changes by sending them to the public Khronos Bugzilla
|
||||||
* (http://khronos.org/bugzilla) by filing a bug against product
|
* (http://khronos.org/bugzilla) by filing a bug against product
|
||||||
* "Khronos (general)" component "Registry".
|
* "Khronos (general)" component "Registry".
|
||||||
*
|
*
|
||||||
* A predefined template which fills in some of the bug fields can be
|
* A predefined template which fills in some of the bug fields can be
|
||||||
* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
|
* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
|
||||||
* must create a Bugzilla login first.
|
* must create a Bugzilla login first.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* See the Implementer's Guidelines for information about where this file
|
* See the Implementer's Guidelines for information about where this file
|
||||||
* should be located on your system and for more details of its use:
|
* should be located on your system and for more details of its use:
|
||||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||||
*
|
*
|
||||||
* This file should be included as
|
* This file should be included as
|
||||||
* #include <KHR/khrplatform.h>
|
* #include <KHR/khrplatform.h>
|
||||||
* by Khronos client API header files that use its types and defines.
|
* 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.
|
* The types in khrplatform.h should only be used to define API-specific types.
|
||||||
*
|
*
|
||||||
* Types defined in khrplatform.h:
|
* Types defined in khrplatform.h:
|
||||||
* khronos_int8_t signed 8 bit
|
* khronos_int8_t signed 8 bit
|
||||||
* khronos_uint8_t unsigned 8 bit
|
* khronos_uint8_t unsigned 8 bit
|
||||||
* khronos_int16_t signed 16 bit
|
* khronos_int16_t signed 16 bit
|
||||||
* khronos_uint16_t unsigned 16 bit
|
* khronos_uint16_t unsigned 16 bit
|
||||||
* khronos_int32_t signed 32 bit
|
* khronos_int32_t signed 32 bit
|
||||||
* khronos_uint32_t unsigned 32 bit
|
* khronos_uint32_t unsigned 32 bit
|
||||||
* khronos_int64_t signed 64 bit
|
* khronos_int64_t signed 64 bit
|
||||||
* khronos_uint64_t unsigned 64 bit
|
* khronos_uint64_t unsigned 64 bit
|
||||||
* khronos_intptr_t signed same number of bits as a pointer
|
* khronos_intptr_t signed same number of bits as a pointer
|
||||||
* khronos_uintptr_t unsigned same number of bits as a pointer
|
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||||
* khronos_ssize_t signed size
|
* khronos_ssize_t signed size
|
||||||
* khronos_usize_t unsigned size
|
* khronos_usize_t unsigned size
|
||||||
* khronos_float_t signed 32 bit floating point
|
* khronos_float_t signed 32 bit floating point
|
||||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||||
* nanoseconds
|
* nanoseconds
|
||||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||||
* khronos_boolean_enum_t enumerated boolean type. This should
|
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||||
* only be used as a base type when a client API's boolean type is
|
* 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
|
* an enum. Client APIs which use an integer or other type for
|
||||||
* booleans cannot use this as the base type for their boolean.
|
* booleans cannot use this as the base type for their boolean.
|
||||||
*
|
*
|
||||||
* Tokens defined in khrplatform.h:
|
* Tokens defined in khrplatform.h:
|
||||||
*
|
*
|
||||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||||
*
|
*
|
||||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||||
*
|
*
|
||||||
* Calling convention macros defined in this file:
|
* Calling convention macros defined in this file:
|
||||||
* KHRONOS_APICALL
|
* KHRONOS_APICALL
|
||||||
* KHRONOS_APIENTRY
|
* KHRONOS_APIENTRY
|
||||||
* KHRONOS_APIATTRIBUTES
|
* KHRONOS_APIATTRIBUTES
|
||||||
*
|
*
|
||||||
* These may be used in function prototypes as:
|
* These may be used in function prototypes as:
|
||||||
*
|
*
|
||||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||||
* int arg1,
|
* int arg1,
|
||||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Definition of KHRONOS_APICALL
|
* Definition of KHRONOS_APICALL
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
* This precedes the return type of the function in the function prototype.
|
* This precedes the return type of the function in the function prototype.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||||
# if defined(KHRONOS_DLL_EXPORTS)
|
# if defined(KHRONOS_DLL_EXPORTS)
|
||||||
# define KHRONOS_APICALL __declspec(dllexport)
|
# define KHRONOS_APICALL __declspec(dllexport)
|
||||||
# else
|
# else
|
||||||
# define KHRONOS_APICALL __declspec(dllimport)
|
# define KHRONOS_APICALL __declspec(dllimport)
|
||||||
# endif
|
# endif
|
||||||
#elif defined (__SYMBIAN32__)
|
#elif defined (__SYMBIAN32__)
|
||||||
# define KHRONOS_APICALL IMPORT_C
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|
||||||
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
|
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
|
||||||
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
|
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
|
||||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
#else
|
#else
|
||||||
# define KHRONOS_APICALL
|
# define KHRONOS_APICALL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Definition of KHRONOS_APIENTRY
|
* Definition of KHRONOS_APIENTRY
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
* This follows the return type of the function and precedes the function
|
* This follows the return type of the function and precedes the function
|
||||||
* name in the function prototype.
|
* name in the function prototype.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||||
/* Win32 but not WinCE */
|
/* Win32 but not WinCE */
|
||||||
# define KHRONOS_APIENTRY __stdcall
|
# define KHRONOS_APIENTRY __stdcall
|
||||||
#else
|
#else
|
||||||
# define KHRONOS_APIENTRY
|
# define KHRONOS_APIENTRY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Definition of KHRONOS_APIATTRIBUTES
|
* Definition of KHRONOS_APIATTRIBUTES
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
* This follows the closing parenthesis of the function prototype arguments.
|
* This follows the closing parenthesis of the function prototype arguments.
|
||||||
*/
|
*/
|
||||||
#if defined (__ARMCC_2__)
|
#if defined (__ARMCC_2__)
|
||||||
#define KHRONOS_APIATTRIBUTES __softfp
|
#define KHRONOS_APIATTRIBUTES __softfp
|
||||||
#else
|
#else
|
||||||
#define KHRONOS_APIATTRIBUTES
|
#define KHRONOS_APIATTRIBUTES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* basic type definitions
|
* basic type definitions
|
||||||
*-----------------------------------------------------------------------*/
|
*-----------------------------------------------------------------------*/
|
||||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Using <stdint.h>
|
* Using <stdint.h>
|
||||||
*/
|
*/
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
typedef int32_t khronos_int32_t;
|
typedef int32_t khronos_int32_t;
|
||||||
typedef uint32_t khronos_uint32_t;
|
typedef uint32_t khronos_uint32_t;
|
||||||
typedef int64_t khronos_int64_t;
|
typedef int64_t khronos_int64_t;
|
||||||
typedef uint64_t khronos_uint64_t;
|
typedef uint64_t khronos_uint64_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
#elif defined(__VMS ) || defined(__sgi)
|
#elif defined(__VMS ) || defined(__sgi)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Using <inttypes.h>
|
* Using <inttypes.h>
|
||||||
*/
|
*/
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
typedef int32_t khronos_int32_t;
|
typedef int32_t khronos_int32_t;
|
||||||
typedef uint32_t khronos_uint32_t;
|
typedef uint32_t khronos_uint32_t;
|
||||||
typedef int64_t khronos_int64_t;
|
typedef int64_t khronos_int64_t;
|
||||||
typedef uint64_t khronos_uint64_t;
|
typedef uint64_t khronos_uint64_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Win32
|
* Win32
|
||||||
*/
|
*/
|
||||||
typedef __int32 khronos_int32_t;
|
typedef __int32 khronos_int32_t;
|
||||||
typedef unsigned __int32 khronos_uint32_t;
|
typedef unsigned __int32 khronos_uint32_t;
|
||||||
typedef __int64 khronos_int64_t;
|
typedef __int64 khronos_int64_t;
|
||||||
typedef unsigned __int64 khronos_uint64_t;
|
typedef unsigned __int64 khronos_uint64_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
#elif defined(__sun__) || defined(__digital__)
|
#elif defined(__sun__) || defined(__digital__)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sun or Digital
|
* Sun or Digital
|
||||||
*/
|
*/
|
||||||
typedef int khronos_int32_t;
|
typedef int khronos_int32_t;
|
||||||
typedef unsigned int khronos_uint32_t;
|
typedef unsigned int khronos_uint32_t;
|
||||||
#if defined(__arch64__) || defined(_LP64)
|
#if defined(__arch64__) || defined(_LP64)
|
||||||
typedef long int khronos_int64_t;
|
typedef long int khronos_int64_t;
|
||||||
typedef unsigned long int khronos_uint64_t;
|
typedef unsigned long int khronos_uint64_t;
|
||||||
#else
|
#else
|
||||||
typedef long long int khronos_int64_t;
|
typedef long long int khronos_int64_t;
|
||||||
typedef unsigned long long int khronos_uint64_t;
|
typedef unsigned long long int khronos_uint64_t;
|
||||||
#endif /* __arch64__ */
|
#endif /* __arch64__ */
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
#elif 0
|
#elif 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hypothetical platform with no float or int64 support
|
* Hypothetical platform with no float or int64 support
|
||||||
*/
|
*/
|
||||||
typedef int khronos_int32_t;
|
typedef int khronos_int32_t;
|
||||||
typedef unsigned int khronos_uint32_t;
|
typedef unsigned int khronos_uint32_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 0
|
#define KHRONOS_SUPPORT_INT64 0
|
||||||
#define KHRONOS_SUPPORT_FLOAT 0
|
#define KHRONOS_SUPPORT_FLOAT 0
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic fallback
|
* Generic fallback
|
||||||
*/
|
*/
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
typedef int32_t khronos_int32_t;
|
typedef int32_t khronos_int32_t;
|
||||||
typedef uint32_t khronos_uint32_t;
|
typedef uint32_t khronos_uint32_t;
|
||||||
typedef int64_t khronos_int64_t;
|
typedef int64_t khronos_int64_t;
|
||||||
typedef uint64_t khronos_uint64_t;
|
typedef uint64_t khronos_uint64_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Types that are (so far) the same on all platforms
|
* Types that are (so far) the same on all platforms
|
||||||
*/
|
*/
|
||||||
typedef signed char khronos_int8_t;
|
typedef signed char khronos_int8_t;
|
||||||
typedef unsigned char khronos_uint8_t;
|
typedef unsigned char khronos_uint8_t;
|
||||||
typedef signed short int khronos_int16_t;
|
typedef signed short int khronos_int16_t;
|
||||||
typedef unsigned short int khronos_uint16_t;
|
typedef unsigned short int khronos_uint16_t;
|
||||||
typedef signed long int khronos_intptr_t;
|
typedef signed long int khronos_intptr_t;
|
||||||
typedef unsigned long int khronos_uintptr_t;
|
typedef unsigned long int khronos_uintptr_t;
|
||||||
typedef signed long int khronos_ssize_t;
|
typedef signed long int khronos_ssize_t;
|
||||||
typedef unsigned long int khronos_usize_t;
|
typedef unsigned long int khronos_usize_t;
|
||||||
|
|
||||||
#if KHRONOS_SUPPORT_FLOAT
|
#if KHRONOS_SUPPORT_FLOAT
|
||||||
/*
|
/*
|
||||||
* Float type
|
* Float type
|
||||||
*/
|
*/
|
||||||
typedef float khronos_float_t;
|
typedef float khronos_float_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if KHRONOS_SUPPORT_INT64
|
#if KHRONOS_SUPPORT_INT64
|
||||||
/* Time types
|
/* Time types
|
||||||
*
|
*
|
||||||
* These types can be used to represent a time interval in nanoseconds or
|
* These types can be used to represent a time interval in nanoseconds or
|
||||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||||
* of nanoseconds since some arbitrary system event (e.g. since the last
|
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||||
* time the system booted). The Unadjusted System Time is an unsigned
|
* time the system booted). The Unadjusted System Time is an unsigned
|
||||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||||
* may be either signed or unsigned.
|
* may be either signed or unsigned.
|
||||||
*/
|
*/
|
||||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||||
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dummy value used to pad enum types to 32 bits.
|
* Dummy value used to pad enum types to 32 bits.
|
||||||
*/
|
*/
|
||||||
#ifndef KHRONOS_MAX_ENUM
|
#ifndef KHRONOS_MAX_ENUM
|
||||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enumerated boolean type
|
* Enumerated boolean type
|
||||||
*
|
*
|
||||||
* Values other than zero should be considered to be true. Therefore
|
* Values other than zero should be considered to be true. Therefore
|
||||||
* comparisons should not be made against KHRONOS_TRUE.
|
* comparisons should not be made against KHRONOS_TRUE.
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
KHRONOS_FALSE = 0,
|
KHRONOS_FALSE = 0,
|
||||||
KHRONOS_TRUE = 1,
|
KHRONOS_TRUE = 1,
|
||||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||||
} khronos_boolean_enum_t;
|
} khronos_boolean_enum_t;
|
||||||
|
|
||||||
#endif /* __khrplatform_h_ */
|
#endif /* __khrplatform_h_ */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright © 2011 Intel Corporation
|
* Copyright © 2011 Intel Corporation
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
@ -46,9 +46,9 @@
|
|||||||
void* load_library(const char *name);
|
void* load_library(const char *name);
|
||||||
void *get_proc_address(void *module, char *proc_name);
|
void *get_proc_address(void *module, char *proc_name);
|
||||||
|
|
||||||
int (*blit_bitmap_from_handle)(bitmap_t *bitmap, uint32_t handle);
|
static int (*blit_bitmap_from_handle)(bitmap_t *bitmap, uint32_t handle);
|
||||||
void (*blit_set_bo_handle)(bitmap_t *bitmap, int handle);
|
static void (*blit_set_bo_handle)(bitmap_t *bitmap, int handle);
|
||||||
int (*blit_blit_tex)(bitmap_t *bitmap, int scale, int vsync, int dst_x, int dst_y,
|
static int (*blit_blit_tex)(bitmap_t *bitmap, int scale, int vsync, int dst_x, int dst_y,
|
||||||
int w, int h, int src_x, int src_y);
|
int w, int h, int src_x, int src_y);
|
||||||
|
|
||||||
static struct gbm_bo *
|
static struct gbm_bo *
|
||||||
|
Loading…
Reference in New Issue
Block a user