blob: d17a22aa39caae3da2c0c0af5ccf26af8509c351 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# This .cfg file is used to generate the interface to the GLX routines
# used internally by the X11GLContext implementation.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/X11
#GLSemHeader GL/gl.h
#GLSemHeader GL/glext-supplement.h
#GLSemHeader GL/glext.h
GLSemHeader gl-types.h
GLSemHeader GL/glx.h
GLSemHeader GL/glxext.h
Package jogamp.opengl.x11.glx
JavaClass GLX
Style AllStatic
Include gl-common.cfg
Include gl-desktop.cfg
# Only NIO direct function, no arrays ..
NIOOnly __ALL__
NIODirectOnly __ALL__
ForceProcAddressGen __ALL__
LocalProcAddressCallingConvention __ALL__ APIENTRY
EmitProcAddressTable true
ProcAddressTableClassName GLXProcAddressTable
GetProcAddressTableExpr glxProcAddressTable
Import jogamp.nativewindow.x11.*
Import com.jogamp.gluegen.runtime.opengl.GLProcAddressResolver
CustomJavaCode GLX private static GLXProcAddressTable glxProcAddressTable = new GLXProcAddressTable(new GLProcAddressResolver());
CustomJavaCode GLX public static GLXProcAddressTable getGLXProcAddressTable() { return glxProcAddressTable; }
IncludeAs CustomJavaCode GLX glx-CustomJavaCode.java
Include glx-headers.cfg
IncludeAs CustomCCode glx-CustomCCode.c
ArgumentIsString XOpenDisplay 0
Opaque long GLXFBConfig
Ignore glXCreateContextAttribsARB
#
# We have manual code for the following (copying the return values)
Ignore glXGetVisualFromFBConfigSGIX
ManuallyImplement glXGetVisualFromFBConfig
ManuallyImplement glXChooseFBConfig
ManuallyImplement glXGetFBConfigs
ManuallyImplement glXChooseVisual
ForceProcAddressGen glXGetVisualFromFBConfig
ForceProcAddressGen glXChooseFBConfig
ForceProcAddressGen glXGetFBConfigs
ForceProcAddressGen glXChooseVisual
# Ignore everything not in the GLX core (up through GLX 1.4)
# FIXME: this needs to be kept in sync with the stub headers more than usual
Ignore glXFreeContextEXT
Ignore glXGetContextIDEXT
Ignore glXGetCurrentDisplayEXT
Ignore glXImportContextEXT
Ignore glXQueryContextInfoEXT
Ignore glXGetSyncValues
Ignore glXGetMscRate
Ignore glXSwapBuffersMsc
Ignore glXWaitForMsc
Ignore glXWaitForSbc
# Ignore non-GLX GL routines and constants
Ignore ^GL_.+
Ignore TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB
Ignore CLAMP_TO_EDGE_EXT
Ignore ^gl[^X].+
Ignore ^X.+
Ignore ^Visual.+
IgnoreExtension GLX_EXT_texture_from_pixmap
IgnoreExtension GLX_OML_sync_control
IgnoreExtension GLX_OML_swap_method
DropUniqVendorExtensions AMD
# We need GL_APPLE_float_pixels for our pbuffer implementation
# DropUniqVendorExtensions APPLE
DropUniqVendorExtensions ATI
DropUniqVendorExtensions HP
DropUniqVendorExtensions IBM
DropUniqVendorExtensions MESA
DropUniqVendorExtensions MESAX
DropUniqVendorExtensions NV
DropUniqVendorExtensions SGI
DropUniqVendorExtensions SGIS
DropUniqVendorExtensions SGIX
DropUniqVendorExtensions SUN
DropUniqVendorExtensions WIN
# Ignore the SGI hyperpipe extension, which will require more GlueGen
# work to expose the pipeName fields in the various structs
Ignore GLXHyperpipeNetworkSGIX
Ignore GLXHyperpipeConfigSGIX
Ignore GLXPipeRect
Ignore GLXPipeRectLimits
CustomJavaCode GLX static long glXGetProcAddress(long glXGetProcAddressHandle, java.lang.String procname)
CustomJavaCode GLX {
CustomJavaCode GLX if (glXGetProcAddressHandle == 0) {
CustomJavaCode GLX throw new GLException("Passed null pointer for method \"glXGetProcAddress\"");
CustomJavaCode GLX }
CustomJavaCode GLX return dispatch_glXGetProcAddress0(procname, glXGetProcAddressHandle);
CustomJavaCode GLX }
|