From 0d59bd4c655ef9a27f127000848aae7f07f240ae Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 6 Mar 2015 09:45:48 +0100 Subject: Bug 1135 - Change all GlueGen config files, supporting EGL 1.5 , ES 3.1 and GL 4.5 --- make/config/jogl/cgl-macosx.cfg | 11 +- make/config/jogl/cglext.cfg | 2 +- make/config/jogl/egl-CustomJavaCode.java | 2 +- make/config/jogl/egl-common.cfg | 4 +- make/config/jogl/eglext.cfg | 3 +- make/config/jogl/es1-headers.cfg | 5 + make/config/jogl/es3-headers.cfg | 4 + make/config/jogl/gl-common-extensions.cfg | 133 ++++---- make/config/jogl/gl-common.cfg | 182 ++++++++--- make/config/jogl/gl-desktop-ignores.cfg | 7 + make/config/jogl/gl-desktop.cfg | 3 +- make/config/jogl/gl-embedded-ignores.cfg | 13 + make/config/jogl/gl-es1.cfg | 22 +- make/config/jogl/gl-es3-impl.cfg | 27 +- make/config/jogl/gl-gl4bc.cfg | 20 +- make/config/jogl/gl-headers.cfg | 26 +- make/config/jogl/gl-if-CustomJavaCode-es3.java | 3 - make/config/jogl/gl-if-CustomJavaCode-gl.java | 11 +- make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java | 7 +- .../jogl/gl-if-CustomJavaCode-gl_compat.java | 20 -- make/config/jogl/gl-if-es2.cfg | 8 + make/config/jogl/gl-if-es3.cfg | 9 + make/config/jogl/gl-if-gl-ignores.cfg | 133 ++++++-- make/config/jogl/gl-if-gl.cfg | 12 +- make/config/jogl/gl-if-gl2.cfg | 12 +- make/config/jogl/gl-if-gl2_es1.cfg | 13 +- make/config/jogl/gl-if-gl2_es2-ignores.cfg | 81 ++++- make/config/jogl/gl-if-gl2_es2.cfg | 12 +- make/config/jogl/gl-if-gl2_es3-ignores.cfg | 82 ++++- make/config/jogl/gl-if-gl2_es3.cfg | 12 +- make/config/jogl/gl-if-gl2_gl3.cfg | 10 +- make/config/jogl/gl-if-gl2es3-subset.cfg | 10 + make/config/jogl/gl-if-gl2gl3-subset.cfg | 9 + make/config/jogl/gl-if-gl3-ignores.cfg | 43 ++- make/config/jogl/gl-if-gl3.cfg | 13 +- make/config/jogl/gl-if-gl3_es3.cfg | 11 +- make/config/jogl/gl-if-gl3bc.cfg | 15 +- make/config/jogl/gl-if-gl4-ignores.cfg | 30 ++ make/config/jogl/gl-if-gl4.cfg | 13 +- make/config/jogl/gl-if-gl4_es3.cfg | 11 +- make/config/jogl/gl-if-luminance-ignore.cfg | 7 - make/config/jogl/gl-impl-CustomCCode-gl4bc.c | 15 +- make/config/jogl/gl-impl-CustomCCode-gles1.c | 5 +- make/config/jogl/gl-impl-CustomCCode-gles3.c | 5 +- .../jogl/gl-impl-CustomJavaCode-embedded.java | 7 - make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java | 18 +- make/config/jogl/gl-impl-CustomJavaCode-gles1.java | 11 + make/config/jogl/gl-impl-CustomJavaCode-gles3.java | 30 ++ make/config/jogl/gl2_es2-common.cfg | 2 - make/config/jogl/gl2_es3-common.cfg | 2 - make/config/jogl/gl3-common.cfg | 2 - make/config/jogl/gl3-headers.cfg | 28 -- make/config/jogl/gl3ext-headers.cfg | 4 - make/config/jogl/glu-common.cfg | 6 +- make/config/jogl/glu-gl2.cfg | 15 +- make/config/jogl/glx-headers.cfg | 40 +++ make/config/jogl/glx-x11.cfg | 11 +- make/config/jogl/glxext.cfg | 12 +- make/config/jogl/wgl-win32.cfg | 7 +- make/config/jogl/wglext.cfg | 8 +- make/config/nativewindow/jawt-macosx.cfg | 1 - make/config/nativewindow/jawt-win32.cfg | 6 +- make/config/nativewindow/jawt-x11.cfg | 2 +- make/config/nativewindow/win32-lib.cfg | 10 - make/config/nativewindow/x11-lib.cfg | 7 +- make/scripts/gluegen-gl.sh | 348 ++++++++++++++++++++- make/scripts/tests.sh | 4 +- make/stub_includes/opengl/gl2.c | 1 + make/stub_includes/opengl/gl3bc.c | 1 + make/stub_includes/opengl/gl4bc.c | 1 + make/stub_includes/opengl/gles1.c | 1 + make/stub_includes/opengl/gles2.c | 4 +- make/stub_includes/opengl/gles3.c | 8 +- make/stub_includes/win32/wglext.c | 1 + make/stub_includes/x11/glxext.c | 15 +- make/stub_includes/x11/window-system1.c | 19 +- 76 files changed, 1306 insertions(+), 402 deletions(-) create mode 100644 make/config/jogl/es1-headers.cfg create mode 100644 make/config/jogl/es3-headers.cfg create mode 100644 make/config/jogl/gl-desktop-ignores.cfg create mode 100644 make/config/jogl/gl-embedded-ignores.cfg delete mode 100644 make/config/jogl/gl-if-CustomJavaCode-gl_compat.java delete mode 100644 make/config/jogl/gl-if-luminance-ignore.cfg delete mode 100644 make/config/jogl/gl-impl-CustomJavaCode-embedded.java delete mode 100644 make/config/jogl/gl3-headers.cfg delete mode 100644 make/config/jogl/gl3ext-headers.cfg create mode 100644 make/config/jogl/glx-headers.cfg (limited to 'make') 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. *

- * Entry point to C language function: EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value);
Part of EGL_VERSION_1_X + * Entry point to C language function: EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value);
Part of EGL_VERSION_1_0 *

*/ 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 /* android */ +CustomCCode #include +CustomCCode #include +CustomCCode #include + 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 /* android */ +CustomCCode #include +CustomCCode #include +CustomCCode #include 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 /* 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 -CustomCCode #include -CustomCCode #include - 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 /* 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 -CustomCCode #include -CustomCCode #include -CustomCCode #include +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 CustomCCode #include /* android */ -CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */ -CustomCCode #define GL_GLEXT_PROTOTYPES +CustomCCode #include +CustomCCode #include CustomCCode #if defined(_WIN32) -CustomCCode #define WIN32_LEAN_AND_MEAN -CustomCCode #include -CustomCCode #undef WIN32_LEAN_AND_MEAN CustomCCode #include CustomCCode #include CustomCCode #include -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 -CustomCCode #include CustomCCode #elif defined(__APPLE__) CustomCCode #include CustomCCode #include -CustomCCode /* Include the OpenGL headers */ -CustomCCode #include CustomCCode #include CustomCCode /* Provide Windows typedefs */ CustomCCode typedef void* LPVOID; @@ -28,11 +16,7 @@ CustomCCode #elif defined(__unix__) CustomCCode #include CustomCCode #include CustomCCode #include -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 -CustomCCode #include -CustomCCode #include +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 GL_ARB_sync */ public static final long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFL ; -/** Part of GL_ARB_shader_image_load_store */ -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 GL_VERSION_1_4, GL_ES_VERSION_2_0, GL_OES_required_internalformat. */ - public static final int GL_DEPTH_COMPONENT16 = 0x81A5; - /** Part of GL_VERSION_1_0, GL_OES_element_index_uint, GL_ES_VERSION_2_0 */ - public static final int GL_UNSIGNED_INT = 0x1405; - /** Part of GL_VERSION_1_0, GL_ES_VERSION_2_0 */ - public static final int GL_UNSIGNED_SHORT = 0x1403; - + /** Part of GL_EXT_framebuffer_object; GL_ES_VERSION_2_0; GL_OES_framebuffer_object */ + public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS = 0x8CDA; + /** Part of GL_ES_VERSION_3_0, GL_VERSION_3_0; GL_EXT_packed_float */ + 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 GL_ARB_separate_shader_objects, GL_EXT_separate_shader_objects */ - public static final int GL_ALL_SHADER_BITS = 0xFFFFFFFF ; + /** Part of GL_ES_VERSION_2_0, GL_VERSION_1_1, GL_VERSION_1_0 */ + 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 GL_VERSION_1_0, GL_ES_VERSION_2_0, GL_ANGLE_depth_texture */ - 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 GL_NV_vertex_array_range. - *

- * Provides platform-independent access to the wglAllocateMemoryNV / - * glXAllocateMemoryNV. - *

- */ -public java.nio.ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority); - -/** - * Part of GL_NV_vertex_array_range. - *

- * Provides platform-independent access to the wglFreeMemoryNV / - * glXFreeMemoryNV. - *

- */ -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 @@ -117,6 +117,11 @@ public final boolean isGLES3Compatible() { return _context.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; @@ -107,6 +113,11 @@ public final boolean isGLES3Compatible() { return false; } +@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/gl3-headers.cfg b/make/config/jogl/gl3-headers.cfg deleted file mode 100644 index d76d3ae4c..000000000 --- a/make/config/jogl/gl3-headers.cfg +++ /dev/null @@ -1,28 +0,0 @@ -CustomCCode #include /* android */ -CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */ -CustomCCode #define GL_GLEXT_PROTOTYPES -CustomCCode #if defined(_WIN32) -CustomCCode #define WIN32_LEAN_AND_MEAN -CustomCCode #include -CustomCCode #undef WIN32_LEAN_AND_MEAN -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #elif defined(__APPLE__) -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode /* Provide Windows typedefs */ -CustomCCode typedef void* LPVOID; -CustomCCode typedef unsigned int* PUINT; -CustomCCode #elif defined(__unix__) -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #include -CustomCCode #endif 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 /* android */ -CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */ -CustomCCode #define GL_GLEXT_PROTOTYPES -CustomCCode #include 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 CustomCCode #undef WIN32_LEAN_AND_MEAN -CustomCCode CustomCCode #include CustomCCode #elif defined(__APPLE__) CustomCCode #include @@ -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/glx-headers.cfg b/make/config/jogl/glx-headers.cfg new file mode 100644 index 000000000..b38881f74 --- /dev/null +++ b/make/config/jogl/glx-headers.cfg @@ -0,0 +1,40 @@ +CustomCCode #include /* android */ +CustomCCode /** Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. */ +CustomCCode #define GL_GLEXT_PROTOTYPES +CustomCCode #if defined(_WIN32) +CustomCCode #define WIN32_LEAN_AND_MEAN +CustomCCode #include +CustomCCode #undef WIN32_LEAN_AND_MEAN +CustomCCode #include +CustomCCode #include +CustomCCode #include +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 +CustomCCode #include +CustomCCode #elif defined(__APPLE__) +CustomCCode #include +CustomCCode #include +CustomCCode #include +CustomCCode /* Provide Windows typedefs */ +CustomCCode typedef void* LPVOID; +CustomCCode typedef unsigned int* PUINT; +CustomCCode /* Include the OpenGL headers */ +CustomCCode #include +CustomCCode #elif defined(__unix__) +CustomCCode #include +CustomCCode #include +CustomCCode #include +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 +CustomCCode #include +CustomCCode #include +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 CustomCCode #undef WIN32_LEAN_AND_MEAN - CustomCCode #include +CustomCCode #include CustomCCode #include -CustomCCode #include 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 +CustomCCode #undef WIN32_LEAN_AND_MEAN CustomCCode #include CustomCCode #include +CustomCCode #include 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 CustomCCode #undef WIN32_LEAN_AND_MEAN - CustomCCode #include CustomCCode #include CustomCCode #include 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 CustomCCode #include CustomCCode #include CustomCCode #include +CustomCCode #include 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 #include #include 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 #include #include 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 #include #include 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 #include #include 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 #include #include + 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 +#include #include -/** We assume ES2 extensions maybe avail on ES3 .. */ +/** Shared between ES2 and ES3 .. */ +#include #include + 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 +#include #include 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 - // Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in // "glxext.h" are parsed. #define GLX_GLXEXT_PROTOTYPES #include #include -#include +#include +// 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 -#include -#include - // 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 +#include +#include +// GL/glxext.h included by GL/glx.h -- cgit v1.2.3