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