summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-es3-impl.cfg
blob: c6b9b45f1bba34eef77c9e8d4237bdada567a0f4 (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
# This .cfg file is used to generate the GL implementing class.
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/es3

# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
# _for_ code generation. This shall match the parsed header files!
GLSemHeader GLES3/gl31.h
GLSemHeader GLES3/gl3ext.h
GLSemHeader GLES2/gl2ext-supplement.h
GLSemHeader GLES2/gl2ext.h

ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GLES2.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3ES3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL4ES3.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GLES3.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java

Style ImplOnly
ImplPackage jogamp.opengl.es3
ImplJavaClass GLES3Impl
Implements GLES3Impl GLBase
Implements GLES3Impl GL
Implements GLES3Impl GL2ES2
Implements GLES3Impl GLES2
Implements GLES3Impl GL2ES3
Implements GLES3Impl GL3ES3
Implements GLES3Impl GL4ES3
Implements GLES3Impl GLES3
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl2_es2-CustomJavaCode.cfg
Include gl-desktop-ignores.cfg

ForceExtension GL_ARB_ES3_compatibility

EmitProcAddressTable true
ProcAddressTableClassName GLES3ProcAddressTable
GetProcAddressTableExpr _pat
# GetProcAddressTableExpr ((GLES3ProcAddressTable)_context.getGLProcAddressTable())

# Manual implement glDebugMessageCallback* using the proc address resolver
ForceProcAddressGen glDebugMessageCallbackKHR

# Force all of the methods to be emitted using dynamic linking so we
# don't need to link against any emulation library on the desktop or
# depend on the presence of an import library for a particular device
ForceProcAddressGen __ALL__

# Also force the calling conventions of the locally generated function
# pointer typedefs for these routines to GL_APIENTRY
LocalProcAddressCallingConvention __ALL__ GL_APIENTRY

# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true

# Add PixelStorei StateTracker
#
CustomJavaCode GLES3Impl private static final int params_offset = 0; // just a helper for JavaPrologue ..
CustomJavaCode GLES3Impl private static final int data_offset = 0; // just a helper for JavaPrologue ..

JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);

JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, data, data_offset) ) { return; }

IncludeAs CustomJavaCode GLES3Impl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GLES3Impl gl-impl-CustomJavaCode-gles3.java
IncludeAs CustomJavaCode GLES3Impl gl-impl-CustomJavaCode-gl2_es2.java

Include es3-headers.cfg
IncludeAs CustomCCode gl-impl-CustomCCode-gles3.c

Import com.jogamp.opengl.GLBase
Import com.jogamp.opengl.GL
Import com.jogamp.opengl.GL2ES2
Import com.jogamp.opengl.GL2ES3
Import com.jogamp.opengl.GL3ES3
Import com.jogamp.opengl.GL4ES3
Import com.jogamp.opengl.GLES3
Import com.jogamp.opengl.GLArrayData
Import com.jogamp.opengl.GLUniformData
Import com.jogamp.common.nio.Buffers
Import com.jogamp.opengl.util.GLBuffers
Import java.io.PrintStream