aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-03-06 09:45:48 +0100
committerSven Gothel <[email protected]>2015-03-06 09:45:48 +0100
commit0d59bd4c655ef9a27f127000848aae7f07f240ae (patch)
tree3ac18e10e105ad70227bbb2205294ac3e6462c0e /make
parent0674a3678d747335ad36f0f57e3bdc9c168f0dcf (diff)
Bug 1135 - Change all GlueGen config files, supporting EGL 1.5 , ES 3.1 and GL 4.5
Diffstat (limited to 'make')
-rw-r--r--make/config/jogl/cgl-macosx.cfg11
-rw-r--r--make/config/jogl/cglext.cfg2
-rw-r--r--make/config/jogl/egl-CustomJavaCode.java2
-rw-r--r--make/config/jogl/egl-common.cfg4
-rw-r--r--make/config/jogl/eglext.cfg3
-rw-r--r--make/config/jogl/es1-headers.cfg5
-rw-r--r--make/config/jogl/es3-headers.cfg4
-rw-r--r--make/config/jogl/gl-common-extensions.cfg133
-rw-r--r--make/config/jogl/gl-common.cfg182
-rw-r--r--make/config/jogl/gl-desktop-ignores.cfg7
-rw-r--r--make/config/jogl/gl-desktop.cfg3
-rw-r--r--make/config/jogl/gl-embedded-ignores.cfg13
-rw-r--r--make/config/jogl/gl-es1.cfg22
-rw-r--r--make/config/jogl/gl-es3-impl.cfg27
-rw-r--r--make/config/jogl/gl-gl4bc.cfg20
-rw-r--r--make/config/jogl/gl-headers.cfg26
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-es3.java3
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl.java11
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java7
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl_compat.java20
-rw-r--r--make/config/jogl/gl-if-es2.cfg8
-rw-r--r--make/config/jogl/gl-if-es3.cfg9
-rw-r--r--make/config/jogl/gl-if-gl-ignores.cfg133
-rw-r--r--make/config/jogl/gl-if-gl.cfg12
-rw-r--r--make/config/jogl/gl-if-gl2.cfg12
-rw-r--r--make/config/jogl/gl-if-gl2_es1.cfg13
-rw-r--r--make/config/jogl/gl-if-gl2_es2-ignores.cfg81
-rw-r--r--make/config/jogl/gl-if-gl2_es2.cfg12
-rw-r--r--make/config/jogl/gl-if-gl2_es3-ignores.cfg82
-rw-r--r--make/config/jogl/gl-if-gl2_es3.cfg12
-rw-r--r--make/config/jogl/gl-if-gl2_gl3.cfg10
-rw-r--r--make/config/jogl/gl-if-gl2es3-subset.cfg10
-rw-r--r--make/config/jogl/gl-if-gl2gl3-subset.cfg9
-rw-r--r--make/config/jogl/gl-if-gl3-ignores.cfg43
-rw-r--r--make/config/jogl/gl-if-gl3.cfg13
-rw-r--r--make/config/jogl/gl-if-gl3_es3.cfg11
-rw-r--r--make/config/jogl/gl-if-gl3bc.cfg15
-rw-r--r--make/config/jogl/gl-if-gl4-ignores.cfg30
-rw-r--r--make/config/jogl/gl-if-gl4.cfg13
-rw-r--r--make/config/jogl/gl-if-gl4_es3.cfg11
-rw-r--r--make/config/jogl/gl-if-luminance-ignore.cfg7
-rw-r--r--make/config/jogl/gl-impl-CustomCCode-gl4bc.c15
-rw-r--r--make/config/jogl/gl-impl-CustomCCode-gles1.c5
-rw-r--r--make/config/jogl/gl-impl-CustomCCode-gles3.c5
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-embedded.java7
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java18
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gles1.java11
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gles3.java30
-rw-r--r--make/config/jogl/gl2_es2-common.cfg2
-rw-r--r--make/config/jogl/gl2_es3-common.cfg2
-rw-r--r--make/config/jogl/gl3-common.cfg2
-rw-r--r--make/config/jogl/gl3ext-headers.cfg4
-rw-r--r--make/config/jogl/glu-common.cfg6
-rw-r--r--make/config/jogl/glu-gl2.cfg15
-rw-r--r--make/config/jogl/glx-headers.cfg (renamed from make/config/jogl/gl3-headers.cfg)24
-rw-r--r--make/config/jogl/glx-x11.cfg11
-rw-r--r--make/config/jogl/glxext.cfg12
-rw-r--r--make/config/jogl/wgl-win32.cfg7
-rw-r--r--make/config/jogl/wglext.cfg8
-rw-r--r--make/config/nativewindow/jawt-macosx.cfg1
-rw-r--r--make/config/nativewindow/jawt-win32.cfg6
-rw-r--r--make/config/nativewindow/jawt-x11.cfg2
-rw-r--r--make/config/nativewindow/win32-lib.cfg10
-rw-r--r--make/config/nativewindow/x11-lib.cfg7
-rw-r--r--make/scripts/gluegen-gl.sh348
-rw-r--r--make/scripts/tests.sh4
-rw-r--r--make/stub_includes/opengl/gl2.c1
-rw-r--r--make/stub_includes/opengl/gl3bc.c1
-rw-r--r--make/stub_includes/opengl/gl4bc.c1
-rw-r--r--make/stub_includes/opengl/gles1.c1
-rw-r--r--make/stub_includes/opengl/gles2.c4
-rw-r--r--make/stub_includes/opengl/gles3.c8
-rw-r--r--make/stub_includes/win32/wglext.c1
-rw-r--r--make/stub_includes/x11/glxext.c15
-rw-r--r--make/stub_includes/x11/window-system1.c19
75 files changed, 1284 insertions, 380 deletions
diff --git a/make/config/jogl/cgl-macosx.cfg b/make/config/jogl/cgl-macosx.cfg
index a67ee8087..6ca0787b5 100644
--- a/make/config/jogl/cgl-macosx.cfg
+++ b/make/config/jogl/cgl-macosx.cfg
@@ -3,6 +3,9 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/MacOSX
+# For easier debugging of GLSemHeader, i.e. less debug output
+#DropAllGLDocHeader true
+
Package jogamp.opengl.macosx.cgl
JavaClass CGL
Style AllStatic
@@ -14,7 +17,7 @@ Include gl-desktop.cfg
NIOOnly __ALL__
NIODirectOnly __ALL__
-GLHeader GL/cglext.h
+GLSemHeader GL/cglext.h
Opaque long void *
@@ -37,9 +40,9 @@ CustomCCode #include "macosx-window-system.h"
AccessControl createNSOpenGLLayerImpl PRIVATE
AccessControl setNSOpenGLLayerEnabledImpl PRIVATE
AccessControl releaseNSOpenGLLayerImpl PRIVATE
-RenameJavaMethod createNSOpenGLLayer createNSOpenGLLayerImpl
-RenameJavaMethod setNSOpenGLLayerEnabled setNSOpenGLLayerEnabledImpl
-RenameJavaMethod releaseNSOpenGLLayer releaseNSOpenGLLayerImpl
+RenameJavaSymbol createNSOpenGLLayer createNSOpenGLLayerImpl
+RenameJavaSymbol setNSOpenGLLayerEnabled setNSOpenGLLayerEnabledImpl
+RenameJavaSymbol releaseNSOpenGLLayer releaseNSOpenGLLayerImpl
IncludeAs CustomJavaCode CGL cgl-macosx-CustomJavaCode.java
diff --git a/make/config/jogl/cglext.cfg b/make/config/jogl/cglext.cfg
index 3c6708460..913ba17b7 100644
--- a/make/config/jogl/cglext.cfg
+++ b/make/config/jogl/cglext.cfg
@@ -18,7 +18,7 @@ Include gl-desktop.cfg
NIOOnly __ALL__
NIODirectOnly __ALL__
-GLHeader GL/cglext.h
+GLSemHeader GL/cglext.h
EmitProcAddressTable true
ProcAddressTableClassName CGLExtProcAddressTable
diff --git a/make/config/jogl/egl-CustomJavaCode.java b/make/config/jogl/egl-CustomJavaCode.java
index 0c3935691..68a5a20d4 100644
--- a/make/config/jogl/egl-CustomJavaCode.java
+++ b/make/config/jogl/egl-CustomJavaCode.java
@@ -16,7 +16,7 @@
/**
* In case of an error on a particualr attribute, the attribute in the attributes-buffer is set to 0.
* <p>
- * Entry point to C language function: <code> EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value); </code> <br>Part of <code>EGL_VERSION_1_X</code>
+ * Entry point to C language function: <code> EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value); </code> <br>Part of <code>EGL_VERSION_1_0</code>
* </p>
*/
public static void eglGetConfigAttributes(long dpy, long config, IntBuffer attributes, IntBuffer values) {
diff --git a/make/config/jogl/egl-common.cfg b/make/config/jogl/egl-common.cfg
index b30abf742..8c37f7672 100644
--- a/make/config/jogl/egl-common.cfg
+++ b/make/config/jogl/egl-common.cfg
@@ -1,7 +1,7 @@
# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
-GLHeader EGL/egl.h
-GLHeader EGL/eglext.h
+GLSemHeader EGL/egl.h
+GLSemHeader EGL/eglext.h
# Imports needed by all glue code
Import java.util.*
diff --git a/make/config/jogl/eglext.cfg b/make/config/jogl/eglext.cfg
index 1da9b253d..85424c983 100644
--- a/make/config/jogl/eglext.cfg
+++ b/make/config/jogl/eglext.cfg
@@ -17,7 +17,8 @@ NIODirectOnly __ALL__
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/egl/EGL.java
-IgnoreExtension EGL_VERSION_1_X
+# Uses function pointer, need to add manual code iff supporting
+IgnoreExtension EGL_ANDROID_blob_cache
HierarchicalNativeOutput false
diff --git a/make/config/jogl/es1-headers.cfg b/make/config/jogl/es1-headers.cfg
new file mode 100644
index 000000000..e01d40498
--- /dev/null
+++ b/make/config/jogl/es1-headers.cfg
@@ -0,0 +1,5 @@
+CustomCCode #include <stdio.h> /* android */
+CustomCCode #include <GLES/glplatform.h>
+CustomCCode #include <gl-types.h>
+CustomCCode #include <stdlib.h>
+
diff --git a/make/config/jogl/es3-headers.cfg b/make/config/jogl/es3-headers.cfg
new file mode 100644
index 000000000..bdf19fa4a
--- /dev/null
+++ b/make/config/jogl/es3-headers.cfg
@@ -0,0 +1,4 @@
+CustomCCode #include <stdio.h> /* android */
+CustomCCode #include <GLES2/gl2platform.h>
+CustomCCode #include <gl-types.h>
+CustomCCode #include <stdlib.h>
diff --git a/make/config/jogl/gl-common-extensions.cfg b/make/config/jogl/gl-common-extensions.cfg
index a723a9fd8..9818949fb 100644
--- a/make/config/jogl/gl-common-extensions.cfg
+++ b/make/config/jogl/gl-common-extensions.cfg
@@ -20,9 +20,12 @@ DropUniqVendorExtensions WIN
# Drop some obsolete or mostly-integrated vendor extensions that the above directives let in
# Note that some of these are in LWJGL, so perhaps there is justification for leaving them in
+IgnoreExtension GL_APPLE_fence
IgnoreExtension GL_APPLE_sync
IgnoreExtension GL_APPLE_element_array
IgnoreExtension GL_APPLE_vertex_array_object
+IgnoreExtension GL_APPLE_rgb_422
+
IgnoreExtension GL_ATI_element_array
IgnoreExtension GL_ATI_envmap_bumpmap
IgnoreExtension GL_ATI_fragment_shader
@@ -34,7 +37,9 @@ IgnoreExtension GL_ATI_texture_mirror_once
IgnoreExtension GL_ATI_vertex_array_object
IgnoreExtension GL_ATI_vertex_attrib_array_object
IgnoreExtension GL_ATI_vertex_streams
+
IgnoreExtension GL_NV_depth_buffer_float
+IgnoreExtension GL_NV_fence
IgnoreExtension GL_NV_fragment_program
IgnoreExtension GL_NV_fragment_program2
IgnoreExtension GL_NV_packed_depth_stencil
@@ -47,17 +52,36 @@ IgnoreExtension GL_NV_texture_rectangle
IgnoreExtension GL_NV_vertex_program
# This one would require more work -- has associated GLX and WGL bindings
IgnoreExtension GL_NV_present_video
+IgnoreExtension GL_NV_path_rendering
+IgnoreExtension GL_NV_bindless_texture
+IgnoreExtension GL_NV_blend_equation_advanced
+IgnoreExtension GL_NV_blend_equation_advanced_coherent
+IgnoreExtension GL_NV_internalformat_sample_query
+
+IgnoreExtension WGL_NV_vertex_array_range
+IgnoreExtension GLX_NV_vertex_array_range
+IgnoreExtension GL_NV_vertex_array_range
+IgnoreExtension GL_NV_vertex_array_range2
+
+IgnoreExtension GL_KHR_blend_equation_advanced
+
IgnoreExtension GL_OES_fixed_point
+IgnoreExtension GL_OES_compressed_paletted_texture
+
+IgnoreExtension GL_EXT_debug_label
+IgnoreExtension GL_EXT_debug_marker
# For the time being, ignore these extensions which are in the ES 2.0 spec
IgnoreExtension GL_NV_framebuffer_vertex_attrib_array
# Remove extension suffixes from extensions which are common between OpenGL and OpenGL ES
-RenameExtensionIntoCore GL_ARB_half_float_pixel
-RenameExtensionIntoCore GL_ARB_point_sprite
+#RenameExtensionIntoCore GL_IMG_read_format
+#RenameExtensionIntoCore GL_EXT_read_format_bgra
+RenameExtensionIntoCore GL_OES_read_format
RenameExtensionIntoCore GL_OES_blend_equation_separate
RenameExtensionIntoCore GL_OES_blend_func_separate
RenameExtensionIntoCore GL_OES_blend_subtract
+RenameExtensionIntoCore GL_OES_required_internalformat
RenameExtensionIntoCore GL_OES_depth24
RenameExtensionIntoCore GL_OES_depth32
RenameExtensionIntoCore GL_OES_framebuffer_object
@@ -65,7 +89,6 @@ RenameExtensionIntoCore GL_OES_mapbuffer
RenameExtensionIntoCore GL_OES_packed_depth_stencil
RenameExtensionIntoCore GL_OES_point_sprite
RenameExtensionIntoCore GL_OES_rgb8_rgba8
-RenameExtensionIntoCore GL_OES_read_format
RenameExtensionIntoCore GL_OES_standard_derivatives
RenameExtensionIntoCore GL_OES_stencil1
RenameExtensionIntoCore GL_OES_stencil4
@@ -74,71 +97,47 @@ RenameExtensionIntoCore GL_OES_stencil_wrap
RenameExtensionIntoCore GL_OES_texture_cube_map
RenameExtensionIntoCore GL_OES_texture_mirrored_repeat
RenameExtensionIntoCore GL_OES_vertex_type_10_10_10_2
-RenameExtensionIntoCore GL_EXT_color_buffer_half_float
-RenameExtensionIntoCore GL_EXT_occlusion_query_boolean
-RenameExtensionIntoCore GL_EXT_robustness
-RenameExtensionIntoCore GL_ARB_robustness
-RenameExtensionIntoCore GL_EXT_separate_shader_objects
-RenameExtensionIntoCore GL_EXT_shadow_samplers
-RenameExtensionIntoCore GL_EXT_sRGB
-RenameExtensionIntoCore GL_EXT_texture_array
-RenameExtensionIntoCore GL_EXT_texture_rg
-RenameExtensionIntoCore GL_EXT_texture_type_2_10_10_10_REV
-RenameExtensionIntoCore GL_NV_draw_buffers
-RenameExtensionIntoCore GL_NV_fbo_color_attachments
-RenameExtensionIntoCore GL_EXT_packed_float
-RenameExtensionIntoCore GL_EXT_texture_format_BGRA8888
RenameExtensionIntoCore GL_OES_single_precision
-RenameExtensionIntoCore GL_EXT_draw_buffers
-RenameExtensionIntoCore GL_EXT_texture_storage
-RenameExtensionIntoCore GL_ARB_texture_storage
-RenameExtensionIntoCore GL_EXT_map_buffer_range
-
-# The following extensions have some differences requiring us to
-# manually rename some symbols and leave others alone for best
-# correctness
-# RenameExtensionIntoCore GL_ARB_matrix_palette
-# We do not want to pull in all of this extension into the core namespace
-# RenameExtensionIntoCore GL_ARB_vertex_blend
-
-RenameJavaSymbol GL_MAX_VERTEX_UNITS_ARB GL_MAX_VERTEX_UNITS
-RenameJavaSymbol GL_MAX_PALETTE_MATRICES_ARB GL_MAX_PALETTE_MATRICES
-RenameJavaSymbol GL_MATRIX_PALETTE_ARB GL_MATRIX_PALETTE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_ARB GL_MATRIX_INDEX_ARRAY
-RenameJavaSymbol GL_WEIGHT_ARRAY_ARB GL_WEIGHT_ARRAY
-RenameJavaSymbol GL_CURRENT_PALETTE_MATRIX_ARB GL_CURRENT_PALETTE_MATRIX
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_SIZE_ARB GL_MATRIX_INDEX_ARRAY_SIZE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_TYPE_ARB GL_MATRIX_INDEX_ARRAY_TYPE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_STRIDE_ARB GL_MATRIX_INDEX_ARRAY_STRIDE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_POINTER_ARB GL_MATRIX_INDEX_ARRAY_POINTER
-RenameJavaSymbol GL_WEIGHT_ARRAY_SIZE_ARB GL_WEIGHT_ARRAY_SIZE
-RenameJavaSymbol GL_WEIGHT_ARRAY_TYPE_ARB GL_WEIGHT_ARRAY_TYPE
-RenameJavaSymbol GL_WEIGHT_ARRAY_STRIDE_ARB GL_WEIGHT_ARRAY_STRIDE
-RenameJavaSymbol GL_WEIGHT_ARRAY_POINTER_ARB GL_WEIGHT_ARRAY_POINTER
-RenameJavaSymbol glCurrentPaletteMatrixARB glCurrentPaletteMatrix
-RenameJavaSymbol glMatrixIndexPointerARB glMatrixIndexPointer
-RenameJavaSymbol glWeightPointerARB glWeightPointer
+RenameExtensionIntoCore GL_OES_texture_view
+RenameExtensionIntoCore GL_OES_copy_image
+RenameExtensionIntoCore GL_OES_texture_border_clamp
+RenameExtensionIntoCore GL_OES_mapbuffer
+RenameExtensionIntoCore GL_APPLE_framebuffer_multisample
+RenameExtensionIntoCore GL_ANGLE_framebuffer_multisample
+RenameExtensionIntoCore GL_NV_fbo_color_attachments
+RenameExtensionIntoCore GL_NV_draw_buffers
-# There are some definitions in this extension that don't exist in desktop OpenGL,
-# so we shouldn't remove the suffixes of those OES-only variants
-# RenameExtensionIntoCore GL_OES_matrix_palette
-RenameJavaSymbol GL_MAX_VERTEX_UNITS_OES GL_MAX_VERTEX_UNITS
-RenameJavaSymbol GL_MAX_PALETTE_MATRICES_OES GL_MAX_PALETTE_MATRICES
-RenameJavaSymbol GL_MATRIX_PALETTE_OES GL_MATRIX_PALETTE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_OES GL_MATRIX_INDEX_ARRAY
-RenameJavaSymbol GL_WEIGHT_ARRAY_OES GL_WEIGHT_ARRAY
-RenameJavaSymbol GL_CURRENT_PALETTE_MATRIX_OES GL_CURRENT_PALETTE_MATRIX
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_SIZE_OES GL_MATRIX_INDEX_ARRAY_SIZE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_TYPE_OES GL_MATRIX_INDEX_ARRAY_TYPE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_STRIDE_OES GL_MATRIX_INDEX_ARRAY_STRIDE
-RenameJavaSymbol GL_MATRIX_INDEX_ARRAY_POINTER_OES GL_MATRIX_INDEX_ARRAY_POINTER
-RenameJavaSymbol GL_WEIGHT_ARRAY_SIZE_OES GL_WEIGHT_ARRAY_SIZE
-RenameJavaSymbol GL_WEIGHT_ARRAY_TYPE_OES GL_WEIGHT_ARRAY_TYPE
-RenameJavaSymbol GL_WEIGHT_ARRAY_STRIDE_OES GL_WEIGHT_ARRAY_STRIDE
-RenameJavaSymbol GL_WEIGHT_ARRAY_POINTER_OES GL_WEIGHT_ARRAY_POINTER
-RenameJavaSymbol GL_WEIGHT_ARRAY_BUFFER_BINDING_OES GL_WEIGHT_ARRAY_BUFFER_BINDING
-RenameJavaSymbol glCurrentPaletteMatrixOES glCurrentPaletteMatrix
-RenameJavaSymbol glMatrixIndexPointerOES glMatrixIndexPointer
-RenameJavaSymbol glWeightPointerOES glWeightPointer
+# GL_EXT_texture_storage == GL_ARB_texture_storage
+# If subsuming, the DSA related part, i.e. 'glTextureStorage[123]DEXT' collides w/ OpenGL 4.5,
+# which supports non DSA ''glTextureStorage[123]D' variants.
+# Hence the DSA related part is not renamed!
+# See: GL/glext-supplement.h, GLES2/gl2ext-supplement.h
+# Dropped for manual conversion 'RenameExtensionIntoCore GL_EXT_texture_storage'
+RenameJavaSymbol GL_TEXTURE_IMMUTABLE_FORMAT_EXT GL_TEXTURE_IMMUTABLE_FORMAT
+RenameJavaSymbol GL_ALPHA8_EXT GL_ALPHA8
+RenameJavaSymbol GL_LUMINANCE8_EXT GL_LUMINANCE8
+RenameJavaSymbol GL_LUMINANCE8_ALPHA8_EXT GL_LUMINANCE8_ALPHA8
+RenameJavaSymbol GL_RGBA32F_EXT GL_RGBA32F
+RenameJavaSymbol GL_RGB32F_EXT GL_RGB32F
+RenameJavaSymbol GL_ALPHA32F_EXT GL_ALPHA32F
+RenameJavaSymbol GL_LUMINANCE32F_EXT GL_LUMINANCE32F
+RenameJavaSymbol GL_LUMINANCE_ALPHA32F_EXT GL_LUMINANCE_ALPHA32F
+RenameJavaSymbol GL_RGBA16F_EXT GL_RGBA16F
+RenameJavaSymbol GL_RGB16F_EXT GL_RGB16F
+RenameJavaSymbol GL_ALPHA16F_EXT GL_ALPHA16F
+RenameJavaSymbol GL_LUMINANCE16F_EXT GL_LUMINANCE16F
+RenameJavaSymbol GL_LUMINANCE_ALPHA16F_EXT GL_LUMINANCE_ALPHA16F
+RenameJavaSymbol GL_RGB10_A2_EXT GL_RGB10_A2
+RenameJavaSymbol GL_RGB10_EXT GL_RGB10
+RenameJavaSymbol GL_BGRA8_EXT GL_BGRA8
+RenameJavaSymbol GL_R8_EXT GL_R8
+RenameJavaSymbol GL_RG8_EXT GL_RG8
+RenameJavaSymbol GL_R32F_EXT GL_R32F
+RenameJavaSymbol GL_RG32F_EXT GL_RG32F
+RenameJavaSymbol GL_R16F_EXT GL_R16F
+RenameJavaSymbol GL_RG16F_EXT GL_RG16F
+RenameJavaSymbol glTexStorage1DEXT glTexStorage1D
+RenameJavaSymbol glTexStorage2DEXT glTexStorage2D
+RenameJavaSymbol glTexStorage3DEXT glTexStorage3D
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 9101d36c9..b881ce4d0 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -7,19 +7,30 @@ HierarchicalNativeOutput false
RuntimeExceptionType GLException
UnsupportedExceptionType GLException
+# Desktop GL and GLES* headers types slightly differ
+# but still are compatible related to actual storage size.
+RelaxedEqualSemanticsTest true
+
+# For easier debugging of GLSemHeader, i.e. less debug output
+#DropAllGLDocHeader true
+
# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
-GLHeader GL/gl.h
-GLHeader GL/glext.h
-GLHeader GL/glcorearb.h
-GLHeader GL/glcorearbext.h
-GLHeader GLES/gl.h
-GLHeader GLES/glext.h
-GLHeader GLES2/gl2.h
-GLHeader GLES2/gl2ext.h
-GLHeader GLES3/gl3.h
-GLHeader GLES3/gl3ext.h
-GLHeader GL/glext-20130207.h
+# _for_ API documentation only!
+GLDocHeader GL/glext-supplement.h
+GLDocHeader GL/gl.h
+GLDocHeader GL/glext-20130207.h
+GLDocHeader GL/glext.h
+GLDocHeader GL/glcorearb.h
+GLDocHeader GL/glcorearbext.h
+GLDocHeader GLES/glext-supplement.h
+GLDocHeader GLES/gl.h
+GLDocHeader GLES/glext.h
+GLDocHeader GLES2/gl2ext-supplement.h
+GLDocHeader GLES2/gl2.h
+GLDocHeader GLES2/gl2ext.h
+GLDocHeader GLES3/gl31.h
+GLDocHeader GLES3/gl3ext.h
# Imports needed by all glue code
Import java.util.*
@@ -191,8 +202,8 @@ IgnoreExtension GL_EXT_texture_object
# <<< OpenGL 1.1
# >>> OpenGL 1.2
-# Ignore extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
-IgnoreExtension GL_EXT_bgra
+# Ignore/Rename extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
+RenameExtensionIntoCore GL_EXT_bgra
IgnoreExtension GL_EXT_blend_color
IgnoreExtension GL_EXT_blend_minmax
IgnoreExtension GL_EXT_blend_subtract
@@ -215,12 +226,15 @@ IgnoreExtension GL_SGIS_texture_lod
# <<< OpenGL 1.2
# >>> OpenGL 1.3
-# Ignore extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
+# Ignore/Rename extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
IgnoreExtension GL_ARB_multisample
+IgnoreExtension GL_EXT_multisample
IgnoreExtension GL_ARB_multitexture
IgnoreExtension GL_ARB_texture_compression
IgnoreExtension GL_ARB_texture_cube_map
-IgnoreExtension GL_ARB_texture_border_clamp
+RenameExtensionIntoCore GL_ARB_texture_border_clamp
+RenameExtensionIntoCore GL_EXT_texture_border_clamp
+IgnoreExtension GL_SGIS_texture_border_clamp
IgnoreExtension GL_ARB_texture_env_add
IgnoreExtension GL_ARB_texture_env_combine
IgnoreExtension GL_ARB_texture_env_dot3
@@ -229,13 +243,13 @@ IgnoreExtension GL_EXT_texture_cube_map
IgnoreExtension GL_EXT_texture_env_add
IgnoreExtension GL_EXT_texture_env_combine
IgnoreExtension GL_EXT_texture_env_dot3
-IgnoreExtension GL_SGIS_texture_border_clamp
# <<< OpenGL 1.3
# >>> OpenGL 1.4
# Ignore extensions subsumed in OpenGL 1.4 (from OpenGL 1.4 spec, Appendix G)
IgnoreExtension GL_ARB_depth_texture
IgnoreExtension GL_ARB_point_parameters
+IgnoreExtension GL_EXT_point_parameters
IgnoreExtension GL_ARB_shadow
IgnoreExtension GL_ARB_texture_env_crossbar
IgnoreExtension GL_ARB_texture_mirrored_repeat
@@ -251,33 +265,33 @@ IgnoreExtension GL_SGIS_generate_mipmap
# <<< OpenGL 1.4
# >>> OpenGL 1.5
-# Ignore extensions subsumed in OpenGL 1.5 (from OpenGL 1.5 spec, Appendix H)
+# Ignore/Rename extensions subsumed in OpenGL 1.5 (from OpenGL 1.5 spec, Appendix H)
IgnoreExtension GL_ARB_occlusion_query
-IgnoreExtension GL_ARB_vertex_buffer_object
+RenameExtensionIntoCore GL_ARB_vertex_buffer_object
IgnoreExtension GL_EXT_shadow_funcs
# <<< OpenGL 1.5
# >>> OpenGL 2.0
-# Ignore extensions subsumed in OpenGL 2.0 (from OpenGL 2.0 spec, Appendix I)
-# NOTE that GL_ARB_shader_objects is NOT ignored here, because the
-# naming convention is too different for us to pick up the entry
-# points automatically (e.g. glCreateShaderObjectARB was exposed as
-# glCreateShader)
+# Ignore/Rename extensions subsumed in OpenGL 2.0 (from OpenGL 2.0 spec, Appendix I)
+# NOTE that GL_ARB_shader_objects is NOT renamed/subsumed here,
+# because the naming convention is too different for us to pick up the entry
+# points automatically (e.g. glCreateShaderObjectARB was exposed as glCreateShader)
# IgnoreExtension GL_ARB_shader_objects
IgnoreExtension GL_ARB_vertex_shader
IgnoreExtension GL_ARB_fragment_shader
IgnoreExtension GL_ARB_texture_non_power_of_two
-IgnoreExtension GL_ARB_point_sprite
-IgnoreExtension GL_ARB_draw_buffers
+RenameExtensionIntoCore GL_ARB_point_sprite
+RenameExtensionIntoCore GL_ARB_draw_buffers
+RenameExtensionIntoCore GL_EXT_draw_buffers
IgnoreExtension GL_EXT_blend_equation_separate
# Don't ignore the following one since the entry point is different from anything in the core
# IgnoreExtension GL_EXT_stencil_two_side
# <<< OpenGL 2.0
# >>> OpenGL 2.1
-# Ignore extensions subsumed in OpenGL 2.1 (from OpenGL 2.1 spec, Appendix J)
-IgnoreExtension GL_ARB_pixel_buffer_object
-IgnoreExtension GL_EXT_texture_sRGB
+# Ignore/Rename extensions subsumed in OpenGL 2.1 (from OpenGL 2.1 spec, Appendix J)
+RenameExtensionIntoCore GL_ARB_pixel_buffer_object
+RenameExtensionIntoCore GL_EXT_texture_sRGB
# <<< OpenGL 2.1
# >>> OpenGL 3.0
@@ -298,14 +312,12 @@ RenameExtensionIntoCore GL_EXT_texture_shared_exponent
# gl.h uses GL_ARB_framebuffer_object
RenameExtensionIntoCore GL_ARB_framebuffer_object
-IgnoreExtension GL_EXT_framebuffer_object
+RenameExtensionIntoCore GL_EXT_framebuffer_object
RenameExtensionIntoCore GL_NV_half_float
RenameExtensionIntoCore GL_ARB_half_float_pixel
-# naming collision w/ GL_EXT_multisampled_render_to_texture, but included anyways
-# RenameExtensionIntoCore GL_EXT_framebuffer_multisample
-IgnoreExtension GL_EXT_framebuffer_multisample
+RenameExtensionIntoCore GL_EXT_framebuffer_multisample
RenameExtensionIntoCore GL_EXT_framebuffer_blit
#Big gap of promoted tokens and functions: GL_EXT_texture_integer
@@ -330,9 +342,10 @@ IgnoreExtension GL_APPLE_vertex_array_object
# gl.h uses GL_ARB_framebuffer_sRGB
RenameExtensionIntoCore GL_ARB_framebuffer_sRGB
-IgnoreExtension GL_EXT_framebuffer_sRGB
+RenameExtensionIntoCore GL_EXT_framebuffer_sRGB
RenameExtensionIntoCore GL_ARB_map_buffer_range
+RenameExtensionIntoCore GL_EXT_map_buffer_range
# <<< OpenGL 3.0
@@ -379,6 +392,8 @@ RenameExtensionIntoCore GL_ARB_texture_swizzle
RenameExtensionIntoCore GL_ARB_timer_query
RenameExtensionIntoCore GL_ARB_instanced_arrays
RenameExtensionIntoCore GL_ARB_vertex_type_2_10_10_10_rev
+RenameExtensionIntoCore GL_ARB_instanced_arrays
+RenameExtensionIntoCore GL_EXT_instanced_arrays
# <<< OpenGL 3.3
# >>> OpenGL 4.0
@@ -411,24 +426,101 @@ RenameExtensionIntoCore GL_ARB_viewport_array
# >>> OpenGL 4.2
# Rename extension suffices (if exist) subsumed in OpenGL 4.2 (from OpenGL 4.2 spec, Appendix L.1)
+# Uncommented extensions use a 'EXT' suffix only to distinguish DSA usage!
+RenameExtensionIntoCore GL_ARB_base_instance
+RenameExtensionIntoCore GL_EXT_base_instance
+RenameExtensionIntoCore GL_ARB_shading_language_420pack
+RenameExtensionIntoCore GL_ARB_transform_feedback_instanced
+RenameExtensionIntoCore GL_ARB_compressed_texture_pixel_storage
+RenameExtensionIntoCore GL_ARB_conservative_depth
+RenameExtensionIntoCore GL_ARB_internalformat_query
+RenameExtensionIntoCore GL_ARB_map_buffer_alignment
+RenameExtensionIntoCore GL_ARB_shader_atomic_counters
+RenameExtensionIntoCore GL_ARB_shader_image_load_store
+RenameExtensionIntoCore GL_EXT_shader_image_load_store
+RenameExtensionIntoCore GL_ARB_shading_language_packing
+#RenameExtensionIntoCore GL_ARB_texture_storage
# <<< OpenGL 4.2
# >>> OpenGL 4.3
# Rename extension suffices (if exist) subsumed in OpenGL 4.3 (from OpenGL 4.3 spec, Appendix ?.1)
+# Uncommented extensions use a 'EXT' suffix only to distinguish DSA usage!
+RenameExtensionIntoCore GL_ARB_arrays_of_arrays
+RenameExtensionIntoCore GL_ARB_fragment_layer_viewport
+RenameExtensionIntoCore GL_ARB_shader_image_size
+RenameExtensionIntoCore GL_ARB_ES3_compatibility
+RenameExtensionIntoCore GL_ARB_clear_buffer_object
+RenameExtensionIntoCore GL_ARB_compute_shader
+RenameExtensionIntoCore GL_ARB_copy_image
+RenameExtensionIntoCore GL_EXT_copy_image
RenameExtensionIntoCore GL_ARB_debug_output
+RenameExtensionIntoCore GL_KHR_debug
+RenameExtensionIntoCore GL_ARB_explicit_uniform_location
+RenameExtensionIntoCore GL_ARB_framebuffer_no_attachments
+RenameExtensionIntoCore GL_ARB_internalformat_query2
+RenameExtensionIntoCore GL_ARB_invalidate_subdata
+RenameExtensionIntoCore GL_ARB_multi_draw_indirect
+RenameExtensionIntoCore GL_ARB_program_interface_query
+RenameExtensionIntoCore GL_ARB_robust_buffer_access_behavior
+RenameExtensionIntoCore GL_ARB_shader_storage_buffer_object
+RenameExtensionIntoCore GL_ARB_stencil_texturing
+#RenameExtensionIntoCore GL_ARB_texture_buffer_range
+RenameExtensionIntoCore GL_ARB_texture_query_levels
+#RenameExtensionIntoCore GL_ARB_texture_storage_multisample
+RenameExtensionIntoCore GL_ARB_texture_view
+RenameExtensionIntoCore GL_EXT_texture_view
+#RenameExtensionIntoCore GL_ARB_vertex_attrib_binding
# <<< OpenGL 4.3
+# >>> OpenGL 4.4
+# Uncommented extensions use a 'EXT' suffix only to distinguish DSA usage!
+# <<< OpenGL 4.4
+
+# >>> OpenGL 4.5
+# Uncommented extensions use a 'EXT' suffix only to distinguish DSA usage!
+RenameExtensionIntoCore GL_ARB_clip_control
+RenameExtensionIntoCore GL_ARB_cull_distance
+RenameExtensionIntoCore GL_ARB_ES3_1_compatibility
+RenameExtensionIntoCore GL_ARB_conditional_render_inverted
+RenameExtensionIntoCore GL_KHR_context_flush_control
+RenameExtensionIntoCore GL_ARB_derivative_control
+RenameExtensionIntoCore GL_ARB_direct_state_access
+#RenameExtensionIntoCore GL_EXT_direct_state_access
+RenameExtensionIntoCore GL_ARB_get_texture_sub_image
+RenameExtensionIntoCore GL_ARB_robustness
+RenameExtensionIntoCore GL_KHR_robustness
+RenameExtensionIntoCore GL_EXT_robustness
+RenameExtensionIntoCore GL_ARB_shader_texture_image_samples
+RenameExtensionIntoCore GL_ARB_texture_barrier
+# <<< OpenGL 4.5
+
# >>> OpenGL ES 2.0
# <<< OpenGL ES 2.0
# >>> OpenGL ES 3.0
# <<< OpenGL ES 3.0
-# Ignore a few obsolete versions of extensions that have been subsumed into the core or ARB extensions
-IgnoreExtension GL_EXT_multisample
-IgnoreExtension GL_EXT_point_parameters
-IgnoreExtension GL_EXT_separate_shader_objects
-IgnoreExtension GL_EXT_shader_image_load_store
+# >>> OpenGL ES 3.1
+#FIXME
+# <<< OpenGL ES 3.1
+
+# GL_EXT_separate_shader_objects of GLES2/gl2ext.h
+# collides with GL/glext.h variant.
+# The latter is obsolete and has different semantics!
+# GLES2/gl2ext.h's GL_EXT_separate_shader_objects version
+# has been added to GL/glext-supplement.h overriding the 'odd' GL/glext.h one.
+RenameExtensionIntoCore GL_EXT_separate_shader_objects
+
+RenameExtensionIntoCore GL_EXT_color_buffer_half_float
+RenameExtensionIntoCore GL_EXT_occlusion_query_boolean
+RenameExtensionIntoCore GL_EXT_shadow_samplers
+RenameExtensionIntoCore GL_EXT_sRGB
+RenameExtensionIntoCore GL_EXT_sRGB_write_control
+RenameExtensionIntoCore GL_EXT_texture_rg
+RenameExtensionIntoCore GL_EXT_texture_type_2_10_10_10_REV
+RenameExtensionIntoCore GL_EXT_packed_float
+RenameExtensionIntoCore GL_EXT_texture_format_BGRA8888
+RenameExtensionIntoCore GL_EXT_disjoint_timer_query
#
# Opaques and other directives for platform-independent routines
@@ -437,8 +529,11 @@ IgnoreExtension GL_EXT_shader_image_load_store
Opaque boolean GLboolean
Opaque long GLsync
Opaque long GLeglImageOES
-Opaque long cl_context
-Opaque long cl_event
+Opaque long GLhandleARB
+# for 'struct _cl_context*'
+Opaque long _cl_context*
+# for 'struct _cl_event*'
+Opaque long _cl_event*
ReturnsString glGetString
ReturnsString glGetStringi
@@ -483,8 +578,6 @@ NIODirectOnly glVertexAttribPointer
NIODirectOnly glVertexPointer
NIODirectOnly glVertexWeightPointerEXT
NIODirectOnly glWeightPointerARB
-NIODirectOnly wglFreeMemoryNV
-NIODirectOnly glXFreeMemoryNV
# Native PointerBuffer usage:
NIODirectOnly glMultiDrawElements
@@ -503,11 +596,6 @@ NIODirectOnly glExtGetBufferPointervQCOM
#
#NIO Review: No technical reason to constrain array access for these:
-# Capacity of wglAllocateMemoryNV/glXAllocateMemoryNV return value is
-# same as value of first argument
-ReturnValueCapacity wglAllocateMemoryNV {0}
-ReturnValueCapacity glXAllocateMemoryNV {0}
-
# Pass arguments to ARB_vertex_program, ARB_fragment_program,
# ARB_shader_objects, NV_vertex_program, NV_fragment_program, and
# ARB_vertex_shader as Strings
diff --git a/make/config/jogl/gl-desktop-ignores.cfg b/make/config/jogl/gl-desktop-ignores.cfg
new file mode 100644
index 000000000..f19bfffb6
--- /dev/null
+++ b/make/config/jogl/gl-desktop-ignores.cfg
@@ -0,0 +1,7 @@
+# Ignoring API only available on desktop systems, e.g. GL2, GL3, ..
+#
+
+# We may reconsider ..
+IgnoreExtension GL_AMD_performance_monitor
+IgnoreExtension GL_INTEL_performance_query
+
diff --git a/make/config/jogl/gl-desktop.cfg b/make/config/jogl/gl-desktop.cfg
index 244271468..fd791aaa7 100644
--- a/make/config/jogl/gl-desktop.cfg
+++ b/make/config/jogl/gl-desktop.cfg
@@ -3,6 +3,7 @@
#Include gl-desktop-tracker.cfg
+Opaque long void **
#
# Directives needed when processing wglext.h on Windows and other platforms
@@ -18,7 +19,6 @@ Opaque long HGDIOBJ
Opaque long HGLRC
Opaque long HPBUFFERARB
Opaque long HPBUFFEREXT
-Opaque long void **
ReturnsString wglGetExtensionsStringARB
ReturnsString wglGetExtensionsStringEXT
@@ -29,7 +29,6 @@ Opaque long XID
# Directives needed when processing cglext.h on MacOSX and other platforms
#
Opaque long CGContextRef
-Opaque long void **
# Implement the first argument to cglGetProcAddress as String instead
# of byte[]
ArgumentIsString cglGetProcAddress 0
diff --git a/make/config/jogl/gl-embedded-ignores.cfg b/make/config/jogl/gl-embedded-ignores.cfg
new file mode 100644
index 000000000..2684a6dc8
--- /dev/null
+++ b/make/config/jogl/gl-embedded-ignores.cfg
@@ -0,0 +1,13 @@
+# Ignoring API only available on embedded systems, e.g. ES1, ES2, ES3, ..
+#
+
+# GL_APPLE_framebuffer_multisample
+Ignore glResolveMultisampleFramebufferAPPLE
+
+# GL_KHR_debug: Only avail on ES2
+Ignore GL_VERTEX_ARRAY_KHR
+
+# Since we subsume GL_KHR_debug, we need to skip GL_VERTEX_ARRAY,
+# which is already defined in GLPointerFunc
+Ignore GL_VERTEX_ARRAY
+
diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg
index cc87a879e..98d892247 100644
--- a/make/config/jogl/gl-es1.cfg
+++ b/make/config/jogl/gl-es1.cfg
@@ -2,6 +2,13 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/es1
+# 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 GLES/glext-supplement.h
+GLSemHeader GLES/gl.h
+GLSemHeader GLES/glext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java
@@ -25,6 +32,7 @@ Implements GLES1Impl GL2ES1
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
+Include gl-desktop-ignores.cfg
EmitProcAddressTable true
ProcAddressTableClassName GLES1ProcAddressTable
@@ -67,20 +75,10 @@ CustomJavaCode GLES1Impl glClearDepthf((float)depth); }
CustomJavaCode GLES1Impl public void glDepthRange(double zNear, double zFar) {
CustomJavaCode GLES1Impl glDepthRangef((float)zNear, (float)zFar); }
-CustomCCode #include <stdio.h> /* android */
-CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glext.h" are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-
-CustomCCode /* Include the OpenGL headers */
-CustomCCode /* #define GL_APICALL __declspec(dllimport) */
-CustomCCode #include <GLES/gl.h>
-CustomCCode #include <GLES/glext.h>
-CustomCCode #include <stdlib.h>
-
IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-gles1.java
-IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-embedded.java
+
+Include es1-headers.cfg
IncludeAs CustomCCode gl-impl-CustomCCode-gles1.c
Import com.jogamp.opengl.GLES1
diff --git a/make/config/jogl/gl-es3-impl.cfg b/make/config/jogl/gl-es3-impl.cfg
index 22acdbdeb..443f91c1c 100644
--- a/make/config/jogl/gl-es3-impl.cfg
+++ b/make/config/jogl/gl-es3-impl.cfg
@@ -2,6 +2,14 @@
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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES3/gl31.h
+GLSemHeader GLES3/gl3ext.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
@@ -27,6 +35,7 @@ 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
@@ -50,27 +59,17 @@ 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, params, params_offset) ) { return; }
-
-CustomCCode #include <stdio.h> /* android */
-CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glext.h" are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-
-CustomCCode /* Include the OpenGL headers */
-CustomCCode /* #define GL_APICALL __declspec(dllimport) */
-CustomCCode #include <GLES3/gl3.h>
-CustomCCode #include <GLES3/gl3ext.h>
-CustomCCode #include <GLES2/gl2ext.h>
-CustomCCode #include <stdlib.h>
+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-embedded.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
diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg
index 668fc3427..034faa59e 100644
--- a/make/config/jogl/gl-gl4bc.cfg
+++ b/make/config/jogl/gl-gl4bc.cfg
@@ -2,6 +2,16 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl4
+# 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 GL/glext-supplement.h
+GLSemHeader GL/gl.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glext.h
+GLSemHeader GL/glcorearb.h
+GLSemHeader GL/glcorearbext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java
@@ -51,6 +61,7 @@ Implements GL4bcImpl GL4
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl3-desktop.cfg
Include gl3-common.cfg
Include gl2_es2-CustomJavaCode.cfg
@@ -135,27 +146,26 @@ JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);
JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; }
JavaPrologue glFrustumf if ( !_context.hasFP32CompatAPI() ) {
-JavaPrologue glFrustumf glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar);
+JavaPrologue glFrustumf glFrustum((double)l, (double)r, (double)b, (double)t, (double)n, (double)f);
JavaPrologue glFrustumf return;
JavaPrologue glFrustumf }
JavaPrologue glOrthof if ( !_context.hasFP32CompatAPI() ) {
-JavaPrologue glOrthof glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar);
+JavaPrologue glOrthof glOrtho((double)l, (double)r, (double)b, (double)t, (double)n, (double)f);
JavaPrologue glOrthof return;
JavaPrologue glOrthof }
JavaPrologue glDepthRangef if ( !_context.isGLES2Compatible() && !_context.hasFP32CompatAPI() ) {
-JavaPrologue glDepthRangef glDepthRange( (double)zNear, (double)zFar );
+JavaPrologue glDepthRangef glDepthRange( (double)n, (double)f );
JavaPrologue glDepthRangef return;
JavaPrologue glDepthRangef }
JavaPrologue glClearDepthf if ( !_context.isGLES2Compatible() && !_context.hasFP32CompatAPI() ) {
-JavaPrologue glClearDepthf glClearDepth( (double)depth );
+JavaPrologue glClearDepthf glClearDepth( (double)d );
JavaPrologue glClearDepthf return;
JavaPrologue glClearDepthf }
Include gl-headers.cfg
-Include gl3ext-headers.cfg
IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl4bc.java
diff --git a/make/config/jogl/gl-headers.cfg b/make/config/jogl/gl-headers.cfg
index 0916fa348..3692cd804 100644
--- a/make/config/jogl/gl-headers.cfg
+++ b/make/config/jogl/gl-headers.cfg
@@ -1,25 +1,13 @@
-CustomCCode #include <gluegen_stdint.h>
CustomCCode #include <stdio.h> /* android */
-CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
+CustomCCode #include <GL/gl-platform.h>
+CustomCCode #include <gl-types.h>
CustomCCode #if defined(_WIN32)
-CustomCCode #define WIN32_LEAN_AND_MEAN
-CustomCCode #include <windows.h>
-CustomCCode #undef WIN32_LEAN_AND_MEAN
CustomCCode #include <stdlib.h>
CustomCCode #include <stddef.h>
CustomCCode #include <malloc.h>
-CustomCCode /* Define WGL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "wglext.h" are parsed. */
-CustomCCode #define WGL_GLEXT_PROTOTYPES
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
-CustomCCode #include <GL/wglext.h>
CustomCCode #elif defined(__APPLE__)
CustomCCode #include <inttypes.h>
CustomCCode #include <stdlib.h>
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
CustomCCode #include <machine/types.h>
CustomCCode /* Provide Windows typedefs */
CustomCCode typedef void* LPVOID;
@@ -28,11 +16,7 @@ CustomCCode #elif defined(__unix__)
CustomCCode #include <inttypes.h>
CustomCCode #include <stdlib.h>
CustomCCode #include <X11/Xlib.h>
-CustomCCode /* Define GLX_GLXEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glxext.h" are parsed. */
-CustomCCode #define GLX_GLXEXT_PROTOTYPES
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
-CustomCCode #include <GL/glx.h>
-CustomCCode #include <GL/glxext.h>
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
CustomCCode #endif
diff --git a/make/config/jogl/gl-if-CustomJavaCode-es3.java b/make/config/jogl/gl-if-CustomJavaCode-es3.java
index 88c557f11..915218deb 100644
--- a/make/config/jogl/gl-if-CustomJavaCode-es3.java
+++ b/make/config/jogl/gl-if-CustomJavaCode-es3.java
@@ -5,9 +5,6 @@ public static final int GL_INVALID_INDEX = 0xFFFFFFFF ;
/** Part of <code>GL_ARB_sync</code> */
public static final long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFL ;
-/** Part of <code>GL_ARB_shader_image_load_store</code> */
-public static final int GL_ALL_BARRIER_BITS = 0xFFFFFFFF ;
-
public boolean isPBOPackBound();
public boolean isPBOUnpackBound();
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl.java b/make/config/jogl/gl-if-CustomJavaCode-gl.java
index f9f33eec9..bcbd3c52f 100644
--- a/make/config/jogl/gl-if-CustomJavaCode-gl.java
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl.java
@@ -57,11 +57,8 @@
earmarked for ES 3.0 (hence kept in GL while fixing Bug 590) */
public static final int GL_HALF_FLOAT = 0x140B;
- /** Part of <code>GL_VERSION_1_4</code>, <code>GL_ES_VERSION_2_0</code>, <code>GL_OES_required_internalformat</code>. */
- public static final int GL_DEPTH_COMPONENT16 = 0x81A5;
- /** Part of <code>GL_VERSION_1_0</code>, <code>GL_OES_element_index_uint</code>, <code>GL_ES_VERSION_2_0</code> */
- public static final int GL_UNSIGNED_INT = 0x1405;
- /** Part of <code>GL_VERSION_1_0</code>, <code>GL_ES_VERSION_2_0</code> */
- public static final int GL_UNSIGNED_SHORT = 0x1403;
-
+ /** Part of <code>GL_EXT_framebuffer_object</code>; <code>GL_ES_VERSION_2_0</code>; <code>GL_OES_framebuffer_object</code> */
+ public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS = 0x8CDA;
+ /** Part of <code>GL_ES_VERSION_3_0</code>, <code>GL_VERSION_3_0</code>; <code>GL_EXT_packed_float</code> */
+ public static final int GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java b/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java
index 5ad235de5..970a20900 100644
--- a/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java
@@ -1,5 +1,5 @@
- /** Part of <code>GL_ARB_separate_shader_objects</code>, <code>GL_EXT_separate_shader_objects</code> */
- public static final int GL_ALL_SHADER_BITS = 0xFFFFFFFF ;
+ /** Part of <code>GL_ES_VERSION_2_0</code>, <code>GL_VERSION_1_1</code>, <code>GL_VERSION_1_0</code> */
+ public static final int GL_STENCIL_INDEX = 0x1901;
/** Start: GL_ARB_ES2_compatibility functions, which are part of ES2 core as well */
@@ -53,7 +53,4 @@
public void glUniform(GLUniformData data);
- /** Part of <code>GL_VERSION_1_0</code>, <code>GL_ES_VERSION_2_0</code>, <code>GL_ANGLE_depth_texture</code> */
- public static final int GL_DEPTH_COMPONENT = 0x1902;
-
/** End: GL_ARB_ES2_compatibility functions, which are part of ES2 core as well */
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl_compat.java b/make/config/jogl/gl-if-CustomJavaCode-gl_compat.java
deleted file mode 100644
index 22ae54cbe..000000000
--- a/make/config/jogl/gl-if-CustomJavaCode-gl_compat.java
+++ /dev/null
@@ -1,20 +0,0 @@
-
-/**
- * Part of <code>GL_NV_vertex_array_range</code>.
- * <p>
- * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
- * <code>glXAllocateMemoryNV</code>.
- * </p>
- */
-public java.nio.ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority);
-
-/**
- * Part of <code>GL_NV_vertex_array_range</code>.
- * <p>
- * Provides platform-independent access to the <code>wglFreeMemoryNV</code> /
- * <code>glXFreeMemoryNV</code>.
- * </p>
- */
-public void glFreeMemoryNV(java.nio.ByteBuffer pointer);
-
-
diff --git a/make/config/jogl/gl-if-es2.cfg b/make/config/jogl/gl-if-es2.cfg
index 23e392e9f..49b1973cc 100644
--- a/make/config/jogl/gl-if-es2.cfg
+++ b/make/config/jogl/gl-if-es2.cfg
@@ -2,6 +2,13 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/es2
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES2/gl2.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 ../src/jogl/classes/com/jogamp/opengl/GLBase.java
@@ -16,6 +23,7 @@ Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl2_es2-common.cfg
Include gl2_es2-CustomJavaCode.cfg
+Include gl-desktop-ignores.cfg
IncludeAs CustomJavaCode GLES2 gl2_es1-common-cpubufferJavaCode.java
IncludeAs CustomJavaCode GLES2 gl2_es2-common-cpubufferJavaCode.java
diff --git a/make/config/jogl/gl-if-es3.cfg b/make/config/jogl/gl-if-es3.cfg
index 80273e4cf..cf56e9f0d 100644
--- a/make/config/jogl/gl-if-es3.cfg
+++ b/make/config/jogl/gl-if-es3.cfg
@@ -1,6 +1,14 @@
# This .cfg file is used to generate the GL interface.
JavaOutputDir gensrc/classes
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES3/gl31.h
+GLSemHeader GLES3/gl3ext.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
@@ -24,6 +32,7 @@ Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl2_es2-CustomJavaCode.cfg
+Include gl-desktop-ignores.cfg
IncludeAs CustomJavaCode GLES3 gl2_es2-common-cpubufferJavaCode.java
IncludeAs CustomJavaCode GLES3 gl2-common-cpubufferJavaCode.java
diff --git a/make/config/jogl/gl-if-gl-ignores.cfg b/make/config/jogl/gl-if-gl-ignores.cfg
index e6513cadb..d6d71e09f 100644
--- a/make/config/jogl/gl-if-gl-ignores.cfg
+++ b/make/config/jogl/gl-if-gl-ignores.cfg
@@ -1,19 +1,29 @@
-# FIXME: some of these definitions like the ARB_imaging subset should end up in the GL interface
-
#
# remove all enums/funcs which are not subset of all GL profiles
+# includes all of gl-common-extensions.cfg
#
-
+DropUniqVendorExtensions 3DFX
DropUniqVendorExtensions AMD
DropUniqVendorExtensions ANGLE
DropUniqVendorExtensions ARM
DropUniqVendorExtensions APPLE
DropUniqVendorExtensions ATI
+DropUniqVendorExtensions FJ
+DropUniqVendorExtensions HP
DropUniqVendorExtensions IMG
-DropUniqVendorExtensions QCOM
+DropUniqVendorExtensions IBM
+DropUniqVendorExtensions INGR
+DropUniqVendorExtensions MESA
+DropUniqVendorExtensions MESAX
DropUniqVendorExtensions NV
+DropUniqVendorExtensions PGI
+DropUniqVendorExtensions QCOM
+DropUniqVendorExtensions SGI
+DropUniqVendorExtensions SGIS
+DropUniqVendorExtensions SGIX
+DropUniqVendorExtensions SUN
DropUniqVendorExtensions VIV
-DropUniqVendorExtensions FJ
+DropUniqVendorExtensions WIN
IgnoreExtension GL_EXT_discard_framebuffer
IgnoreExtension GL_OES_compressed_paletted_texture
@@ -25,7 +35,6 @@ IgnoreExtension GL_EXT_color_buffer_half_float
IgnoreExtension GL_EXT_occlusion_query_boolean
IgnoreExtension GL_EXT_separate_shader_objects
IgnoreExtension GL_EXT_shadow_samplers
-IgnoreExtension GL_EXT_sRGB
IgnoreExtension GL_EXT_texture_array
IgnoreExtension GL_EXT_texture_rg
IgnoreExtension GL_OES_compressed_ETC1_RGB8_texture
@@ -40,9 +49,93 @@ IgnoreExtension GL_NV_fbo_color_attachments
IgnoreExtension GL_OES_vertex_array_object
IgnoreExtension GL_OES_texture_3D
IgnoreExtension GL_OES_surfaceless_context
-IgnoreExtension GL_OES_required_internalformat
IgnoreExtension GL_EXT_unpack_subimage
IgnoreExtension GL_KHR_debug
+IgnoreExtension GL_APPLE_texture_format_BGRA8888
+IgnoreExtension GL_EXT_disjoint_timer_query
+
+IgnoreExtension GL_ARB_texture_multisample
+IgnoreExtension GL_EXT_copy_image
+IgnoreExtension GL_OES_copy_image
+
+#
+# Ignored new extensions added in gl2ext.h ]2013-06-25..2015-01-26]
+# see jogl/make/scripts/diff-gl2ext.sh
+#
+IgnoreExtension GL_ANDROID_extension_pack_es31a
+IgnoreExtension GL_APPLE_clip_distance
+IgnoreExtension GL_APPLE_color_buffer_packed_float
+IgnoreExtension GL_APPLE_texture_packed_float
+IgnoreExtension GL_ARM_shader_framebuffer_fetch
+IgnoreExtension GL_ARM_shader_framebuffer_fetch_depth_stencil
+IgnoreExtension GL_DMP_program_binary
+IgnoreExtension GL_EXT_base_instance
+IgnoreExtension GL_EXT_draw_buffers_indexed
+IgnoreExtension GL_EXT_draw_elements_base_vertex
+IgnoreExtension GL_EXT_draw_instanced
+IgnoreExtension GL_EXT_geometry_point_size
+IgnoreExtension GL_EXT_geometry_shader
+IgnoreExtension GL_EXT_gpu_shader5
+IgnoreExtension GL_EXT_instanced_arrays
+IgnoreExtension GL_EXT_multi_draw_indirect
+IgnoreExtension GL_EXT_primitive_bounding_box
+IgnoreExtension GL_EXT_pvrtc_sRGB
+IgnoreExtension GL_EXT_render_snorm
+IgnoreExtension GL_EXT_shader_implicit_conversions
+IgnoreExtension GL_EXT_shader_integer_mix
+IgnoreExtension GL_EXT_shader_io_blocks
+IgnoreExtension GL_EXT_shader_pixel_local_storage
+IgnoreExtension GL_EXT_tessellation_point_size
+IgnoreExtension GL_EXT_tessellation_shader
+IgnoreExtension GL_EXT_texture_border_clamp
+IgnoreExtension GL_EXT_texture_buffer
+#IgnoreExtension GL_EXT_texture_compression_s3tc
+IgnoreExtension GL_EXT_texture_cube_map_array
+IgnoreExtension GL_EXT_texture_norm16
+IgnoreExtension GL_EXT_texture_sRGB_decode
+IgnoreExtension GL_EXT_texture_view
+IgnoreExtension GL_INTEL_performance_query
+IgnoreExtension GL_KHR_blend_equation_advanced
+IgnoreExtension GL_KHR_blend_equation_advanced_coherent
+IgnoreExtension GL_KHR_context_flush_control
+IgnoreExtension GL_KHR_robust_buffer_access_behavior
+IgnoreExtension GL_KHR_robustness
+IgnoreExtension GL_KHR_texture_compression_astc_hdr
+IgnoreExtension GL_NV_bindless_texture
+IgnoreExtension GL_NV_blend_equation_advanced
+IgnoreExtension GL_NV_blend_equation_advanced_coherent
+IgnoreExtension GL_NV_conditional_render
+IgnoreExtension GL_NV_copy_buffer
+IgnoreExtension GL_NV_explicit_attrib_location
+IgnoreExtension GL_NV_image_formats
+IgnoreExtension GL_NV_internalformat_sample_query
+IgnoreExtension GL_NV_non_square_matrices
+IgnoreExtension GL_NV_path_rendering
+IgnoreExtension GL_NV_shader_noperspective_interpolation
+IgnoreExtension GL_NV_viewport_array
+IgnoreExtension GL_OES_compressed_ETC1_RGB8_sub_texture
+IgnoreExtension GL_OES_draw_buffers_indexed
+IgnoreExtension GL_OES_draw_elements_base_vertex
+IgnoreExtension GL_OES_EGL_image_external_essl3
+IgnoreExtension GL_OES_geometry_point_size
+IgnoreExtension GL_OES_geometry_shader
+IgnoreExtension GL_OES_gpu_shader5
+IgnoreExtension GL_OES_primitive_bounding_box
+IgnoreExtension GL_OES_sample_shading
+IgnoreExtension GL_OES_sample_variables
+IgnoreExtension GL_OES_shader_image_atomic
+IgnoreExtension GL_OES_shader_io_blocks
+IgnoreExtension GL_OES_shader_multisample_interpolation
+IgnoreExtension GL_OES_tessellation_point_size
+IgnoreExtension GL_OES_tessellation_shader
+IgnoreExtension GL_OES_texture_border_clamp
+IgnoreExtension GL_OES_texture_buffer
+IgnoreExtension GL_OES_texture_compression_astc
+IgnoreExtension GL_OES_texture_cube_map
+IgnoreExtension GL_OES_texture_cube_map_array
+IgnoreExtension GL_OES_texture_stencil8
+IgnoreExtension GL_OES_texture_storage_multisample_2d_array
+IgnoreExtension GL_OES_texture_view
# includes GL_STATE_RESTORE, which hasn't the QCOM suffix
IgnoreExtension GL_QCOM_extended_get
@@ -52,7 +145,6 @@ Ignore GL_STATE_RESTORE
Ignore GL_ACTIVE_PROGRAM
Ignore GL_ANY_SAMPLES_PASSED
Ignore GL_ANY_SAMPLES_PASSED_CONSERVATIVE
-Ignore GL_BGRA8_EXT
Ignore GL_BUFFER_OBJECT_EXT
Ignore GL_COLOR_ATTACHMENT1
Ignore GL_COLOR_ATTACHMENT10
@@ -102,15 +194,7 @@ Ignore GL_PROGRAM_SEPARABLE
Ignore GL_QUERY_OBJECT_EXT
Ignore GL_QUERY_RESULT
Ignore GL_QUERY_RESULT_AVAILABLE
-Ignore GL_R32F
-Ignore GL_R16F
-Ignore GL_R8
-Ignore GL_RED
Ignore GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
-Ignore GL_RG
-Ignore GL_RG32F
-Ignore GL_RG16F
-Ignore GL_RG8
Ignore GL_SAMPLER_2D_SHADOW
Ignore GL_SAMPLER_EXTERNAL_OES
Ignore GL_SHADER_BINARY_DMP
@@ -127,6 +211,16 @@ Ignore GL_UNSIGNED_INT_2_10_10_10_REV
Ignore GL_UNSIGNED_NORMALIZED
Ignore GL_VERTEX_ARRAY_OBJECT_EXT
Ignore GL_VERTEX_SHADER_BIT
+Ignore GL_VERTEX_ATTRIB_ARRAY_DIVISOR
+Ignore GL_ALL_SHADER_BITS
+Ignore GL_TEXTURE_VIEW_MIN_LEVEL
+Ignore GL_TEXTURE_VIEW_MIN_LAYER
+Ignore GL_TEXTURE_VIEW_NUM_LEVELS
+Ignore GL_TEXTURE_VIEW_NUM_LAYERS
+Ignore GL_QUERY_WAIT
+Ignore GL_QUERY_NO_WAIT
+Ignore GL_QUERY_BY_REGION_WAIT
+Ignore GL_QUERY_BY_REGION_NO_WAIT
Ignore glFramebufferTexture2DMultisampleEXT
Ignore glGetObjectLabelEXT
Ignore glInsertEventMarkerEXT
@@ -191,7 +285,6 @@ Ignore GL_BOOL
Ignore GL_BOOL_VEC2
Ignore GL_BOOL_VEC3
Ignore GL_BOOL_VEC4
-Ignore GL_BUFFER_ACCESS_OES
Ignore GL_CLEAR
Ignore GL_CLIENT_ACTIVE_TEXTURE
Ignore GL_CLIP_PLANE0
@@ -230,8 +323,6 @@ Ignore GL_DECAL
#Ignore GL_DECR_WRAP_OES
Ignore GL_DELETE_STATUS
Ignore GL_DEPTH_COMPONENT
-Ignore GL_DEPTH_COMPONENT24_OES
-Ignore GL_DEPTH_COMPONENT32_OES
Ignore GL_DIFFUSE
Ignore GL_DOT3_RGB
Ignore GL_DOT3_RGBA
@@ -428,8 +519,6 @@ Ignore GL_STENCIL_BACK_REF
Ignore GL_STENCIL_BACK_VALUE_MASK
Ignore GL_STENCIL_BACK_WRITEMASK
Ignore GL_STENCIL_INDEX
-Ignore GL_STENCIL_INDEX1_OES
-Ignore GL_STENCIL_INDEX4_OES
Ignore GL_STREAM_DRAW
Ignore GL_SUBTRACT
Ignore GL_TEXTURE_2D_ARRAY_EXT
@@ -473,7 +562,7 @@ Ignore GL_WEIGHT_ARRAY_POINTER_OES
Ignore GL_WEIGHT_ARRAY_SIZE_OES
Ignore GL_WEIGHT_ARRAY_STRIDE_OES
Ignore GL_WEIGHT_ARRAY_TYPE_OES
-Ignore GL_WRITE_ONLY_OES
+#Ignore GL_WRITE_ONLY_OES
Ignore GL_XOR
Ignore glIsProgram
Ignore glIsShader
diff --git a/make/config/jogl/gl-if-gl.cfg b/make/config/jogl/gl-if-gl.cfg
index d552e5a31..8716e5cdd 100644
--- a/make/config/jogl/gl-if-gl.cfg
+++ b/make/config/jogl/gl-if-gl.cfg
@@ -4,6 +4,13 @@ Style InterfaceOnly
JavaClass GL
Extends GL GLBase
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES2/gl2.h
+GLSemHeader GLES2/gl2ext.h
+
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java
HierarchicalNativeOutput false
@@ -12,7 +19,10 @@ Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl-if-gl-ignores.cfg
Include gl-if-gl2_es2-ignores.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-if-gl3-ignores.cfg
+Include gl-if-gl4-ignores.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
diff --git a/make/config/jogl/gl-if-gl2.cfg b/make/config/jogl/gl-if-gl2.cfg
index 85c7cbe15..bff2e5fed 100644
--- a/make/config/jogl/gl-if-gl2.cfg
+++ b/make/config/jogl/gl-if-gl2.cfg
@@ -2,6 +2,14 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl2
+# 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 GL/glext-supplement.h
+GLSemHeader GL/gl.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java
@@ -23,11 +31,11 @@ Extends GL2 GL2GL3
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl-if-gl3-ignores.cfg
Include gl-if-gl4-ignores.cfg
IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java
-IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl_compat.java
IncludeAs CustomJavaCode GL2 gl2_es2-common-cpubufferJavaCode.java
IncludeAs CustomJavaCode GL2 gl2-common-cpubufferJavaCode.java
@@ -43,5 +51,3 @@ ForceProcAddressGen __ALL__
# Ignore extensions that are already picked up via the GL2ES1 interface
IgnoreExtension GL_EXT_point_parameters
-Include gl-headers.cfg
-
diff --git a/make/config/jogl/gl-if-gl2_es1.cfg b/make/config/jogl/gl-if-gl2_es1.cfg
index 1d517b731..9fb2fbf83 100644
--- a/make/config/jogl/gl-if-gl2_es1.cfg
+++ b/make/config/jogl/gl-if-gl2_es1.cfg
@@ -8,6 +8,13 @@ Extends GL2ES1 GLMatrixFunc
Extends GL2ES1 GLPointerFunc
Extends GL2ES1 GLLightingFunc
+# 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 GLES/glext-supplement.h
+GLSemHeader GLES/gl.h
+GLSemHeader GLES/glext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLMatrixFunc.java
@@ -17,7 +24,8 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/G
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
@@ -46,6 +54,9 @@ IgnoreExtension GL_OES_query_matrix
IgnoreExtension GL_OES_vertex_half_float
IgnoreExtension GL_OES_matrix_palette
+IgnoreExtension GL_OES_texture_cube_map
+IgnoreExtension GL_OES_texture_cube_map_array
+
IgnoreExtension GL_EXT_debug_marker
IgnoreExtension GL_EXT_debug_label
IgnoreExtension GL_EXT_multisampled_render_to_texture
diff --git a/make/config/jogl/gl-if-gl2_es2-ignores.cfg b/make/config/jogl/gl-if-gl2_es2-ignores.cfg
index f08d8a51b..e34ff1fe2 100644
--- a/make/config/jogl/gl-if-gl2_es2-ignores.cfg
+++ b/make/config/jogl/gl-if-gl2_es2-ignores.cfg
@@ -1,4 +1,6 @@
-# Ignore all ES 2.X only stuff ..
+# Ignoring API only available on ES2/ES3
+#
+
DropUniqVendorExtensions ANGLE
DropUniqVendorExtensions ARM
DropUniqVendorExtensions APPLE
@@ -27,7 +29,6 @@ IgnoreExtension GL_ANGLE_translated_shader_source
IgnoreExtension GL_EXT_debug_label
IgnoreExtension GL_EXT_debug_marker
IgnoreExtension GL_EXT_discard_framebuffer
-IgnoreExtension GL_EXT_disjoint_timer_query
IgnoreExtension GL_EXT_draw_buffers
IgnoreExtension GL_EXT_multiview_draw_buffers
IgnoreExtension GL_EXT_multisampled_render_to_texture
@@ -41,6 +42,82 @@ IgnoreExtension GL_OES_surfaceless_context
IgnoreExtension GL_OES_texture_half_float
IgnoreExtension GL_OES_EGL_image_external
+#
+# Ignored new extensions added in gl2ext.h ]2013-06-25..2015-01-26]
+# see jogl/make/scripts/diff-gl2ext.sh
+#
+IgnoreExtension GL_ANDROID_extension_pack_es31a
+IgnoreExtension GL_APPLE_clip_distance
+IgnoreExtension GL_APPLE_color_buffer_packed_float
+IgnoreExtension GL_APPLE_texture_packed_float
+IgnoreExtension GL_ARM_shader_framebuffer_fetch
+IgnoreExtension GL_ARM_shader_framebuffer_fetch_depth_stencil
+IgnoreExtension GL_DMP_program_binary
+IgnoreExtension GL_EXT_draw_buffers_indexed
+IgnoreExtension GL_EXT_draw_elements_base_vertex
+IgnoreExtension GL_EXT_draw_instanced
+IgnoreExtension GL_EXT_geometry_point_size
+IgnoreExtension GL_EXT_geometry_shader
+IgnoreExtension GL_EXT_gpu_shader5
+IgnoreExtension GL_EXT_instanced_arrays
+IgnoreExtension GL_EXT_multi_draw_indirect
+IgnoreExtension GL_EXT_primitive_bounding_box
+IgnoreExtension GL_EXT_pvrtc_sRGB
+IgnoreExtension GL_EXT_render_snorm
+IgnoreExtension GL_EXT_shader_implicit_conversions
+IgnoreExtension GL_EXT_shader_integer_mix
+IgnoreExtension GL_EXT_shader_io_blocks
+IgnoreExtension GL_EXT_shader_pixel_local_storage
+IgnoreExtension GL_EXT_tessellation_point_size
+IgnoreExtension GL_EXT_tessellation_shader
+#IgnoreExtension GL_EXT_texture_border_clamp
+IgnoreExtension GL_EXT_texture_buffer
+#IgnoreExtension GL_EXT_texture_compression_s3tc
+IgnoreExtension GL_EXT_texture_cube_map_array
+IgnoreExtension GL_EXT_texture_norm16
+IgnoreExtension GL_EXT_texture_sRGB_decode
+IgnoreExtension GL_INTEL_performance_query
+IgnoreExtension GL_KHR_blend_equation_advanced
+#IgnoreExtension GL_KHR_blend_equation_advanced_coherent
+IgnoreExtension GL_KHR_context_flush_control
+IgnoreExtension GL_KHR_robust_buffer_access_behavior
+IgnoreExtension GL_KHR_robustness
+IgnoreExtension GL_KHR_texture_compression_astc_hdr
+IgnoreExtension GL_NV_bindless_texture
+IgnoreExtension GL_NV_blend_equation_advanced
+IgnoreExtension GL_NV_blend_equation_advanced_coherent
+IgnoreExtension GL_NV_conditional_render
+IgnoreExtension GL_NV_copy_buffer
+IgnoreExtension GL_NV_explicit_attrib_location
+IgnoreExtension GL_NV_image_formats
+IgnoreExtension GL_NV_internalformat_sample_query
+IgnoreExtension GL_NV_non_square_matrices
+IgnoreExtension GL_NV_path_rendering
+IgnoreExtension GL_NV_shader_noperspective_interpolation
+IgnoreExtension GL_NV_viewport_array
+IgnoreExtension GL_OES_compressed_ETC1_RGB8_sub_texture
+IgnoreExtension GL_OES_draw_buffers_indexed
+IgnoreExtension GL_OES_draw_elements_base_vertex
+IgnoreExtension GL_OES_EGL_image_external_essl3
+IgnoreExtension GL_OES_geometry_point_size
+IgnoreExtension GL_OES_geometry_shader
+IgnoreExtension GL_OES_gpu_shader5
+IgnoreExtension GL_OES_primitive_bounding_box
+IgnoreExtension GL_OES_sample_shading
+IgnoreExtension GL_OES_sample_variables
+IgnoreExtension GL_OES_shader_image_atomic
+IgnoreExtension GL_OES_shader_io_blocks
+IgnoreExtension GL_OES_shader_multisample_interpolation
+IgnoreExtension GL_OES_tessellation_point_size
+IgnoreExtension GL_OES_tessellation_shader
+#IgnoreExtension GL_OES_texture_border_clamp
+IgnoreExtension GL_OES_texture_buffer
+IgnoreExtension GL_OES_texture_compression_astc
+IgnoreExtension GL_OES_texture_cube_map_array
+IgnoreExtension GL_OES_texture_stencil8
+IgnoreExtension GL_OES_texture_storage_multisample_2d_array
+
+
# includes GL_STATE_RESTORE, which hasn't the QCOM suffix
IgnoreExtension GL_QCOM_extended_get
Ignore GL_STATE_RESTORE
diff --git a/make/config/jogl/gl-if-gl2_es2.cfg b/make/config/jogl/gl-if-gl2_es2.cfg
index 3c4dbbb64..97adaead1 100644
--- a/make/config/jogl/gl-if-gl2_es2.cfg
+++ b/make/config/jogl/gl-if-gl2_es2.cfg
@@ -2,6 +2,13 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES2/gl2.h
+GLSemHeader GLES2/gl2ext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java
@@ -17,7 +24,10 @@ Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl2_es2-common.cfg
Include gl-if-gl2_es2-ignores.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-if-gl3-ignores.cfg
+Include gl-if-gl4-ignores.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
# Ignore GL_ARB_ES2_compatibility functions for interface code generation
# since we need our own javadoc header for a detailed description
diff --git a/make/config/jogl/gl-if-gl2_es3-ignores.cfg b/make/config/jogl/gl-if-gl2_es3-ignores.cfg
index 172857840..e3e843771 100644
--- a/make/config/jogl/gl-if-gl2_es3-ignores.cfg
+++ b/make/config/jogl/gl-if-gl2_es3-ignores.cfg
@@ -1,4 +1,6 @@
-# Ignore all ES 3.X only stuff ..
+# Ignoring API only available on ES3
+#
+
DropUniqVendorExtensions ANGLE
DropUniqVendorExtensions ARM
DropUniqVendorExtensions APPLE
@@ -26,7 +28,6 @@ IgnoreExtension GL_ANGLE_translated_shader_source
IgnoreExtension GL_EXT_debug_label
IgnoreExtension GL_EXT_debug_marker
IgnoreExtension GL_EXT_discard_framebuffer
-IgnoreExtension GL_EXT_disjoint_timer_query
IgnoreExtension GL_EXT_draw_buffers
IgnoreExtension GL_EXT_multisampled_render_to_texture
IgnoreExtension GL_EXT_multiview_draw_buffers
@@ -40,6 +41,83 @@ IgnoreExtension GL_OES_texture_half_float
IgnoreExtension GL_OES_EGL_image_external
IgnoreExtension GL_FJ_shader_binary_GCCSO
+#
+# Ignored new extensions added in gl2ext.h ]2013-06-25..2015-01-26]
+# see jogl/make/scripts/diff-gl2ext.sh
+#
+IgnoreExtension GL_ANDROID_extension_pack_es31a
+IgnoreExtension GL_APPLE_clip_distance
+IgnoreExtension GL_APPLE_color_buffer_packed_float
+IgnoreExtension GL_APPLE_texture_packed_float
+IgnoreExtension GL_ARM_shader_framebuffer_fetch
+IgnoreExtension GL_ARM_shader_framebuffer_fetch_depth_stencil
+IgnoreExtension GL_DMP_program_binary
+IgnoreExtension GL_EXT_draw_buffers_indexed
+IgnoreExtension GL_EXT_draw_elements_base_vertex
+IgnoreExtension GL_EXT_draw_instanced
+IgnoreExtension GL_EXT_geometry_point_size
+IgnoreExtension GL_EXT_geometry_shader
+IgnoreExtension GL_EXT_gpu_shader5
+IgnoreExtension GL_EXT_instanced_arrays
+IgnoreExtension GL_EXT_multi_draw_indirect
+IgnoreExtension GL_EXT_primitive_bounding_box
+IgnoreExtension GL_EXT_pvrtc_sRGB
+IgnoreExtension GL_EXT_render_snorm
+IgnoreExtension GL_EXT_shader_implicit_conversions
+IgnoreExtension GL_EXT_shader_integer_mix
+IgnoreExtension GL_EXT_shader_io_blocks
+IgnoreExtension GL_EXT_shader_pixel_local_storage
+IgnoreExtension GL_EXT_tessellation_point_size
+IgnoreExtension GL_EXT_tessellation_shader
+#IgnoreExtension GL_EXT_texture_border_clamp
+IgnoreExtension GL_EXT_texture_buffer
+#IgnoreExtension GL_EXT_texture_compression_s3tc
+IgnoreExtension GL_EXT_texture_cube_map_array
+IgnoreExtension GL_EXT_texture_norm16
+IgnoreExtension GL_EXT_texture_sRGB_decode
+IgnoreExtension GL_EXT_texture_view
+IgnoreExtension GL_INTEL_performance_query
+IgnoreExtension GL_KHR_blend_equation_advanced
+#IgnoreExtension GL_KHR_blend_equation_advanced_coherent
+IgnoreExtension GL_KHR_context_flush_control
+IgnoreExtension GL_KHR_robust_buffer_access_behavior
+IgnoreExtension GL_KHR_robustness
+IgnoreExtension GL_KHR_texture_compression_astc_hdr
+IgnoreExtension GL_NV_bindless_texture
+IgnoreExtension GL_NV_blend_equation_advanced
+IgnoreExtension GL_NV_blend_equation_advanced_coherent
+IgnoreExtension GL_NV_conditional_render
+IgnoreExtension GL_NV_copy_buffer
+IgnoreExtension GL_NV_explicit_attrib_location
+IgnoreExtension GL_NV_image_formats
+IgnoreExtension GL_NV_internalformat_sample_query
+IgnoreExtension GL_NV_non_square_matrices
+IgnoreExtension GL_NV_path_rendering
+IgnoreExtension GL_NV_shader_noperspective_interpolation
+IgnoreExtension GL_NV_viewport_array
+IgnoreExtension GL_OES_compressed_ETC1_RGB8_sub_texture
+IgnoreExtension GL_OES_draw_buffers_indexed
+IgnoreExtension GL_OES_draw_elements_base_vertex
+IgnoreExtension GL_OES_EGL_image_external_essl3
+IgnoreExtension GL_OES_geometry_point_size
+IgnoreExtension GL_OES_geometry_shader
+IgnoreExtension GL_OES_gpu_shader5
+IgnoreExtension GL_OES_primitive_bounding_box
+IgnoreExtension GL_OES_sample_shading
+IgnoreExtension GL_OES_sample_variables
+IgnoreExtension GL_OES_shader_image_atomic
+IgnoreExtension GL_OES_shader_io_blocks
+IgnoreExtension GL_OES_shader_multisample_interpolation
+IgnoreExtension GL_OES_tessellation_point_size
+IgnoreExtension GL_OES_tessellation_shader
+#IgnoreExtension GL_OES_texture_border_clamp
+IgnoreExtension GL_OES_texture_buffer
+IgnoreExtension GL_OES_texture_compression_astc
+IgnoreExtension GL_OES_texture_cube_map_array
+IgnoreExtension GL_OES_texture_stencil8
+IgnoreExtension GL_OES_texture_storage_multisample_2d_array
+IgnoreExtension GL_OES_texture_view
+
# includes GL_STATE_RESTORE, which hasn't the QCOM suffix
IgnoreExtension GL_QCOM_extended_get
Ignore GL_STATE_RESTORE
diff --git a/make/config/jogl/gl-if-gl2_es3.cfg b/make/config/jogl/gl-if-gl2_es3.cfg
index 2390652c4..34032d7b9 100644
--- a/make/config/jogl/gl-if-gl2_es3.cfg
+++ b/make/config/jogl/gl-if-gl2_es3.cfg
@@ -2,6 +2,14 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
+# 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 GL/glext-supplement.h
+GLSemHeader GL/gl.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glext.h
+
Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL2ES3
@@ -21,8 +29,10 @@ Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl-if-gl2_es3-ignores.cfg
+Include gl-if-gl3-ignores.cfg
Include gl-if-gl4-ignores.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
IncludeAs CustomJavaCode GL2ES3 gl-if-CustomJavaCode-es3.java
diff --git a/make/config/jogl/gl-if-gl2_gl3.cfg b/make/config/jogl/gl-if-gl2_gl3.cfg
index 8e88a116e..02142b726 100644
--- a/make/config/jogl/gl-if-gl2_gl3.cfg
+++ b/make/config/jogl/gl-if-gl2_gl3.cfg
@@ -7,6 +7,14 @@ JavaClass GL2GL3
#Extends GL2GL3 GL2ES2
Extends GL2GL3 GL2ES3
+# 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 GL/glext-supplement.h
+GLSemHeader GL/gl.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glext.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/GL2ES3.java
@@ -19,9 +27,9 @@ Include gl-common.cfg
Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl3-common.cfg
Include gl-if-gl4-ignores.cfg
-Include gl-if-luminance-ignore.cfg
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
diff --git a/make/config/jogl/gl-if-gl2es3-subset.cfg b/make/config/jogl/gl-if-gl2es3-subset.cfg
index a7ecdce8d..92099249c 100644
--- a/make/config/jogl/gl-if-gl2es3-subset.cfg
+++ b/make/config/jogl/gl-if-gl2es3-subset.cfg
@@ -1,6 +1,14 @@
# This .cfg file is used to generate the common GL2 ES3 set
JavaOutputDir ../../build-temp/gluegen-set
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES3/gl31.h
+GLSemHeader GLES3/gl3ext.h
+GLSemHeader GLES2/gl2ext.h
+
Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL2ES3Subset
@@ -9,6 +17,8 @@ Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl-if-gl3-ignores.cfg
Include gl-if-gl4-ignores.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
diff --git a/make/config/jogl/gl-if-gl2gl3-subset.cfg b/make/config/jogl/gl-if-gl2gl3-subset.cfg
index 1fae977e5..c0ba007ea 100644
--- a/make/config/jogl/gl-if-gl2gl3-subset.cfg
+++ b/make/config/jogl/gl-if-gl2gl3-subset.cfg
@@ -1,6 +1,14 @@
# This .cfg file is used to generate the common GL2 GL3 set
JavaOutputDir ../../build-temp/gluegen-set
+# 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 GL/glext-supplement.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glcorearb.h
+GLSemHeader GL/glcorearbext.h
+
Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL2GL3Subset
@@ -10,6 +18,7 @@ Include gl3-desktop.cfg
Include gl3-common.cfg
Include gl-if-gl3-ignores.cfg
Include gl-if-gl4-ignores.cfg
+Include gl-embedded-ignores.cfg
# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
diff --git a/make/config/jogl/gl-if-gl3-ignores.cfg b/make/config/jogl/gl-if-gl3-ignores.cfg
index a84f7fb05..7838ef082 100644
--- a/make/config/jogl/gl-if-gl3-ignores.cfg
+++ b/make/config/jogl/gl-if-gl3-ignores.cfg
@@ -1,3 +1,6 @@
+# Ignoring API only available on GL3
+#
+
#
# Generated Configuration File
# Use make-glextension-depignore.sh to update!
@@ -11,11 +14,47 @@
IgnoreExtension GL_VERSION_3_2
IgnoreExtension GL_VERSION_3_3
IgnoreExtension GL_VERSION_3_4
-IgnoreExtension GL_ARB_sync
+
+# Ignore extensions written against GL 3.1
+IgnoreExtension GL_ARB_depth_clamp
+IgnoreExtension GL_ARB_draw_elements_base_vertex
+IgnoreExtension GL_ARB_fragment_coord_conventions
+#IgnoreExtension GL_ARB_texture_multisample
+IgnoreExtension GL_ARB_texture_gather
IgnoreExtension GL_ARB_texture_compression_bptc
IgnoreExtension GL_ARB_draw_indirect
+IgnoreExtension GL_ARB_base_instance
+IgnoreExtension GL_ARB_transform_feedback_instanced
+IgnoreExtension GL_ARB_multi_draw_indirect
+IgnoreExtension GL_ARB_texture_buffer_range
+IgnoreExtension GL_ARB_enhanced_layouts
+# Ignore extensions requiring GL 3.1
+IgnoreExtension GL_ARB_sync
+IgnoreExtension GL_ARB_cl_event
+IgnoreExtension GL_ARB_shader_draw_parameters
+# Ignore extensions written against GL 3.2
+#IgnoreExtension GL_ARB_texture_storage
+#IgnoreExtension GL_ARB_texture_storage_multisample
+IgnoreExtension GL_ARB_shading_language_include
+IgnoreExtension GL_ARB_blend_func_extended
+IgnoreExtension GL_ARB_explicit_attrib_location
+IgnoreExtension GL_ARB_occlusion_query2
+IgnoreExtension GL_ARB_sampler_objects
+IgnoreExtension GL_ARB_timer_query
+IgnoreExtension GL_ARB_vertex_type_2_10_10_10_rev
IgnoreExtension GL_ARB_gpu_shader5
+IgnoreExtension GL_NV_gpu_shader5
IgnoreExtension GL_ARB_gpu_shader_fp64
+IgnoreExtension GL_ARB_shader_subroutine
IgnoreExtension GL_ARB_tessellation_shader
-IgnoreExtension GL_NV_gpu_shader5
+IgnoreExtension GL_ARB_texture_buffer_object_rgb32
+# Ignore extensions requiring GL 3.2
+IgnoreExtension GL_ARB_geometry_shader4
+IgnoreExtension GL_ARB_viewport_array
+IgnoreExtension GL_ARB_fragment_layer_viewport
+IgnoreExtension GL_ARB_seamless_cubemap_per_texture
+IgnoreExtension GL_KHR_robust_buffer_access_behavior
+IgnoreExtension GL_KHR_robustness
+# Ignore extensions requiring GL 3.3
+IgnoreExtension GL_ARB_explicit_uniform_location
diff --git a/make/config/jogl/gl-if-gl3.cfg b/make/config/jogl/gl-if-gl3.cfg
index 3dbf86918..db4c8c426 100644
--- a/make/config/jogl/gl-if-gl3.cfg
+++ b/make/config/jogl/gl-if-gl3.cfg
@@ -2,6 +2,15 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl3
+# 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 GL/glext-supplement.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glcorearb.h
+GLSemHeader GL/glcorearbext.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/GL2ES3.java
@@ -22,6 +31,8 @@ ImplPackage jogamp.opengl.gl3
Include gl-common.cfg
Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
+Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl3-desktop.cfg
Include gl3-common.cfg
Include gl-if-gl4-ignores.cfg
@@ -29,8 +40,6 @@ Include gl-if-gl4-ignores.cfg
# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true
-Include gl3-headers.cfg
-
# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
ProcAddressTableClassName DontGenerateProcAddressTableStuff
diff --git a/make/config/jogl/gl-if-gl3_es3.cfg b/make/config/jogl/gl-if-gl3_es3.cfg
index 16e194b80..a66e4897c 100644
--- a/make/config/jogl/gl-if-gl3_es3.cfg
+++ b/make/config/jogl/gl-if-gl3_es3.cfg
@@ -2,6 +2,14 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES3/gl31.h
+GLSemHeader GLES3/gl3ext.h
+GLSemHeader GLES2/gl2ext.h
+
Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL3ES3
@@ -21,7 +29,8 @@ Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl-if-gl2_es3-ignores.cfg
Include gl-if-gl4-ignores.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
#
# Same name but different signature ..
diff --git a/make/config/jogl/gl-if-gl3bc.cfg b/make/config/jogl/gl-if-gl3bc.cfg
index 7a1a1c7b3..bf31ab3ae 100644
--- a/make/config/jogl/gl-if-gl3bc.cfg
+++ b/make/config/jogl/gl-if-gl3bc.cfg
@@ -2,6 +2,16 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl3
+# 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 GL/glext-supplement.h
+GLSemHeader GL/gl.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glext.h
+GLSemHeader GL/glcorearb.h
+GLSemHeader GL/glcorearbext.h
+
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES1.java
ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java
@@ -31,6 +41,7 @@ Extends GL3bc GL3
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl3-desktop.cfg
Include gl-if-gl4-ignores.cfg
@@ -42,11 +53,9 @@ TagNativeBinding true
# Ignore extensions that are already picked up via the GL2ES1 interface
IgnoreExtension GL_EXT_point_parameters
-Include gl-headers.cfg
-Include gl3ext-headers.cfg
-
# dummy procaddress config / force procaddress for comments
EmitProcAddressTable false
ProcAddressTableClassName DontGenerateProcAddressTableStuff
GetProcAddressTableExpr DontGenerateProcAddressTableStuff
ForceProcAddressGen __ALL__
+
diff --git a/make/config/jogl/gl-if-gl4-ignores.cfg b/make/config/jogl/gl-if-gl4-ignores.cfg
index 619c82924..2f00cc6c1 100644
--- a/make/config/jogl/gl-if-gl4-ignores.cfg
+++ b/make/config/jogl/gl-if-gl4-ignores.cfg
@@ -1,3 +1,6 @@
+# Ignoring API only available on GL4
+#
+
#
# Generated Configuration File
# Use make-glextension-depignore.sh to update!
@@ -11,5 +14,32 @@ IgnoreExtension GL_VERSION_4_1
IgnoreExtension GL_VERSION_4_2
IgnoreExtension GL_VERSION_4_3
IgnoreExtension GL_VERSION_4_4
+IgnoreExtension GL_VERSION_4_5
+IgnoreExtension GL_VERSION_4_6
+
+# Ignore extensions written against GL 4.0
IgnoreExtension GL_ARB_shader_precision
+#IgnoreExtension GL_ARB_separate_shader_objects
+#IgnoreExtension GL_EXT_separate_shader_objects
+# Ignore extensions requiring GL 4.0
+IgnoreExtension GL_ARB_shader_storage_buffer_object
+IgnoreExtension GL_ARB_bindless_texture
+IgnoreExtension GL_ARB_derivative_control
+# Ignore extensions written against GL 4.2
+IgnoreExtension GL_ARB_vertex_attrib_binding
+IgnoreExtension GL_ARB_program_interface_query
+# Ignore extensions requiring GL 4.2
+IgnoreExtension GL_ARB_compute_shader
+IgnoreExtension GL_ARB_compute_variable_group_size
+IgnoreExtension GL_ARB_shader_group_vote
+IgnoreExtension GL_ARB_shader_image_size
+IgnoreExtension GL_ARB_indirect_parameters
+IgnoreExtension GL_ARB_texture_view
+IgnoreExtension GL_EXT_texture_view
+IgnoreExtension GL_OES_texture_view
+# Ignore extensions requiring GL 4.3
+IgnoreExtension GL_ARB_shader_texture_image_samples
+# Ignore extensions requiring GL 4.4
+IgnoreExtension GL_ARB_ES3_1_compatibility
+# Ignore extensions requiring GL 4.5
diff --git a/make/config/jogl/gl-if-gl4.cfg b/make/config/jogl/gl-if-gl4.cfg
index 07645ac26..d4e231ce9 100644
--- a/make/config/jogl/gl-if-gl4.cfg
+++ b/make/config/jogl/gl-if-gl4.cfg
@@ -2,6 +2,15 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/gl4
+# 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 GL/glext-supplement.h
+GLSemHeader GL/glext-20130207.h
+GLSemHeader GL/glcorearb.h
+GLSemHeader GL/glcorearbext.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/GL2ES3.java
@@ -25,6 +34,8 @@ Extends GL4 GL3
Include gl-common.cfg
Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
+Include gl-desktop.cfg
+Include gl-embedded-ignores.cfg
Include gl3-desktop.cfg
Include gl3-common.cfg
@@ -37,5 +48,3 @@ ForceProcAddressGen __ALL__
# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true
-Include gl3-headers.cfg
-
diff --git a/make/config/jogl/gl-if-gl4_es3.cfg b/make/config/jogl/gl-if-gl4_es3.cfg
index 556be2b88..2b090eb91 100644
--- a/make/config/jogl/gl-if-gl4_es3.cfg
+++ b/make/config/jogl/gl-if-gl4_es3.cfg
@@ -2,6 +2,14 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl
+# 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 GLES2/gl2ext-supplement.h
+GLSemHeader GLES3/gl31.h
+GLSemHeader GLES3/gl3ext.h
+GLSemHeader GLES2/gl2ext.h
+
Package com.jogamp.opengl
Style InterfaceOnly
JavaClass GL4ES3
@@ -24,7 +32,8 @@ Include gl-common-gpubufferonly.cfg
Include gl-common-extensions.cfg
Include gl2_es3-common.cfg
Include gl-if-gl2_es3-ignores.cfg
-Include gl-if-luminance-ignore.cfg
+Include gl-embedded-ignores.cfg
+Include gl-desktop-ignores.cfg
ForceExtension GL_ARB_ES3_compatibility
diff --git a/make/config/jogl/gl-if-luminance-ignore.cfg b/make/config/jogl/gl-if-luminance-ignore.cfg
deleted file mode 100644
index 4fb79fae9..000000000
--- a/make/config/jogl/gl-if-luminance-ignore.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-Ignore GL_LUMINANCE16F
-Ignore GL_LUMINANCE32F
-Ignore GL_LUMINANCE_ALPHA16F
-Ignore GL_LUMINANCE_ALPHA32F
-Ignore GL_LUMINANCE4_ALPHA4
-Ignore GL_LUMINANCE8
-Ignore GL_LUMINANCE8_ALPHA8
diff --git a/make/config/jogl/gl-impl-CustomCCode-gl4bc.c b/make/config/jogl/gl-impl-CustomCCode-gl4bc.c
index 42e5700ab..8da179fde 100644
--- a/make/config/jogl/gl-impl-CustomCCode-gl4bc.c
+++ b/make/config/jogl/gl-impl-CustomCCode-gl4bc.c
@@ -76,9 +76,10 @@ Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glUnmapNamedBufferEXT(JNIEnv *env, jo
*/
JNIEXPORT jlong JNICALL
Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPBUFFERPROC ptr_glMapBuffer;
+ typedef void *(APIENTRY*_local_PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+ _local_PFNGLMAPBUFFERPROC ptr_glMapBuffer;
void * _res;
- ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
+ ptr_glMapBuffer = (_local_PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
assert(ptr_glMapBuffer != NULL);
_res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
return (jlong) (intptr_t) _res;
@@ -107,9 +108,10 @@ Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glMapBufferRange(JNIEnv *env, jobject
*/
JNIEXPORT jlong JNICALL
Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glMapNamedBufferEXT(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPNAMEDBUFFEREXTPROC ptr_glMapNamedBufferEXT;
+ typedef void *(APIENTRY*_local_PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+ _local_PFNGLMAPNAMEDBUFFEREXTPROC ptr_glMapNamedBufferEXT;
void * _res;
- ptr_glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC) (intptr_t) glProcAddress;
+ ptr_glMapNamedBufferEXT = (_local_PFNGLMAPNAMEDBUFFEREXTPROC) (intptr_t) glProcAddress;
assert(ptr_glMapNamedBufferEXT != NULL);
_res = (* ptr_glMapNamedBufferEXT) ((GLuint) target, (GLenum) access);
return (jlong) (intptr_t) _res;
@@ -122,9 +124,10 @@ Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glMapNamedBufferEXT(JNIEnv *env, jobj
*/
JNIEXPORT jlong JNICALL
Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glMapNamedBufferRangeEXT(JNIEnv *env, jobject _unused, jint buffer, jlong offset, jlong length, jint access, jlong procAddress) {
- PFNGLMAPNAMEDBUFFERRANGEEXTPROC ptr_glMapNamedBufferRangeEXT;
+ typedef void *(APIENTRY*_local_PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+ _local_PFNGLMAPNAMEDBUFFERRANGEEXTPROC ptr_glMapNamedBufferRangeEXT;
void * _res;
- ptr_glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (intptr_t) procAddress;
+ ptr_glMapNamedBufferRangeEXT = (_local_PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (intptr_t) procAddress;
assert(ptr_glMapNamedBufferRangeEXT != NULL);
_res = (* ptr_glMapNamedBufferRangeEXT) ((GLuint) buffer, (GLintptr) offset, (GLsizeiptr) length, (GLbitfield) access);
return (jlong) (intptr_t) _res;
diff --git a/make/config/jogl/gl-impl-CustomCCode-gles1.c b/make/config/jogl/gl-impl-CustomCCode-gles1.c
index 83b8c7586..e7bb21a34 100644
--- a/make/config/jogl/gl-impl-CustomCCode-gles1.c
+++ b/make/config/jogl/gl-impl-CustomCCode-gles1.c
@@ -41,9 +41,10 @@ typedef GLvoid* (GL_APIENTRY* PFNGLMAPBUFFERPROC) (GLenum target, GLenum access)
*/
JNIEXPORT jlong JNICALL
Java_jogamp_opengl_es1_GLES1Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPBUFFERPROC ptr_glMapBuffer;
+ typedef void *(GL_APIENTRY*_local_PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+ _local_PFNGLMAPBUFFERPROC ptr_glMapBuffer;
void * _res;
- ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
+ ptr_glMapBuffer = (_local_PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
assert(ptr_glMapBuffer != NULL);
_res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
return (jlong) (intptr_t) _res;
diff --git a/make/config/jogl/gl-impl-CustomCCode-gles3.c b/make/config/jogl/gl-impl-CustomCCode-gles3.c
index ff1d42e23..f459bc865 100644
--- a/make/config/jogl/gl-impl-CustomCCode-gles3.c
+++ b/make/config/jogl/gl-impl-CustomCCode-gles3.c
@@ -42,9 +42,10 @@ typedef GLvoid* (GL_APIENTRY* PFNGLMAPBUFFERPROC) (GLenum target, GLenum access)
*/
JNIEXPORT jlong JNICALL
Java_jogamp_opengl_es3_GLES3Impl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPBUFFERPROC ptr_glMapBuffer;
+ typedef void *(GL_APIENTRY*_local_PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+ _local_PFNGLMAPBUFFERPROC ptr_glMapBuffer;
void * _res;
- ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
+ ptr_glMapBuffer = (_local_PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
assert(ptr_glMapBuffer != NULL);
_res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
return (jlong) (intptr_t) _res;
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-embedded.java b/make/config/jogl/gl-impl-CustomJavaCode-embedded.java
deleted file mode 100644
index e1273e679..000000000
--- a/make/config/jogl/gl-impl-CustomJavaCode-embedded.java
+++ /dev/null
@@ -1,7 +0,0 @@
-
- private int[] imageSizeTemp = new int[1];
-
- private final int imageSizeInBytes(int format, int type, int width, int height, int depth, boolean pack) {
- return GLBuffers.sizeof(this, imageSizeTemp, format, type, width, height, depth, pack) ;
- }
-
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
index 8ec1b3205..09edaaf7d 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java
@@ -118,6 +118,11 @@ public final boolean isGLES3Compatible() {
}
@Override
+public final boolean isGLES31Compatible() {
+ return _context.isGLES31Compatible();
+}
+
+@Override
public final boolean isGL2GL3() {
return _context.isGL2GL3();
}
@@ -254,15 +259,6 @@ public final GLES3 getGLES3() throws GLException {
public final boolean isNPOTTextureAvailable() {
return _context.isNPOTTextureAvailable();
}
-@Override
-public final java.nio.ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority) {
- return _context.glAllocateMemoryNV(size, readFrequency, writeFrequency, priority);
-}
-
-@Override
-public final void glFreeMemoryNV(java.nio.ByteBuffer pointer) {
- _context.glFreeMemoryNV(pointer);
-}
//
// Helpers for ensuring the correct amount of texture data
@@ -369,7 +365,7 @@ private final boolean checkIndirectVBOUnbound(boolean throwException) {
return checkBufferObject(haveGL15 || haveARBVertexBufferObject,
haveARBVertexArrayObject, // allowVAO
false, // bound
- GL4.GL_DRAW_INDIRECT_BUFFER,
+ GL4ES3.GL_DRAW_INDIRECT_BUFFER,
"indirect vertex_buffer_object", throwException);
}
@@ -377,7 +373,7 @@ private final boolean checkIndirectVBOBound(boolean throwException) {
return checkBufferObject(haveGL15 || haveARBVertexBufferObject,
haveARBVertexArrayObject, // allowVAO
true, // bound
- GL4.GL_DRAW_INDIRECT_BUFFER,
+ GL4ES3.GL_DRAW_INDIRECT_BUFFER,
"indirect vertex_buffer_object", throwException);
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
index 636f20d60..ecc30e11b 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles1.java
@@ -12,6 +12,12 @@ public GLES1Impl(GLProfile glp, GLContextImpl context) {
public final void finalizeInit() {
}
+private int[] imageSizeTemp = new int[1];
+
+private final int imageSizeInBytes(int format, int type, int width, int height, int depth, boolean pack) {
+ return GLBuffers.sizeof(this, imageSizeTemp, format, type, width, height, depth, pack) ;
+}
+
@Override
public final boolean isGL4bc() {
return false;
@@ -108,6 +114,11 @@ public final boolean isGLES3Compatible() {
}
@Override
+public final boolean isGLES31Compatible() {
+ return false;
+}
+
+@Override
public final boolean isGL2GL3() {
return false;
}
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
index a0e3c6570..3e0585e96 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gles3.java
@@ -13,6 +13,13 @@ public GLES3Impl(GLProfile glp, GLContextImpl context) {
public final void finalizeInit() {
}
+
+private int[] imageSizeTemp = new int[1];
+
+private final int imageSizeInBytes(int format, int type, int width, int height, int depth, boolean pack) {
+ return GLBuffers.sizeof(this, imageSizeTemp, format, type, width, height, depth, pack) ;
+}
+
@Override
public final boolean isGL4bc() {
return false;
@@ -107,6 +114,10 @@ public final boolean isGLES3Compatible() {
return _isES3;
}
+@Override
+public final boolean isGLES31Compatible() {
+ return _context.isGLES31Compatible();
+}
@Override
public final boolean isGL2GL3() {
@@ -292,6 +303,25 @@ private final boolean checkElementVBOBound(boolean throwException) {
"element vertex_buffer_object", throwException);
}
+private final boolean checkIndirectVBOUnbound(boolean throwException) {
+ if(throwException) {
+ validateCPUSourcedAvail();
+ }
+ return checkBufferObject(true,
+ _isES3, // allowVAO
+ false, // bound
+ GL4ES3.GL_DRAW_INDIRECT_BUFFER,
+ "indirect vertex_buffer_object", throwException);
+}
+
+private final boolean checkIndirectVBOBound(boolean throwException) {
+ return checkBufferObject(true,
+ _isES3, // allowVAO
+ true, // bound
+ GL4ES3.GL_DRAW_INDIRECT_BUFFER,
+ "indirect vertex_buffer_object", throwException);
+}
+
private final boolean checkUnpackPBOUnbound(boolean throwException) {
return checkBufferObject(_isES3,
false, // allowVAO
diff --git a/make/config/jogl/gl2_es2-common.cfg b/make/config/jogl/gl2_es2-common.cfg
index 2ad7fd3fd..b363f88bf 100644
--- a/make/config/jogl/gl2_es2-common.cfg
+++ b/make/config/jogl/gl2_es2-common.cfg
@@ -1,8 +1,6 @@
-RenameExtensionIntoCore GL_KHR_debug
RenameExtensionIntoCore GL_OES_texture_3D
RenameExtensionIntoCore GL_OES_get_program_binary
-RenameExtensionIntoCore GL_OES_required_internalformat
RenameExtensionIntoCore GL_EXT_unpack_subimage
ForceExtension GL_EXT_occlusion_query_boolean
diff --git a/make/config/jogl/gl2_es3-common.cfg b/make/config/jogl/gl2_es3-common.cfg
index b5326b159..d52ca4414 100644
--- a/make/config/jogl/gl2_es3-common.cfg
+++ b/make/config/jogl/gl2_es3-common.cfg
@@ -1,8 +1,6 @@
-RenameExtensionIntoCore GL_KHR_debug
RenameExtensionIntoCore GL_OES_texture_3D
IgnoreExtension GL_OES_get_program_binary
-RenameExtensionIntoCore GL_OES_required_internalformat
RenameExtensionIntoCore GL_EXT_unpack_subimage
ForceExtension GL_EXT_occlusion_query_boolean
diff --git a/make/config/jogl/gl3-common.cfg b/make/config/jogl/gl3-common.cfg
index e11c50aa3..6455bf681 100644
--- a/make/config/jogl/gl3-common.cfg
+++ b/make/config/jogl/gl3-common.cfg
@@ -1,9 +1,7 @@
ForceExtension GL_ARB_debug_output
-RenameExtensionIntoCore GL_KHR_debug
RenameExtensionIntoCore GL_OES_texture_3D
IgnoreExtension GL_OES_get_program_binary
-RenameExtensionIntoCore GL_OES_required_internalformat
RenameExtensionIntoCore GL_EXT_unpack_subimage
diff --git a/make/config/jogl/gl3ext-headers.cfg b/make/config/jogl/gl3ext-headers.cfg
deleted file mode 100644
index 24b1ba518..000000000
--- a/make/config/jogl/gl3ext-headers.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CustomCCode #include <stdio.h> /* android */
-CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-CustomCCode #include <GL/glcorearbext.h>
diff --git a/make/config/jogl/glu-common.cfg b/make/config/jogl/glu-common.cfg
index 45535d21d..bc039ee8d 100644
--- a/make/config/jogl/glu-common.cfg
+++ b/make/config/jogl/glu-common.cfg
@@ -1,4 +1,4 @@
-GLHeader GL/glu.h
+GLSemHeader GL/glu.h
# This .cfg file provides common options used among all GLU glue code
HierarchicalNativeOutput false
@@ -6,6 +6,10 @@ HierarchicalNativeOutput false
# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
TagNativeBinding true
+# Desktop GL and GLES* headers types slightly differ
+# but still are compatible related to actual storage size.
+RelaxedEqualSemanticsTest true
+
#
# Imports needed by all glue code
#
diff --git a/make/config/jogl/glu-gl2.cfg b/make/config/jogl/glu-gl2.cfg
index c3a10a900..dea7992f7 100644
--- a/make/config/jogl/glu-gl2.cfg
+++ b/make/config/jogl/glu-gl2.cfg
@@ -13,7 +13,6 @@ CustomCCode #if defined(WIN32)
CustomCCode #define WIN32_LEAN_AND_MEAN
CustomCCode #include <windows.h>
CustomCCode #undef WIN32_LEAN_AND_MEAN
-CustomCCode
CustomCCode #include <stddef.h>
CustomCCode #elif defined(__APPLE__)
CustomCCode #include <inttypes.h>
@@ -70,12 +69,12 @@ AccessControl gluScaleImage PRIVATE
# Rename these methods in the implementing class
-RenameJavaMethod gluBuild1DMipmapLevels gluBuild1DMipmapLevelsC
-RenameJavaMethod gluBuild1DMipmaps gluBuild1DMipmapsC
-RenameJavaMethod gluBuild2DMipmapLevels gluBuild2DMipmapLevelsC
-RenameJavaMethod gluBuild2DMipmaps gluBuild2DMipmapsC
-RenameJavaMethod gluBuild3DMipmapLevels gluBuild3DMipmapLevelsC
-RenameJavaMethod gluBuild3DMipmaps gluBuild3DMipmapsC
-RenameJavaMethod gluScaleImage gluScaleImageC
+RenameJavaSymbol gluBuild1DMipmapLevels gluBuild1DMipmapLevelsC
+RenameJavaSymbol gluBuild1DMipmaps gluBuild1DMipmapsC
+RenameJavaSymbol gluBuild2DMipmapLevels gluBuild2DMipmapLevelsC
+RenameJavaSymbol gluBuild2DMipmaps gluBuild2DMipmapsC
+RenameJavaSymbol gluBuild3DMipmapLevels gluBuild3DMipmapLevelsC
+RenameJavaSymbol gluBuild3DMipmaps gluBuild3DMipmapsC
+RenameJavaSymbol gluScaleImage gluScaleImageC
Include glu-common.cfg
diff --git a/make/config/jogl/gl3-headers.cfg b/make/config/jogl/glx-headers.cfg
index d76d3ae4c..b38881f74 100644
--- a/make/config/jogl/gl3-headers.cfg
+++ b/make/config/jogl/glx-headers.cfg
@@ -8,21 +8,33 @@ CustomCCode #undef WIN32_LEAN_AND_MEAN
CustomCCode #include <stdlib.h>
CustomCCode #include <stddef.h>
CustomCCode #include <malloc.h>
-CustomCCode #include <GL/glcorearb.h>
-CustomCCode #include <GL/glcorearbext.h>
+CustomCCode /* Define WGL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "wglext.h" are parsed. */
+CustomCCode #define WGL_GLEXT_PROTOTYPES
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/wglext.h>
CustomCCode #elif defined(__APPLE__)
CustomCCode #include <inttypes.h>
CustomCCode #include <stdlib.h>
-CustomCCode #include <GL/glcorearb.h>
-CustomCCode #include <GL/glcorearbext.h>
CustomCCode #include <machine/types.h>
CustomCCode /* Provide Windows typedefs */
CustomCCode typedef void* LPVOID;
CustomCCode typedef unsigned int* PUINT;
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
CustomCCode #elif defined(__unix__)
CustomCCode #include <inttypes.h>
CustomCCode #include <stdlib.h>
CustomCCode #include <X11/Xlib.h>
-CustomCCode #include <GL/glcorearb.h>
-CustomCCode #include <GL/glcorearbext.h>
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+CustomCCode /* Define GLX_GLXEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glxext.h" are parsed. */
+CustomCCode #define GLX_GLXEXT_PROTOTYPES
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/glx.h>
+CustomCCode #include <GL/glxext.h>
CustomCCode #endif
+
diff --git a/make/config/jogl/glx-x11.cfg b/make/config/jogl/glx-x11.cfg
index 38f56c26a..8a127558f 100644
--- a/make/config/jogl/glx-x11.cfg
+++ b/make/config/jogl/glx-x11.cfg
@@ -3,16 +3,15 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/X11
+GLSemHeader GL/glx.h
+GLSemHeader GL/glxext.h
+
Package jogamp.opengl.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
-
# Only NIO direct function, no arrays ..
NIOOnly __ALL__
NIODirectOnly __ALL__
@@ -74,6 +73,10 @@ 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
diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg
index d158d241f..7f3defe15 100644
--- a/make/config/jogl/glxext.cfg
+++ b/make/config/jogl/glxext.cfg
@@ -3,6 +3,9 @@
JavaOutputDir gensrc/classes
NativeOutputDir gensrc/native/jogl/X11
+GLSemHeader GL/glx.h
+GLSemHeader GL/glxext.h
+
Package jogamp.opengl.x11.glx
Style InterfaceAndImpl
JavaClass GLXExt
@@ -17,9 +20,6 @@ Include gl-desktop.cfg
NIOOnly __ALL__
NIODirectOnly __ALL__
-GLHeader GL/glx.h
-GLHeader GL/glxext.h
-
EmitProcAddressTable true
ProcAddressTableClassName GLXExtProcAddressTable
GetProcAddressTableExpr _context.getGLXExtProcAddressTable()
@@ -29,11 +29,7 @@ Import jogamp.nativewindow.x11.*
# Ignore everything that doesn't start with glX or GLX
IgnoreNot ^(glX|GLX).+
-Include gl-headers.cfg
-
-CustomCCode /* Provide Windows typedefs */
-CustomCCode typedef void* LPVOID;
-CustomCCode typedef unsigned int* PUINT;
+Include glx-headers.cfg
CustomJavaCode GLXExt public boolean isFunctionAvailable(String glFunctionName);
CustomJavaCode GLXExt public boolean isExtensionAvailable(String glExtensionName);
diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg
index 435cab0a0..c5c6db0db 100644
--- a/make/config/jogl/wgl-win32.cfg
+++ b/make/config/jogl/wgl-win32.cfg
@@ -12,8 +12,8 @@ Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
-GLHeader wingdi.h
-GLHeader GL/wglext.h
+GLSemHeader wingdi.h
+GLSemHeader GL/wglext.h
ForceProcAddressGen __ALL__
LocalProcAddressCallingConvention __ALL__ APIENTRY
@@ -42,10 +42,9 @@ ArgumentIsString wglGetProcAddress 0
CustomCCode #define WIN32_LEAN_AND_MEAN
CustomCCode #include <windows.h>
CustomCCode #undef WIN32_LEAN_AND_MEAN
-
CustomCCode #include <gluegen_stdint.h>
+CustomCCode #include <gluegen_stddef.h>
CustomCCode #include <wingdi.h>
-CustomCCode #include <stddef.h>
DropUniqVendorExtensions AMD
# We need GL_APPLE_float_pixels for our pbuffer implementation
diff --git a/make/config/jogl/wglext.cfg b/make/config/jogl/wglext.cfg
index 57707d6cb..6b5815fdf 100644
--- a/make/config/jogl/wglext.cfg
+++ b/make/config/jogl/wglext.cfg
@@ -17,8 +17,8 @@ AllowNonGLExtensions true
NIOOnly __ALL__
NIODirectOnly __ALL__
-GLHeader wingdi.h
-GLHeader GL/wglext.h
+GLSemHeader wingdi.h
+GLSemHeader GL/wglext.h
EmitProcAddressTable true
ProcAddressTableClassName WGLExtProcAddressTable
@@ -28,14 +28,14 @@ GetProcAddressTableExpr _context.getWGLExtProcAddressTable()
Ignore GL_.+
Ignore gl.+
-Include gl-headers.cfg
+Include glx-headers.cfg
# FIXME: for the time being, ignore all extensions requiring the
# presence of java.nio.LongBuffer because it doesn't exist on CDC/FP +
# JSR-239 NIO subset (remove once we have Java SE classes running on CVM)
# Inform the glue code generator of the association between #defines
# and functions and the extensions in which they are defined
-GLHeader GL/wglext.h
+GLSemHeader GL/wglext.h
IgnoreExtension WGL_OML_sync_control
IgnoreExtension WGL_NV_gpu_affinity
diff --git a/make/config/nativewindow/jawt-macosx.cfg b/make/config/nativewindow/jawt-macosx.cfg
index 5f6bbfd21..f19a8476c 100644
--- a/make/config/nativewindow/jawt-macosx.cfg
+++ b/make/config/nativewindow/jawt-macosx.cfg
@@ -3,7 +3,6 @@
Include jawt-common.cfg
NativeOutputDir gensrc/native/MacOSX
-Opaque long void *
Opaque long NSView *
Opaque long CALayer *
diff --git a/make/config/nativewindow/jawt-win32.cfg b/make/config/nativewindow/jawt-win32.cfg
index 5b571f719..85af8c71c 100644
--- a/make/config/nativewindow/jawt-win32.cfg
+++ b/make/config/nativewindow/jawt-win32.cfg
@@ -3,13 +3,17 @@
Include jawt-common.cfg
NativeOutputDir gensrc/native/Windows
-Opaque long HDC
+Opaque long HANDLE
IgnoreField JAWT_Win32DrawingSurfaceInfo null
IgnoreField JAWT_Win32DrawingSurfaceInfo hpalette
+CustomCCode #define WIN32_LEAN_AND_MEAN
+CustomCCode #include <windows.h>
+CustomCCode #undef WIN32_LEAN_AND_MEAN
CustomCCode #include <gluegen_stdint.h>
CustomCCode #include <gluegen_stddef.h>
+CustomCCode #include <wingdi.h>
StructPackage JAWT_Win32DrawingSurfaceInfo jogamp.nativewindow.jawt.windows
EmitStruct JAWT_Win32DrawingSurfaceInfo
diff --git a/make/config/nativewindow/jawt-x11.cfg b/make/config/nativewindow/jawt-x11.cfg
index 05db2aa0c..5038ad32b 100644
--- a/make/config/nativewindow/jawt-x11.cfg
+++ b/make/config/nativewindow/jawt-x11.cfg
@@ -3,7 +3,7 @@
Include jawt-common.cfg
NativeOutputDir gensrc/native/X11
-Opaque long Drawable
+Opaque long XID
Opaque long Display *
IgnoreField JAWT_X11DrawingSurfaceInfo GetAWTColor
diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg
index 9c60348d2..3a8fdd66a 100644
--- a/make/config/nativewindow/win32-lib.cfg
+++ b/make/config/nativewindow/win32-lib.cfg
@@ -11,15 +11,6 @@ Opaque boolean BOOL
Opaque int HRESULT
Opaque long HANDLE
Opaque long PROC
-Opaque long HINSTANCE
-Opaque long HWND
-Opaque long HBITMAP
-Opaque long HDC
-Opaque long HGDIOBJ
-Opaque long HGLRC
-Opaque long HRGN
-Opaque long HPBUFFERARB
-Opaque long HPBUFFEREXT
Opaque long void **
Import com.jogamp.nativewindow.util.Point
@@ -30,7 +21,6 @@ import jogamp.nativewindow.Debug
CustomCCode #define WIN32_LEAN_AND_MEAN
CustomCCode #include <windows.h>
CustomCCode #undef WIN32_LEAN_AND_MEAN
-
CustomCCode #include <gluegen_stdint.h>
CustomCCode #include <gluegen_stddef.h>
CustomCCode #include <wingdi.h>
diff --git a/make/config/nativewindow/x11-lib.cfg b/make/config/nativewindow/x11-lib.cfg
index 8104b4697..66bd19362 100644
--- a/make/config/nativewindow/x11-lib.cfg
+++ b/make/config/nativewindow/x11-lib.cfg
@@ -16,11 +16,11 @@ Import com.jogamp.nativewindow.util.Point
# XID needs to be treated as a long for 32/64 bit compatibility
Opaque long XID
-
-Opaque long Display *
Opaque boolean Bool
-Opaque long GLXFBConfig
+Opaque long Display *
Opaque long Visual *
+Opaque long GLXContext
+Opaque long GLXFBConfig
Opaque long void *
IncludeAs CustomJavaCode X11Lib x11-CustomJavaCode.java
@@ -48,4 +48,5 @@ CustomCCode #include <X11/Xlib.h>
CustomCCode #include <X11/Xutil.h>
CustomCCode #include <X11/extensions/Xrender.h>
CustomCCode #include <XineramaHelper.h>
+CustomCCode #include <Xmisc.h>
diff --git a/make/scripts/gluegen-gl.sh b/make/scripts/gluegen-gl.sh
index 2d40ddcd9..d337689ca 100644
--- a/make/scripts/gluegen-gl.sh
+++ b/make/scripts/gluegen-gl.sh
@@ -1,6 +1,7 @@
#! /bin/bash
-rootrel=build-x86_64
+#rootrel=build-x86_64
+rootrel=build-x86_64-clang
builddir=../$rootrel
buildtmp=../build-temp
@@ -10,6 +11,26 @@ function copy_temp() {
cp -a $builddir/jogl/gensrc/classes/* $buildtmp/gensrc/classes/
}
+function gluegen_jawt_x11() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+-O../$rootrel/nativewindow \
+-Ecom.jogamp.gluegen.JavaEmitter \
+-C./config/nativewindow/jawt-x11.cfg \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+-Istub_includes/jni \
+stub_includes/jni/x11/jawt_md.h
+}
+
function gluegen_if_gl() {
java \
-classpath \
@@ -192,6 +213,84 @@ copy_temp
}
+function gluegen_gl2es3() {
+
+if true ; then
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/gl-if-gl2es3-subset.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/opengl/gles3.c \
+
+copy_temp
+
+fi
+
+if true ; then
+
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/gl-if-gl2_es3.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/opengl/gl2.c \
+
+copy_temp
+
+fi
+
+}
function gluegen_gl3es3() {
java \
-classpath \
@@ -237,7 +336,43 @@ com.jogamp.gluegen.GlueGen \
--dumpCPP \
-O../$rootrel/jogl \
-Ecom.jogamp.gluegen.opengl.GLEmitter \
--C./config/jogl/gl-es3.cfg \
+-C./config/jogl/gl-if-es3.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/opengl/gles3.c \
+
+copy_temp
+
+}
+function gluegen_es3_impl() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/gl-es3-impl.cfg \
-Istub_includes/jni \
-Istub_includes/jni/macosx \
-Istub_includes/jni/win32 \
@@ -373,6 +508,117 @@ copy_temp
}
+function gluegen_gl4() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/gl-if-gl4.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/opengl/gl4.c \
+
+copy_temp
+
+}
+function gluegen_gl4bc() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/gl-gl4bc.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/opengl/gl4bc.c \
+
+copy_temp
+
+}
+
+function gluegen_egl() {
+java \
+'-classpath' \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+'com.jogamp.gluegen.GlueGen' \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+'-Ecom.jogamp.gluegen.opengl.GLEmitter' \
+'-C./config/jogl/egl.cfg' \
+'-Istub_includes/egl' \
+'-Istub_includes/egl/EGL' \
+'-Istub_includes/khr' \
+'-Istub_includes/khr/KD' \
+'-Istub_includes/khr/KHR' \
+'-I../../gluegen/make/stub_includes/gluegen' \
+'stub_includes/egl/window-system1.c'
+}
+
+function gluegen_eglext() {
+java \
+'-classpath' \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+'com.jogamp.gluegen.GlueGen' \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+'-Ecom.jogamp.gluegen.opengl.GLEmitter' \
+'-C./config/jogl/eglext.cfg' \
+'-Istub_includes/egl' \
+'-Istub_includes/egl/EGL' \
+'-Istub_includes/khr' \
+'-Istub_includes/khr/KD' \
+'-Istub_includes/khr/KHR' \
+'-I../../gluegen/make/stub_includes/gluegen' \
+'stub_includes/egl/window-system-ext.c'
+}
+
function gluegen_glx() {
java \
-classpath \
@@ -447,6 +693,80 @@ copy_temp
}
+function gluegen_cgl() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/cgl-macosx.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/macosx/window-system1.c \
+
+copy_temp
+
+}
+
+function gluegen_cglext() {
+java \
+-classpath \
+../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
+com.jogamp.gluegen.GlueGen \
+--debug \
+--dumpCPP \
+-O../$rootrel/jogl \
+-Ecom.jogamp.gluegen.opengl.GLEmitter \
+-C./config/jogl/cglext.cfg \
+-Istub_includes/jni \
+-Istub_includes/jni/macosx \
+-Istub_includes/jni/win32 \
+-Istub_includes/jni/x11 \
+-Istub_includes/khr \
+-Istub_includes/khr/KD \
+-Istub_includes/khr/KHR \
+-Istub_includes/macosx \
+-Istub_includes/macosx/AppKit \
+-Istub_includes/macosx/OpenGL \
+-Istub_includes/macosx/QuartzCore \
+-Istub_includes/opengl \
+-Istub_includes/opengl/GL \
+-Istub_includes/opengl/GL3 \
+-Istub_includes/opengl/GLES \
+-Istub_includes/opengl/GLES2 \
+-Istub_includes/win32 \
+-Istub_includes/x11 \
+-Istub_includes/x11/X11 \
+-Istub_includes/x11/X11/extensions \
+-I../../gluegen/make/stub_includes/gluegen \
+stub_includes/macosx/cglext.c \
+
+copy_temp
+
+}
+
function gluegen_wgl() {
java \
-classpath \
@@ -521,16 +841,16 @@ copy_temp
}
-function gluegen_gl4bc() {
+function gluegen_glugl2() {
java \
-classpath \
../../gluegen/$rootrel/gluegen.jar:../$rootrel/jogl/gluegen-gl.jar \
com.jogamp.gluegen.GlueGen \
---debug \
--dumpCPP \
+--logLevel INFO \
-O../$rootrel/jogl \
-Ecom.jogamp.gluegen.opengl.GLEmitter \
--C./config/jogl/gl-gl4bc.cfg \
+-C./config/jogl/glu-gl2.cfg \
-Istub_includes/jni \
-Istub_includes/jni/macosx \
-Istub_includes/jni/win32 \
@@ -552,27 +872,41 @@ com.jogamp.gluegen.GlueGen \
-Istub_includes/x11/X11 \
-Istub_includes/x11/X11/extensions \
-I../../gluegen/make/stub_includes/gluegen \
-stub_includes/opengl/gl4bc.c \
+stub_includes/opengl/glu.c \
copy_temp
}
function gluegen_all() {
+# bash scripts/make.jogl.all.linux-x86_64.sh -f build-jogl.xml build.gluegen-gl.jar
+
+# gluegen_jawt_x11
+#
# gluegen_if_gl
# gluegen_gl2es1
# gluegen_es1
- gluegen_gl2es2
+# gluegen_gl2es2
# gluegen_es2
+ gluegen_gl2es3
# gluegen_gl3es3
# gluegen_es3
+# gluegen_es3_impl
# gluegen_gl2
# gluegen_gl2gl3
+# gluegen_gl4
# gluegen_gl4bc
+#
+# gluegen_egl
+# gluegen_eglext
# gluegen_glx
# gluegen_glxext
+# gluegen_cgl
+# gluegen_cglext
# gluegen_wgl
# gluegen_wglext
+
+# gluegen_glugl2
}
gluegen_all 2>&1 | tee $(basename $0 .sh).log
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh
index 1232a82a4..f9239345b 100644
--- a/make/scripts/tests.sh
+++ b/make/scripts/tests.sh
@@ -397,7 +397,7 @@ function testawtswt() {
#testnoawt com.jogamp.newt.NewtVersion $*
#testnoawt com.jogamp.oculusvr.OVRVersion $*
-#testnoawt com.jogamp.newt.opengl.GLWindow $*
+testnoawt com.jogamp.newt.opengl.GLWindow $*
#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLVersionParsing00NEWT $*
#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLWindowNEWT $*
#testawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLCanvasAWT $*
@@ -414,7 +414,7 @@ function testawtswt() {
# HiDPI
#
#testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT $*
-testawt com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT $*
+#testawt com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT $*
#testawt com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2AWT $*
#testawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT $*
#testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestRulerNEWT01 $*
diff --git a/make/stub_includes/opengl/gl2.c b/make/stub_includes/opengl/gl2.c
index 1d2a67ae7..037d67d0b 100644
--- a/make/stub_includes/opengl/gl2.c
+++ b/make/stub_includes/opengl/gl2.c
@@ -4,5 +4,6 @@
// "glext.h" are parsed.
#define GL_GLEXT_PROTOTYPES
+#include <GL/glext-supplement.h>
#include <GL/gl.h>
#include <GL/glext.h>
diff --git a/make/stub_includes/opengl/gl3bc.c b/make/stub_includes/opengl/gl3bc.c
index a40fe13c1..81f7a50d6 100644
--- a/make/stub_includes/opengl/gl3bc.c
+++ b/make/stub_includes/opengl/gl3bc.c
@@ -3,6 +3,7 @@
// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed.
#define GL_GLEXT_PROTOTYPES
+#include <GL/glext-supplement.h>
#include <GL/gl.h>
#include <GL/glext.h>
diff --git a/make/stub_includes/opengl/gl4bc.c b/make/stub_includes/opengl/gl4bc.c
index a40fe13c1..81f7a50d6 100644
--- a/make/stub_includes/opengl/gl4bc.c
+++ b/make/stub_includes/opengl/gl4bc.c
@@ -3,6 +3,7 @@
// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed.
#define GL_GLEXT_PROTOTYPES
+#include <GL/glext-supplement.h>
#include <GL/gl.h>
#include <GL/glext.h>
diff --git a/make/stub_includes/opengl/gles1.c b/make/stub_includes/opengl/gles1.c
index ff6056ce8..f8ae02f44 100644
--- a/make/stub_includes/opengl/gles1.c
+++ b/make/stub_includes/opengl/gles1.c
@@ -5,5 +5,6 @@
// "glext.h" are parsed.
#define GL_GLEXT_PROTOTYPES
+#include <GLES/glext-supplement.h>
#include <GLES/gl.h>
#include <GLES/glext.h>
diff --git a/make/stub_includes/opengl/gles2.c b/make/stub_includes/opengl/gles2.c
index cbc5cf847..a1e108803 100644
--- a/make/stub_includes/opengl/gles2.c
+++ b/make/stub_includes/opengl/gles2.c
@@ -2,8 +2,10 @@
#define GL_APIENTRY
// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-// "glext.h" are parsed.
+// "gl2ext.h" are parsed.
#define GL_GLEXT_PROTOTYPES
+#include <GLES2/gl2ext-supplement.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
+
diff --git a/make/stub_includes/opengl/gles3.c b/make/stub_includes/opengl/gles3.c
index 3d2ad8c75..437d61a60 100644
--- a/make/stub_includes/opengl/gles3.c
+++ b/make/stub_includes/opengl/gles3.c
@@ -2,11 +2,13 @@
#define GL_APIENTRY
// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-// "glext.h" are parsed.
+// "gl2ext.h" and "gl3ext.h" are parsed.
#define GL_GLEXT_PROTOTYPES
-#include <GLES3/gl3.h>
+#include <GLES3/gl31.h>
#include <GLES3/gl3ext.h>
-/** We assume ES2 extensions maybe avail on ES3 .. */
+/** Shared between ES2 and ES3 .. */
+#include <GLES2/gl2ext-supplement.h>
#include <GLES2/gl2ext.h>
+
diff --git a/make/stub_includes/win32/wglext.c b/make/stub_includes/win32/wglext.c
index 9c6120411..60c1f74ac 100644
--- a/make/stub_includes/win32/wglext.c
+++ b/make/stub_includes/win32/wglext.c
@@ -10,4 +10,5 @@
#define WGL_WGLEXT_PROTOTYPES
#define SKIP_WGL_HANDLE_DEFINITIONS
#include <windows.h>
+#include <wingdi_types.h>
#include <GL/wglext.h>
diff --git a/make/stub_includes/x11/glxext.c b/make/stub_includes/x11/glxext.c
index 67906a088..e781b6e88 100644
--- a/make/stub_includes/x11/glxext.c
+++ b/make/stub_includes/x11/glxext.c
@@ -1,14 +1,17 @@
-#define GLAPI
+// Routines needed from Xlib.h and Xutil.h (placed here to avoid having
+// XVisualInfo generated multiple times)
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
-// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-// "glext.h" are parsed.
+// Define GL_GLEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in
+// "glx.h" are parsed.
#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-
// Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in
// "glxext.h" are parsed.
#define GLX_GLXEXT_PROTOTYPES
#include <X11/Xlib.h>
#include <X11/Xutil.h>
-#include <GL/glxext.h>
+#include <GL/glx.h>
+// GL/glxext.h included by GL/glx.h
diff --git a/make/stub_includes/x11/window-system1.c b/make/stub_includes/x11/window-system1.c
index a06f39dae..e781b6e88 100644
--- a/make/stub_includes/x11/window-system1.c
+++ b/make/stub_includes/x11/window-system1.c
@@ -1,14 +1,17 @@
-// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-// "glext.h" are parsed.
-#define GL_GLEXT_PROTOTYPES
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <GL/glx.h>
-
// Routines needed from Xlib.h and Xutil.h (placed here to avoid having
// XVisualInfo generated multiple times)
#ifndef _Xconst
#define _Xconst const
#endif /* _Xconst */
+// Define GL_GLEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in
+// "glx.h" are parsed.
+#define GL_GLEXT_PROTOTYPES
+
+// Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in
+// "glxext.h" are parsed.
+#define GLX_GLXEXT_PROTOTYPES
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <GL/glx.h>
+// GL/glxext.h included by GL/glx.h