diff options
Diffstat (limited to 'make/config/jogl')
24 files changed, 267 insertions, 118 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg index 2c8e79e75..3c413465e 100644 --- a/make/config/jogl/gl-common.cfg +++ b/make/config/jogl/gl-common.cfg @@ -35,6 +35,9 @@ Ignore glGetVertexAttribPointerv Ignore glGetVertexAttribPointervARB Ignore glGetVertexAttribPointervNV Ignore glTracePointerRangeMESA +Ignore glMultiDrawElementsBaseVertex +Ignore glDebugMessageCallbackARB +Ignore glDebugMessageCallbackAMD # Manually implement glMapBuffer as the size of the returned buffer # can only be computed by calling another routine @@ -221,13 +224,8 @@ RenameExtensionIntoCore GL_EXT_packed_float RenameExtensionIntoCore GL_EXT_texture_shared_exponent # gl.h uses GL_ARB_framebuffer_object -# GL_*_geometry_shader4 is included here, due to a naming collision otherwise. -# glFramebufferTextureLayerARB is ignored due to it's existence in GL_ARB_framebuffer_object and GL_ARB_geometry_shader4 RenameExtensionIntoCore GL_ARB_framebuffer_object IgnoreExtension GL_EXT_framebuffer_object -RenameExtensionIntoCore GL_ARB_geometry_shader4 -IgnoreExtension GL_EXT_geometry_shader4 -Ignore glFramebufferTextureLayerARB RenameExtensionIntoCore GL_NV_half_float RenameExtensionIntoCore GL_ARB_half_float_pixel @@ -269,27 +267,83 @@ RenameExtensionIntoCore GL_ARB_map_buffer_range RenameExtensionIntoCore GL_ARB_draw_instanced IgnoreExtension GL_EXT_draw_instanced RenameExtensionIntoCore GL_ARB_copy_buffer -RenameExtensionIntoCore GL_NV_primitive_restart +# Does not match the common namespace GL_NV_primitive_restart RenameExtensionIntoCore GL_ARB_texture_buffer_object IgnoreExtension GL_EXT_texture_buffer_object -# Actually GL_ARB_texture_rectangle, but let's be convenient +# We rename EXT_texture_rectangle into core, so ARB_texture_rectangle will stay for convenience RenameExtensionIntoCore GL_EXT_texture_rectangle IgnoreExtension GL_NV_texture_rectangle RenameExtensionIntoCore GL_ARB_uniform_buffer_object # <<< OpenGL 3.1 - +# >>> OpenGL 3.2 +# Rename extension suffices (if exist) subsumed in OpenGL 3.2 (from OpenGL 3.2 spec, Appendix H.1) +RenameExtensionIntoCore GL_ARB_vertex_array_bgra +RenameExtensionIntoCore GL_ARB_draw_elements_base_vertex +RenameExtensionIntoCore GL_ARB_fragment_coord_conventions +RenameExtensionIntoCore GL_ARB_provoking_vertex +RenameExtensionIntoCore GL_ARB_seamless_cube_map +RenameExtensionIntoCore GL_ARB_texture_multisample +RenameExtensionIntoCore GL_ARB_depth_clamp +# GL_ARB_geometry_shader4 is subsumed but values/namespace is orthogonal +IgnoreExtension GL_EXT_geometry_shader4 +RenameExtensionIntoCore GL_ARB_sync +# <<< OpenGL 3.2 + +# >>> OpenGL 3.3 +# Rename extension suffices (if exist) subsumed in OpenGL 3.3 (from OpenGL 3.3 spec, Appendix I.1) +RenameExtensionIntoCore GL_ARB_shader_bit_encoding +RenameExtensionIntoCore GL_ARB_blend_func_extended +RenameExtensionIntoCore GL_ARB_explicit_attrib_location +RenameExtensionIntoCore GL_ARB_occlusion_query2 +RenameExtensionIntoCore GL_ARB_sampler_objects +RenameExtensionIntoCore GL_ARB_texture_rgb10_a2ui +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 +# <<< OpenGL 3.3 + +# >>> OpenGL 4.0 +# Rename extension suffices (if exist) subsumed in OpenGL 4.0 (from OpenGL 4.0 spec, Appendix J.1) +RenameExtensionIntoCore GL_ARB_texture_query_lod +RenameExtensionIntoCore GL_ARB_draw_buffers_blend +RenameExtensionIntoCore GL_ARB_draw_indirect +RenameExtensionIntoCore GL_ARB_gpu_shader5 +RenameExtensionIntoCore GL_ARB_gpu_shader_fp64 +RenameExtensionIntoCore GL_ARB_sample_shading +RenameExtensionIntoCore GL_ARB_shader_subroutine +RenameExtensionIntoCore GL_ARB_tessellation_shader +RenameExtensionIntoCore GL_ARB_texture_buffer_object_rgb32 +RenameExtensionIntoCore GL_ARB_texture_cube_map_array +RenameExtensionIntoCore GL_ARB_texture_gather +RenameExtensionIntoCore GL_ARB_transform_feedback2 +RenameExtensionIntoCore GL_ARB_transform_feedback3 +# <<< OpenGL 4.0 + +# >>> OpenGL 4.1 +# Rename extension suffices (if exist) subsumed in OpenGL 4.1 (from OpenGL 4.1 spec, Appendix K.1) +RenameExtensionIntoCore GL_ARB_ES2_compatibility +RenameExtensionIntoCore GL_ARB_get_program_binary +RenameExtensionIntoCore GL_ARB_separate_shader_objects +RenameExtensionIntoCore GL_ARB_shader_precision +RenameExtensionIntoCore GL_ARB_vertex_attrib_64bit +IgnoreExtension GL_EXT_vertex_attrib_64bit +RenameExtensionIntoCore GL_ARB_viewport_array +# <<< OpenGL 4.1 # 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_texture_rectangle +IgnoreExtension GL_EXT_separate_shader_objects + # # Opaques and other directives for platform-independent routines # Opaque boolean GLboolean +Opaque long GLsync ReturnsString glGetString ReturnsString glGetStringi @@ -349,6 +403,7 @@ ReturnValueCapacity wglAllocateMemoryNV {0} ReturnValueCapacity glXAllocateMemoryNV {0} ReturnValueCapacity glMapBufferRange {2} +ReturnValueCapacity glMapNamedBufferRangeEXT {2} # Pass arguments to ARB_vertex_program, ARB_fragment_program, # ARB_shader_objects, NV_vertex_program, NV_fragment_program, and diff --git a/make/config/jogl/gl-es2.cfg b/make/config/jogl/gl-es2.cfg index cdfd7fef8..14498d0b9 100644 --- a/make/config/jogl/gl-es2.cfg +++ b/make/config/jogl/gl-es2.cfg @@ -20,6 +20,7 @@ Implements GLES2Impl GL2ES2 HierarchicalNativeOutput false Include gl-common.cfg Include gl-common-extensions.cfg +Include gl2_es2-common.cfg EmitProcAddressTable true ProcAddressTableClassName GLES2ProcAddressTable diff --git a/make/config/jogl/gl-gl2es12.cfg b/make/config/jogl/gl-gl2es12.cfg index ec121d777..0d04a0725 100644 --- a/make/config/jogl/gl-gl2es12.cfg +++ b/make/config/jogl/gl-gl2es12.cfg @@ -21,6 +21,7 @@ Implements GL2ES12Impl GL2ES2 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg +Include gl2_es2-common.cfg # Force all of the methods to be emitted using dynamic linking so we # don't need to link against any emulation library on the desktop or @@ -64,12 +65,6 @@ CustomJavaCode GL2ES12Impl glFrustum((double)left, (double)right, (double)bott CustomJavaCode GL2ES12Impl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { CustomJavaCode GL2ES12Impl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } -CustomJavaCode GL2ES12Impl public void glClearDepthf(float depth) { -CustomJavaCode GL2ES12Impl glClearDepth((double)depth); } - -CustomJavaCode GL2ES12Impl public void glDepthRangef(float zNear, float zFar) { -CustomJavaCode GL2ES12Impl glDepthRange((double)zNear, (double)zFar); } - Include gl-headers.cfg Include ../intptr.cfg diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg index ccd9723e6..005b667ef 100644 --- a/make/config/jogl/gl-gl4bc.cfg +++ b/make/config/jogl/gl-gl4bc.cfg @@ -42,9 +42,8 @@ Implements GL4bcImpl GL4 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg -Include gl3-common.cfg -Include gl4-common.cfg Include gl3-desktop.cfg +Include gl2_es2-common.cfg # Manually implement glMapNamedBufferEXT as the size of the returned buffer # can only be computed by calling another routine @@ -84,12 +83,6 @@ CustomJavaCode GL4bcImpl glFrustum((double)left, (double)right, (double)bottom CustomJavaCode GL4bcImpl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { CustomJavaCode GL4bcImpl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } -CustomJavaCode GL4bcImpl public void glClearDepthf(float depth) { -CustomJavaCode GL4bcImpl glClearDepth((double)depth); } - -CustomJavaCode GL4bcImpl public void glDepthRangef(float zNear, float zFar) { -CustomJavaCode GL4bcImpl glDepthRange((double)zNear, (double)zFar); } - Include gl-headers.cfg Include gl3ext-headers.cfg Include ../intptr.cfg diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl2.java b/make/config/jogl/gl-if-CustomJavaCode-gl2.java deleted file mode 100644 index 4d1d0e048..000000000 --- a/make/config/jogl/gl-if-CustomJavaCode-gl2.java +++ /dev/null @@ -1,19 +0,0 @@ - -/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */ -public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2; -/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */ -public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; -/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */ -public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; -/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */ -public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; -/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */ -public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; - -/** Missed in the GL_EXT_packed_float promotion to 3.0 core */ -public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; - -/** Missed in the GL_EXT_framebuffer_sRGB promotion to 3.0 core */ -public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; - - diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java b/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java new file mode 100644 index 000000000..1599a89ca --- /dev/null +++ b/make/config/jogl/gl-if-CustomJavaCode-gl2_es2.java @@ -0,0 +1,46 @@ + + /** Start: GL_ARB_ES2_compatibility functions, which are part of ES2 core as well */ + + /** Entry point to C language function: + * <code> void {@native glReleaseShaderCompiler}(void); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Nop if no native implementation is available. */ + public void glReleaseShaderCompiler(); + + /** Entry point to C language function: + * <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Throws GLException if no native implementation is available. */ + public void glShaderBinary(int n, IntBuffer shaders, int binaryformat, Buffer binary, int length); + + /** Entry point to C language function: + * <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Throws GLException if no native implementation is available. */ + public void glShaderBinary(int n, int[] shaders, int shaders_offset, int binaryformat, Buffer binary, int length); + + /** Entry point to C language function: + * <code> void {@native glGetShaderPrecisionFormat}(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Throws GLException if no native implementation is available. */ + public void glGetShaderPrecisionFormat(int shadertype, int precisiontype, IntBuffer range, IntBuffer precision); + + /** Entry point to C language function: + * <code> void {@native glGetShaderPrecisionFormat}(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Throws GLException if no native implementation is available. */ + public void glGetShaderPrecisionFormat(int shadertype, int precisiontype, int[] range, int range_offset, int[] precision, int precision_offset); + + /** Entry point to C language function: + * <code> void {@native glDepthRangef}(GLclampf zNear, GLclampf zFar); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Calls <code> void {@native glDepthRange}(GLclampd zNear, GLclampd zFar); </code> if no native implementation is available. */ + public void glDepthRangef(float zNear, float zFar); + + /** Entry point to C language function: + * <code> void {@native glClearDepthf}(GLclampf depth); </code> + * <br>Part of <code>GL_ES_VERSION_2_0</code> and <code>GL_ARB_ES2_compatibility</code>. + * <br> Calls <code> void {@native glClearDepth}(GLclampd depth); </code> if no native implementation is available. */ + public void glClearDepthf(float depth); + + /** End: GL_ARB_ES2_compatibility functions, which are part of ES2 core as well */ diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl3.java b/make/config/jogl/gl-if-CustomJavaCode-gl2_gl3.java index 1777c1557..1777c1557 100644 --- a/make/config/jogl/gl-if-CustomJavaCode-gl3.java +++ b/make/config/jogl/gl-if-CustomJavaCode-gl2_gl3.java diff --git a/make/config/jogl/gl-if-gl.cfg b/make/config/jogl/gl-if-gl.cfg index 1bba846e7..c57565b33 100644 --- a/make/config/jogl/gl-if-gl.cfg +++ b/make/config/jogl/gl-if-gl.cfg @@ -10,6 +10,8 @@ HierarchicalNativeOutput false Include gl-common.cfg Include gl-common-extensions.cfg Include gl-if-gl-ignores.cfg +Include gl-if-gl3-ignores.cfg +Include gl-if-gl4-ignores.cfg JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl diff --git a/make/config/jogl/gl-gl2.cfg b/make/config/jogl/gl-if-gl2.cfg index 48dd8eda6..6063bba7e 100644 --- a/make/config/jogl/gl-gl2.cfg +++ b/make/config/jogl/gl-if-gl2.cfg @@ -22,6 +22,8 @@ Extends GL2 GL2GL3 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg +Include gl-if-gl3-ignores.cfg +Include gl-if-gl4-ignores.cfg # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true @@ -32,8 +34,6 @@ IgnoreExtension GL_EXT_point_parameters CustomJavaCode GL2 public boolean glIsPBOPackEnabled(); CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled(); -IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java - Include gl-headers.cfg Include ../intptr.cfg diff --git a/make/config/jogl/gl-if-gl2_es2.cfg b/make/config/jogl/gl-if-gl2_es2.cfg index 63f96d906..eedb5751d 100644 --- a/make/config/jogl/gl-if-gl2_es2.cfg +++ b/make/config/jogl/gl-if-gl2_es2.cfg @@ -10,21 +10,32 @@ ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.jav HierarchicalNativeOutput false Include gl-common.cfg Include gl-common-extensions.cfg +Include gl-if-gl3-ignores.cfg +Include gl-if-gl4-ignores.cfg JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl # Ignore all ES 2.X only stuff .. # Ignore ^gl.*x(v)?(OES)? -Ignore glGetShaderPrecisionFormat Ignore glEGL.* #Ignore glFramebufferVertexAttribArrayNV #Ignore glCoverageOperationNV #Ignore glCoverageMaskNV +# Ignore GL_ARB_ES2_compatibility functions for interface code generation +# since we need our own javadoc header for a detailed description +Ignore glReleaseShaderCompiler +Ignore glShaderBinary +Ignore glGetShaderPrecisionFormat +Ignore glDepthRangef +Ignore glClearDepthf + CustomJavaCode GL2ES2 public void glClearDepth( double depth ); CustomJavaCode GL2ES2 public void glDepthRange(double zNear, double zFar); +IncludeAs CustomJavaCode GL2ES2 gl-if-CustomJavaCode-gl2_es2.java + EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff GetProcAddressTableExpr DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-if-gl2_gl3.cfg b/make/config/jogl/gl-if-gl2_gl3.cfg index 7f6903dd6..99e241f23 100644 --- a/make/config/jogl/gl-if-gl2_gl3.cfg +++ b/make/config/jogl/gl-if-gl2_gl3.cfg @@ -10,12 +10,15 @@ ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/G ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java -ExtendedInterfaceSymbolsOnly ../build-temp/gluegen-set/javax/media/opengl/GL3Set.java +ExtendedInterfaceSymbolsOnly ../build-temp/gluegen-set/javax/media/opengl/GL3Subset.java HierarchicalNativeOutput false Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg +Include gl-if-gl4-ignores.cfg + +IncludeAs CustomJavaCode GL2GL3 gl-if-CustomJavaCode-gl2_gl3.java JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl diff --git a/make/config/jogl/gl-if-gl3-ignores.cfg b/make/config/jogl/gl-if-gl3-ignores.cfg new file mode 100644 index 000000000..672c62278 --- /dev/null +++ b/make/config/jogl/gl-if-gl3-ignores.cfg @@ -0,0 +1,21 @@ +# +# Generated Configuration File +# Use make-glextension-depignore.sh to update! +# + +# +# OpenGL 3.x dependencies +# +# We allow GL_VERSION_3_0 within GL2 +IgnoreExtension GL_VERSION_3_1 +IgnoreExtension GL_VERSION_3_2 +IgnoreExtension GL_VERSION_3_3 +IgnoreExtension GL_VERSION_3_4 +IgnoreExtension GL_ARB_sync +IgnoreExtension GL_ARB_texture_compression_bptc +IgnoreExtension GL_ARB_draw_indirect +IgnoreExtension GL_ARB_gpu_shader5 +IgnoreExtension GL_ARB_gpu_shader_fp64 +IgnoreExtension GL_ARB_tessellation_shader +IgnoreExtension GL_NV_gpu_shader5 + diff --git a/make/config/jogl/gl-gl3-set.cfg b/make/config/jogl/gl-if-gl3-subset.cfg index ac1edac47..85797894d 100644 --- a/make/config/jogl/gl-gl3-set.cfg +++ b/make/config/jogl/gl-if-gl3-subset.cfg @@ -1,13 +1,14 @@ -# This .cfg file is used to generate the GL interface and implementing class. +# This .cfg file is used to generate the common GL2 GL3 set JavaOutputDir ../../build-temp/gluegen-set Package javax.media.opengl Style InterfaceOnly -JavaClass GL3Set +JavaClass GL3Subset Include gl-common.cfg Include gl-common-extensions.cfg -Include gl3-common.cfg Include gl3-desktop.cfg +Include gl-if-gl3-ignores.cfg +Include gl-if-gl4-ignores.cfg EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-gl3.cfg b/make/config/jogl/gl-if-gl3.cfg index d5e0003d4..6682e4145 100644 --- a/make/config/jogl/gl-gl3.cfg +++ b/make/config/jogl/gl-if-gl3.cfg @@ -22,10 +22,8 @@ Implements GL3Impl GL2ES2 Implements GL3Impl GL2GL3 Include gl-common.cfg Include gl-common-extensions.cfg -Include gl3-common.cfg Include gl3-desktop.cfg - -IncludeAs CustomJavaCode GL3 gl-if-CustomJavaCode-gl3.java +Include gl-if-gl4-ignores.cfg EmitProcAddressTable false diff --git a/make/config/jogl/gl-gl3bc.cfg b/make/config/jogl/gl-if-gl3bc.cfg index 7c53ea8d6..f23d3710d 100644 --- a/make/config/jogl/gl-gl3bc.cfg +++ b/make/config/jogl/gl-if-gl3bc.cfg @@ -27,8 +27,8 @@ Extends GL3bc GL3 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg -Include gl3-common.cfg Include gl3-desktop.cfg +Include gl-if-gl4-ignores.cfg # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true diff --git a/make/config/jogl/gl-if-gl4-ignores.cfg b/make/config/jogl/gl-if-gl4-ignores.cfg new file mode 100644 index 000000000..4948b64df --- /dev/null +++ b/make/config/jogl/gl-if-gl4-ignores.cfg @@ -0,0 +1,13 @@ +# +# Generated Configuration File +# Use make-glextension-depignore.sh to update! +# + +# +# OpenGL 4.x dependencies +# +IgnoreExtension GL_VERSION_4_0 +IgnoreExtension GL_VERSION_4_1 +IgnoreExtension GL_VERSION_4_2 +IgnoreExtension GL_ARB_shader_precision + diff --git a/make/config/jogl/gl-gl4.cfg b/make/config/jogl/gl-if-gl4.cfg index 1d4392899..b660bfaac 100644 --- a/make/config/jogl/gl-gl4.cfg +++ b/make/config/jogl/gl-if-gl4.cfg @@ -18,12 +18,8 @@ Extends GL4 GL2GL3 Extends GL4 GL3 Include gl-common.cfg Include gl-common-extensions.cfg -Include gl3-common.cfg -Include gl4-common.cfg Include gl3-desktop.cfg -IncludeAs CustomJavaCode GL4 gl-if-CustomJavaCode-gl3.java - EmitProcAddressTable false ProcAddressTableClassName DontGenerateProcAddressTableStuff GetProcAddressTableExpr DontGenerateProcAddressTableStuff diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java index 0d0daf463..d99f46ec1 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java @@ -58,3 +58,4 @@ } } } + diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java index cb0d01312..bcfa64e95 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2es12.java @@ -363,20 +363,6 @@ native private long dispatch_glMapBuffer(int target, int access, long glProcAddr native private ByteBuffer newDirectByteBuffer(long addr, int capacity); - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, java.nio.IntBuffer shaders, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, int[] shaders, int shaders_offset, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - public void glReleaseShaderCompiler() { - // nothing to do - } - public void glVertexPointer(GLArrayData array) { if(array.getComponentNumber()==0) return; if(array.isVBO()) { diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java index aa176738a..ff177ec94 100644 --- a/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java +++ b/make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java @@ -15,7 +15,6 @@ public void setObjectTracker(GLObjectTracker tracker) { */ - public GL4bcImpl(GLProfile glp, GLContextImpl context) { this._context = context; this.bufferSizeTracker = context.getBufferSizeTracker(); @@ -356,20 +355,6 @@ private native long dispatch_glMapNamedBufferEXT(int buffer, int access, long pr native private ByteBuffer newDirectByteBuffer(long addr, int capacity); - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, java.nio.IntBuffer shaders, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - /** Dummy implementation for the ES 2.0 function: <br> <code> void {@native glShaderBinary}(GLint n, const GLuint * shaders, GLenum binaryformat, const void * binary, GLint length); </code> <br> Always throws a GLException! */ - public void glShaderBinary(int n, int[] shaders, int shaders_offset, int binaryformat, java.nio.Buffer binary, int length) { - throw new GLException("Method \"glShaderBinary\" not available"); - } - - public void glReleaseShaderCompiler() { - // nothing to do - } - public void glVertexPointer(GLArrayData array) { if(array.getComponentNumber()==0) return; if(array.isVBO()) { diff --git a/make/config/jogl/gl2_es2-common.cfg b/make/config/jogl/gl2_es2-common.cfg new file mode 100644 index 000000000..47067f6f9 --- /dev/null +++ b/make/config/jogl/gl2_es2-common.cfg @@ -0,0 +1,23 @@ + +JavaPrologue glReleaseShaderCompiler if ( !_context.hasNativeES2Methods() ) { +JavaPrologue glReleaseShaderCompiler return; +JavaPrologue glReleaseShaderCompiler } + +JavaPrologue glShaderBinary if ( !_context.hasNativeES2Methods() ) { +JavaPrologue glShaderBinary throw new GLException("Method \"glShaderBinary\" not available"); +JavaPrologue glShaderBinary } + +JavaPrologue glGetShaderPrecisionFormat if ( !_context.hasNativeES2Methods() ) { +JavaPrologue glGetShaderPrecisionFormat throw new GLException("Method \"glGetShaderPrecisionFormat\" not available"); +JavaPrologue glGetShaderPrecisionFormat } + +JavaPrologue glDepthRangef if ( !_context.hasNativeES2Methods() ) { +JavaPrologue glDepthRangef glDepthRange( (double)n, (double)f ); +JavaPrologue glDepthRangef return; +JavaPrologue glDepthRangef } + +JavaPrologue glClearDepthf if ( !_context.hasNativeES2Methods() ) { +JavaPrologue glClearDepthf glClearDepth( (double)d ); +JavaPrologue glClearDepthf return; +JavaPrologue glClearDepthf } + diff --git a/make/config/jogl/gl3-common.cfg b/make/config/jogl/gl3-common.cfg deleted file mode 100644 index c2cc2968e..000000000 --- a/make/config/jogl/gl3-common.cfg +++ /dev/null @@ -1,27 +0,0 @@ - -# >>> OpenGL 3.1 -# See gl-common.cfg ! -# <<< OpenGL 3.1 - -# >>> OpenGL 3.2 -# Rename extension suffices (if exist) subsumed in OpenGL 3.2 (from OpenGL 3.2 spec, Appendix H.1) -RenameExtensionIntoCore GL_ARB_vertex_array_bgra -RenameExtensionIntoCore GL_ARB_draw_elements_base_vertex -RenameExtensionIntoCore GL_ARB_fragment_coord_conventions -RenameExtensionIntoCore GL_ARB_provoking_vertex -RenameExtensionIntoCore GL_ARB_seamless_cube_map -RenameExtensionIntoCore GL_ARB_texture_multisample -RenameExtensionIntoCore GL_ARB_depth_clamp -RenameExtensionIntoCore GL_ARB_geometry_shader4 -RenameExtensionIntoCore GL_ARB_sync -# <<< OpenGL 3.2 - -# >>> OpenGL 3.3 -# <<< OpenGL 3.3 - -# Ignore GL functions that deal with explicit pointer values in such a -# way that we cannot implement the functionality in Java -Ignore glMultiDrawElementsBaseVertex - -Opaque long GLsync - diff --git a/make/config/jogl/gl4-common.cfg b/make/config/jogl/gl4-common.cfg deleted file mode 100644 index 2c119da30..000000000 --- a/make/config/jogl/gl4-common.cfg +++ /dev/null @@ -1,5 +0,0 @@ - -# >>> OpenGL 4.0 -# <<< OpenGL 4.0 - - diff --git a/make/config/jogl/make-glextension-depignore.sh b/make/config/jogl/make-glextension-depignore.sh new file mode 100644 index 000000000..98db66a84 --- /dev/null +++ b/make/config/jogl/make-glextension-depignore.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +thisdir=`pwd` +registry=/data/docs/ComputerIT/3D_AV_GFX/gl/registry/specs +classdirpos=9 +dirdep=$thisdir/tmp_glext_dep + +gl3ignores=$thisdir/gl-if-gl3-ignores.cfg +gl4ignores=$thisdir/gl-if-gl4-ignores.cfg + +rm -rf $dirdep +mkdir -p $dirdep + +cd $registry + +# We allow OpenGL 3.0 within GL2 +grep -RIl "^[ \t]*OpenGL 3\.[1234] is required" . > $dirdep/ext-req-3_x.txt +grep -RIl "^[ \t]*OpenGL 3\.[1234] and GLSL .* are required" . >> $dirdep/ext-req-3_x.txt +grep -RIl "^[ \t]*OpenGL 4\.. is required" . > $dirdep/ext-req-4_x.txt +grep -RIl "^[ \t]*OpenGL 4\.. and GLSL .* are required" . >> $dirdep/ext-req-4_x.txt + +cd $thisdir + +function dump_ignore_ext() { + infile=$1 + for i in `cat $infile` ; do + class=`echo $i | awk -F '/' ' { print \$2 } ' ` + extname="GL_"$class"_"`basename $i .txt` + echo IgnoreExtension $extname + done +} + +function dump_ignore_header() { + echo "#" + echo "# Generated Configuration File" + echo "# Use make-glextension-depignore.sh to update!" + echo "#" + echo +} + +function dump_ignore_ext_gl3() { + echo "#" + echo "# OpenGL 3.x dependencies" + echo "#" + echo "# We allow GL_VERSION_3_0 within GL2" + echo "IgnoreExtension GL_VERSION_3_1" + echo "IgnoreExtension GL_VERSION_3_2" + echo "IgnoreExtension GL_VERSION_3_3" + echo "IgnoreExtension GL_VERSION_3_4" + dump_ignore_ext $dirdep/ext-req-3_x.txt + echo +} + +function dump_ignore_ext_gl4() { + echo "#" + echo "# OpenGL 4.x dependencies" + echo "#" + echo "IgnoreExtension GL_VERSION_4_0" + echo "IgnoreExtension GL_VERSION_4_1" + echo "IgnoreExtension GL_VERSION_4_2" + dump_ignore_ext $dirdep/ext-req-4_x.txt + echo +} + +dump_ignore_header > $gl3ignores +dump_ignore_ext_gl3 >> $gl3ignores + +dump_ignore_header > $gl4ignores +dump_ignore_ext_gl4 >> $gl4ignores + |