blob: dee1d015f13485271e8e47619beedf9896816faa (
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
|
# 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
Package com.jogamp.opengl.impl.x11.glx
JavaClass GLX
Style AllStatic
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
GLHeader GL/glx.h
GLHeader GL/glxext.h
ForceProcAddressGen __ALL__
LocalProcAddressCallingConvention __ALL__ APIENTRY
AllowNonGLExtensions true
EmitProcAddressTable true
ProcAddressTableClassName GLXProcAddressTable
GetProcAddressTableExpr glxProcAddressTable
Import com.jogamp.nativewindow.impl.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
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 glXChooseVisual
ForceProcAddressGen glXGetVisualFromFBConfig
ForceProcAddressGen glXChooseFBConfig
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.+
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 protected 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_glXGetProcAddress1(procname, glXGetProcAddressHandle);
CustomJavaCode GLX }
|