diff options
Diffstat (limited to 'make')
43 files changed, 172 insertions, 118 deletions
diff --git a/make/config/jogl/es1-headers.cfg b/make/config/jogl/es1-headers.cfg index e01d40498..6dc3696c3 100644 --- a/make/config/jogl/es1-headers.cfg +++ b/make/config/jogl/es1-headers.cfg @@ -1,5 +1,9 @@ CustomCCode #include <stdio.h> /* android */ CustomCCode #include <GLES/glplatform.h> -CustomCCode #include <gl-types.h> +CustomCCode // Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in +CustomCCode // "glext.h" are parsed. +CustomCCode #define GL_GLEXT_PROTOTYPES +CustomCCode #include <GLES/gl.h> +CustomCCode #include <GLES/glext.h> +CustomCCode #include <GLES/glext-supplement.h> CustomCCode #include <stdlib.h> - diff --git a/make/config/jogl/es3-headers.cfg b/make/config/jogl/es3-headers.cfg index bdf19fa4a..41f6d5a6b 100644 --- a/make/config/jogl/es3-headers.cfg +++ b/make/config/jogl/es3-headers.cfg @@ -1,4 +1,11 @@ CustomCCode #include <stdio.h> /* android */ CustomCCode #include <GLES2/gl2platform.h> -CustomCCode #include <gl-types.h> +CustomCCode // Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in +CustomCCode // "gl2ext.h" and "gl3ext.h" are parsed. +CustomCCode #define GL_GLEXT_PROTOTYPES +CustomCCode #include <GLES3/gl31.h> +CustomCCode #include <GLES3/gl3ext.h> +CustomCCode /** Shared between ES2 and ES3 .. */ +CustomCCode #include <GLES2/gl2ext.h> +CustomCCode #include <GLES2/gl2ext-supplement.h> CustomCCode #include <stdlib.h> diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg index b881ce4d0..1711d962e 100644 --- a/make/config/jogl/gl-common.cfg +++ b/make/config/jogl/gl-common.cfg @@ -17,17 +17,17 @@ RelaxedEqualSemanticsTest true # Inform the glue code generator of the association between #defines # and functions and the extensions in which they are defined # _for_ API documentation only! -GLDocHeader GL/glext-supplement.h GLDocHeader GL/gl.h +GLDocHeader GL/glext-supplement.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-supplement.h GLDocHeader GLES/glext.h -GLDocHeader GLES2/gl2ext-supplement.h GLDocHeader GLES2/gl2.h +GLDocHeader GLES2/gl2ext-supplement.h GLDocHeader GLES2/gl2ext.h GLDocHeader GLES3/gl31.h GLDocHeader GLES3/gl3ext.h diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg index 98d892247..6ce59770e 100644 --- a/make/config/jogl/gl-es1.cfg +++ b/make/config/jogl/gl-es1.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GLES/glext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java diff --git a/make/config/jogl/gl-es3-impl.cfg b/make/config/jogl/gl-es3-impl.cfg index 443f91c1c..01ef034f6 100644 --- a/make/config/jogl/gl-es3-impl.cfg +++ b/make/config/jogl/gl-es3-impl.cfg @@ -5,9 +5,9 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java diff --git a/make/config/jogl/gl-gl4bc.cfg b/make/config/jogl/gl-gl4bc.cfg index 034faa59e..ae3ebb22f 100644 --- a/make/config/jogl/gl-gl4bc.cfg +++ b/make/config/jogl/gl-gl4bc.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h GLSemHeader GL/glcorearb.h diff --git a/make/config/jogl/gl-headers.cfg b/make/config/jogl/gl-headers.cfg index 3692cd804..7a5315ebb 100644 --- a/make/config/jogl/gl-headers.cfg +++ b/make/config/jogl/gl-headers.cfg @@ -1,13 +1,23 @@ CustomCCode #include <stdio.h> /* android */ CustomCCode #include <GL/gl-platform.h> -CustomCCode #include <gl-types.h> +CustomCCode // Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in +CustomCCode // "glext.h" are parsed. +CustomCCode #define GL_GLEXT_PROTOTYPES CustomCCode #if defined(_WIN32) CustomCCode #include <stdlib.h> CustomCCode #include <stddef.h> CustomCCode #include <malloc.h> +CustomCCode /* Include the OpenGL headers */ +CustomCCode #include <GL/gl.h> +CustomCCode #include <GL/glext.h> +CustomCCode #include <GL/glext-supplement.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 <GL/glext.h> +CustomCCode #include <GL/glext-supplement.h> CustomCCode #include <machine/types.h> CustomCCode /* Provide Windows typedefs */ CustomCCode typedef void* LPVOID; @@ -16,6 +26,10 @@ CustomCCode #elif defined(__unix__) CustomCCode #include <inttypes.h> CustomCCode #include <stdlib.h> CustomCCode #include <X11/Xlib.h> +CustomCCode /* Include the OpenGL headers */ +CustomCCode #include <GL/gl.h> +CustomCCode #include <GL/glext.h> +CustomCCode #include <GL/glext-supplement.h> CustomCCode /* Provide Windows typedefs */ CustomCCode typedef void* LPVOID; CustomCCode typedef unsigned int* PUINT; diff --git a/make/config/jogl/gl-if-es2.cfg b/make/config/jogl/gl-if-es2.cfg index 49b1973cc..4199f2069 100644 --- a/make/config/jogl/gl-if-es2.cfg +++ b/make/config/jogl/gl-if-es2.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java diff --git a/make/config/jogl/gl-if-es3.cfg b/make/config/jogl/gl-if-es3.cfg index cf56e9f0d..573a79f85 100644 --- a/make/config/jogl/gl-if-es3.cfg +++ b/make/config/jogl/gl-if-es3.cfg @@ -4,8 +4,8 @@ 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 GLES2/gl2ext-supplement.h GLSemHeader GLES3/gl3ext.h GLSemHeader GLES2/gl2ext.h diff --git a/make/config/jogl/gl-if-gl.cfg b/make/config/jogl/gl-if-gl.cfg index 8716e5cdd..c9f93d35d 100644 --- a/make/config/jogl/gl-if-gl.cfg +++ b/make/config/jogl/gl-if-gl.cfg @@ -7,8 +7,8 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java diff --git a/make/config/jogl/gl-if-gl2.cfg b/make/config/jogl/gl-if-gl2.cfg index bff2e5fed..e539633ad 100644 --- a/make/config/jogl/gl-if-gl2.cfg +++ b/make/config/jogl/gl-if-gl2.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h diff --git a/make/config/jogl/gl-if-gl2_es1.cfg b/make/config/jogl/gl-if-gl2_es1.cfg index 9fb2fbf83..c2484fcb2 100644 --- a/make/config/jogl/gl-if-gl2_es1.cfg +++ b/make/config/jogl/gl-if-gl2_es1.cfg @@ -11,8 +11,8 @@ 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-supplement.h GLSemHeader GLES/glext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java diff --git a/make/config/jogl/gl-if-gl2_es2.cfg b/make/config/jogl/gl-if-gl2_es2.cfg index 97adaead1..a7e1dd333 100644 --- a/make/config/jogl/gl-if-gl2_es2.cfg +++ b/make/config/jogl/gl-if-gl2_es2.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java diff --git a/make/config/jogl/gl-if-gl2_es3.cfg b/make/config/jogl/gl-if-gl2_es3.cfg index 34032d7b9..ecad4a188 100644 --- a/make/config/jogl/gl-if-gl2_es3.cfg +++ b/make/config/jogl/gl-if-gl2_es3.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h diff --git a/make/config/jogl/gl-if-gl2_gl3.cfg b/make/config/jogl/gl-if-gl2_gl3.cfg index 02142b726..446bf0b6b 100644 --- a/make/config/jogl/gl-if-gl2_gl3.cfg +++ b/make/config/jogl/gl-if-gl2_gl3.cfg @@ -10,8 +10,8 @@ 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-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h diff --git a/make/config/jogl/gl-if-gl2es3-subset.cfg b/make/config/jogl/gl-if-gl2es3-subset.cfg index 92099249c..f7c46e859 100644 --- a/make/config/jogl/gl-if-gl2es3-subset.cfg +++ b/make/config/jogl/gl-if-gl2es3-subset.cfg @@ -4,9 +4,9 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h Package com.jogamp.opengl diff --git a/make/config/jogl/gl-if-gl3_es3.cfg b/make/config/jogl/gl-if-gl3_es3.cfg index a66e4897c..86823a3f4 100644 --- a/make/config/jogl/gl-if-gl3_es3.cfg +++ b/make/config/jogl/gl-if-gl3_es3.cfg @@ -5,9 +5,9 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h Package com.jogamp.opengl diff --git a/make/config/jogl/gl-if-gl3bc.cfg b/make/config/jogl/gl-if-gl3bc.cfg index bf31ab3ae..1be0b8bcf 100644 --- a/make/config/jogl/gl-if-gl3bc.cfg +++ b/make/config/jogl/gl-if-gl3bc.cfg @@ -5,8 +5,8 @@ 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-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h GLSemHeader GL/glcorearb.h diff --git a/make/config/jogl/gl-if-gl4_es3.cfg b/make/config/jogl/gl-if-gl4_es3.cfg index 2b090eb91..776e82921 100644 --- a/make/config/jogl/gl-if-gl4_es3.cfg +++ b/make/config/jogl/gl-if-gl4_es3.cfg @@ -5,9 +5,9 @@ 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-supplement.h GLSemHeader GLES2/gl2ext.h Package com.jogamp.opengl diff --git a/make/config/jogl/glu-common.cfg b/make/config/jogl/glu-common.cfg index bc039ee8d..ed80f1133 100644 --- a/make/config/jogl/glu-common.cfg +++ b/make/config/jogl/glu-common.cfg @@ -6,10 +6,6 @@ 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/glx-CustomCCode.c b/make/config/jogl/glx-CustomCCode.c index 7216e5b65..b4b4f5b0a 100644 --- a/make/config/jogl/glx-CustomCCode.c +++ b/make/config/jogl/glx-CustomCCode.c @@ -1,7 +1,3 @@ -#include <inttypes.h> -#include <X11/Xlib.h> -#include <X11/Xutil.h> -#include <GL/glx.h> /* Linux headers don't work properly */ #define __USE_GNU #include <dlfcn.h> diff --git a/make/config/jogl/glx-headers.cfg b/make/config/jogl/glx-headers.cfg index b38881f74..d5d4f5f2d 100644 --- a/make/config/jogl/glx-headers.cfg +++ b/make/config/jogl/glx-headers.cfg @@ -1,40 +1,41 @@ 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 #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 /* Define WGL_WGLEXT_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 #define WGL_WGLEXT_PROTOTYPES +CustomCCode /* included implicit via windows header: #include <wingdi.h> */ +CustomCCode #include <gl-types.h> CustomCCode #include <GL/wglext.h> CustomCCode #elif defined(__APPLE__) CustomCCode #include <inttypes.h> CustomCCode #include <stdlib.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 #include <GL/glext.h> +CustomCCode #include <GL/glext-supplement.h> +CustomCCode #include <machine/types.h> +CustomCCode /* Provide Windows typedefs */ +CustomCCode typedef void* LPVOID; +CustomCCode typedef unsigned int* PUINT; CustomCCode #elif defined(__unix__) CustomCCode #include <inttypes.h> CustomCCode #include <stdlib.h> CustomCCode #include <X11/Xlib.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-types.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/glx-x11.cfg b/make/config/jogl/glx-x11.cfg index 8a127558f..17b5fa8d7 100644 --- a/make/config/jogl/glx-x11.cfg +++ b/make/config/jogl/glx-x11.cfg @@ -3,6 +3,10 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 +#GLSemHeader GL/gl.h +#GLSemHeader GL/glext-supplement.h +#GLSemHeader GL/glext.h +GLSemHeader gl-types.h GLSemHeader GL/glx.h GLSemHeader GL/glxext.h @@ -30,7 +34,10 @@ CustomJavaCode GLX private static GLXProcAddressTable glxProcAddressTable = new CustomJavaCode GLX public static GLXProcAddressTable getGLXProcAddressTable() { return glxProcAddressTable; } IncludeAs CustomJavaCode GLX glx-CustomJavaCode.java + +Include glx-headers.cfg IncludeAs CustomCCode glx-CustomCCode.c + ForceStaticInitCode GLX ArgumentIsString XOpenDisplay 0 diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg index 7f3defe15..c6e6d2aa4 100644 --- a/make/config/jogl/glxext.cfg +++ b/make/config/jogl/glxext.cfg @@ -3,6 +3,10 @@ JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 +#GLSemHeader GL/gl.h +#GLSemHeader GL/glext-supplement.h +#GLSemHeader GL/glext.h +GLSemHeader gl-types.h GLSemHeader GL/glx.h GLSemHeader GL/glxext.h diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg index c5c6db0db..b3db05cec 100644 --- a/make/config/jogl/wgl-win32.cfg +++ b/make/config/jogl/wgl-win32.cfg @@ -13,6 +13,7 @@ Include gl-common-extensions.cfg Include gl-desktop.cfg GLSemHeader wingdi.h +GLSemHeader gl-types.h GLSemHeader GL/wglext.h ForceProcAddressGen __ALL__ @@ -39,12 +40,7 @@ CustomJavaCode WGL public static WGLProcAddressTable getWGLProcAddressTable() { # of byte[] 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> +Include glx-headers.cfg 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 6b5815fdf..4c0061372 100644 --- a/make/config/jogl/wglext.cfg +++ b/make/config/jogl/wglext.cfg @@ -18,6 +18,7 @@ NIOOnly __ALL__ NIODirectOnly __ALL__ GLSemHeader wingdi.h +GLSemHeader gl-types.h GLSemHeader GL/wglext.h EmitProcAddressTable true @@ -35,7 +36,6 @@ Include glx-headers.cfg # 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 -GLSemHeader GL/wglext.h IgnoreExtension WGL_OML_sync_control IgnoreExtension WGL_NV_gpu_affinity diff --git a/make/scripts/tests-win.bat b/make/scripts/tests-win.bat index 8a94a0fa2..e64e14b09 100755 --- a/make/scripts/tests-win.bat +++ b/make/scripts/tests-win.bat @@ -12,7 +12,7 @@ REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGe REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT -vsync -time 40000 -width 100 -height 100 -screen 0 %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.awt.TestGearsAWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2AWT %* -scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT %* +REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelsAWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.awt.DemoGLJPanelPerf02AWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT %* @@ -175,7 +175,7 @@ REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01bN REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01cNEWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01dNEWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02aNEWT %* -REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02bNEWT %* +scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02bNEWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.mm.ManualScreenMode03sNEWT %* REM scripts\java-win.bat com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT diff --git a/make/scripts/tests-x64-dbg.bat b/make/scripts/tests-x64-dbg.bat index 0439e0f78..55c1288dd 100755 --- a/make/scripts/tests-x64-dbg.bat +++ b/make/scripts/tests-x64-dbg.bat @@ -65,7 +65,7 @@ REM set D_ARGS="-Djogl.debug.GLCanvas" "-Djogl.debug.Animator" "-Djogl.debug.GLC REM set D_ARGS="-Djogl.debug.GLCanvas" "-Djogl.debug.Animator" "-Djogl.debug.GLContext" "-Djogl.debug.GLContext.TraceSwitch"
REM set D_ARGS="-Djogl.debug.GLCanvas" "-Djogl.debug.GLJPanel" "-Djogl.debug.TileRenderer" "-Djogl.debug.TileRenderer.PNG"
REM set D_ARGS="-Djogl.debug.GLCanvas" "-Djogl.debug.GLJPanel" "-Djogl.debug.TileRenderer"
-set D_ARGS="-Djogl.debug.GLContext" "-Djogl.debug.GLJPanel"
+REM set D_ARGS="-Djogl.debug.GLContext" "-Djogl.debug.GLJPanel"
REM set D_ARGS="-Djogl.gljpanel.noverticalflip"
REM set D_ARGS="-Dnewt.debug=all"
REM set D_ARGS="-Dnewt.debug.Window"
@@ -82,7 +82,7 @@ REM set D_ARGS="-Dnativewindow.debug.TraceLock" REM set D_ARGS="-Dnewt.debug.Display" "-Dnewt.debug.EDT" "-Dnewt.debug.Window"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display" "-Dnewt.debug.EDT" "-Djogl.debug.GLContext"
REM set D_ARGS="-Dnewt.debug.Screen" "-Dnewt.debug.EDT" "-Dnativewindow.debug=all"
-REM set D_ARGS="-Dnewt.debug.Screen"
+set D_ARGS="-Dnewt.debug.Screen"
REM set D_ARGS="-Dnewt.debug.Screen" "-Dnewt.debug.Window"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display" "-Dnewt.test.Window.reparent.incompatible=true"
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index f9239345b..b5e8cee6f 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -397,7 +397,7 @@ function testawtswt() { #testnoawt com.jogamp.newt.NewtVersion $* #testnoawt com.jogamp.oculusvr.OVRVersion $* -testnoawt com.jogamp.newt.opengl.GLWindow $* +#testnoawt com.jogamp.newt.opengl.GLWindow $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLVersionParsing00NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLWindowNEWT $* #testawt com.jogamp.opengl.test.junit.jogl.acore.TestMainVersionGLCanvasAWT $* @@ -621,7 +621,7 @@ testnoawt com.jogamp.newt.opengl.GLWindow $* #testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01cNEWT $* #testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01dNEWT $* #testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02aNEWT $* -#testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02bNEWT $* +testnoawt com.jogamp.opengl.test.junit.newt.mm.TestScreenMode02bNEWT $* #testnoawt com.jogamp.opengl.test.junit.newt.mm.ManualScreenMode03aNEWT $* #testnoawt -Djava.awt.headless=true com.jogamp.opengl.test.junit.newt.TestGLWindows01NEWT $* #testnoawt com.jogamp.opengl.test.junit.newt.TestGLWindowWarpPointer01NEWT $* diff --git a/make/stub_includes/opengl/GL/gl-platform.h b/make/stub_includes/opengl/GL/gl-platform.h index d55410b0a..f3680f28c 100644 --- a/make/stub_includes/opengl/GL/gl-platform.h +++ b/make/stub_includes/opengl/GL/gl-platform.h @@ -13,6 +13,20 @@ #define __WIN32__ #endif +/* + * WINDOWS: Include windows.h here to define APIENTRY. + * It is also useful when applications include this file by + * including only glut.h, since glut.h depends on windows.h. + * Applications needing to include windows.h with parms other + * than "WIN32_LEAN_AND_MEAN" may include windows.h before + * glut.h or gl.h. + */ +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#include <windows.h> +#undef WIN32_LEAN_AND_MEAN +#endif + #if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) # if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ # define GLAPI __declspec(dllexport) @@ -31,32 +45,19 @@ # endif # ifndef APIENTRY # define APIENTRY -# endif /* APIENTRY */ +# endif #endif /* WIN32 / CYGWIN bracket */ -#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) -# define PRAGMA_EXPORT_SUPPORTED 1 +#ifndef GLAPI +#define GLAPI extern #endif - -/* - * WINDOWS: Include windows.h here to define APIENTRY. - * It is also useful when applications include this file by - * including only glut.h, since glut.h depends on windows.h. - * Applications needing to include windows.h with parms other - * than "WIN32_LEAN_AND_MEAN" may include windows.h before - * glut.h or gl.h. - */ -#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) -#define WIN32_LEAN_AND_MEAN 1 -#include <windows.h> -#undef WIN32_LEAN_AND_MEAN +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * #endif -/** -#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__) -#include <gl/mesa_wgl.h> +#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) +# define PRAGMA_EXPORT_SUPPORTED 1 #endif -*/ #if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED #pragma import on @@ -70,18 +71,5 @@ #pragma export on #endif -/** - * The defaults for all .. - */ -#ifndef APIENTRY -#define APIENTRY -#endif -#ifndef APIENTRYP -#define APIENTRYP APIENTRY * -#endif -#ifndef GLAPI -#define GLAPI extern -#endif - #endif /* __gl_platform_h_ */ diff --git a/make/stub_includes/opengl/GL/gl.h b/make/stub_includes/opengl/GL/gl.h index 56812a531..430846e29 100644 --- a/make/stub_includes/opengl/GL/gl.h +++ b/make/stub_includes/opengl/GL/gl.h @@ -1314,7 +1314,9 @@ GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffs #endif /* GL_VERSION_1_1 */ /* Include Post-GL 1.1 changes and extensions */ -#include <GL/glext.h> +// Due to 'glext-supplement.h', we prefer to include it manually afterwards. +// This gives us the same behavior as the vanilla GLES, GLES2, GLES3 and glcorearb header. +// #include <GL/glext.h> /********************************************************************** diff --git a/make/stub_includes/opengl/GL/glext-supplement.h b/make/stub_includes/opengl/GL/glext-supplement.h index cbcf7e0a7..0ea284f28 100644 --- a/make/stub_includes/opengl/GL/glext-supplement.h +++ b/make/stub_includes/opengl/GL/glext-supplement.h @@ -35,7 +35,6 @@ extern "C" { /* Function declaration macros - to move into gl-platform.h */ #include "gl-platform.h" -#include "gl-types.h" /** * GL_EXT_texture_storage == GL_ARB_texture_storage @@ -74,9 +73,11 @@ extern "C" { typedef void (APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#ifdef __GLUEGEN__ typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#endif #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); GLAPI void APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); @@ -92,8 +93,14 @@ GLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsize * which collides from GL/glext.h. The latter is obsolete and has different semantics! * This variant will override the 'odd' GL/glext.h one. * See gl-common.cfg! + * This extension is only included while running GlueGen, + * due to redefined in glext.h under a different extension. + * However, native compilation will validate GlueGen's + * 'ProcAddrTypedef' w/ the glext.h variant! */ +#ifdef __GLUEGEN__ #ifndef GL_EXT_separate_shader_objects +typedef char GLchar; #define GL_EXT_separate_shader_objects 1 #define GL_ACTIVE_PROGRAM_EXT 0x8259 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001 @@ -190,8 +197,21 @@ GLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint locati GLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -#endif +#endif /* GL_GLEXT_PROTOTYPES */ #endif /* GL_EXT_separate_shader_objects */ +#else /* __GLUEGEN_ */ +// GL/glext.h only has the non EXT (subsumed) variants of the following symbols +typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); +typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); +typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); +typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); +typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +#endif /* __GLUEGEN_ */ #ifdef __cplusplus } diff --git a/make/stub_includes/opengl/GL/glx.h b/make/stub_includes/opengl/GL/glx.h index a74cd23e8..dc4b85dac 100644 --- a/make/stub_includes/opengl/GL/glx.h +++ b/make/stub_includes/opengl/GL/glx.h @@ -44,8 +44,10 @@ #pragma message enable nosimpint #endif #endif -#include <GL/gl.h> +// Due to 'glext-supplement.h', we prefer to include it manually afterwards. +// This gives us the same behavior as the vanilla GLES, GLES2, GLES3 and glcorearb header. +// #include <GL/gl.h> #if defined(USE_MGL_NAMESPACE) #include <GL/glx_mangle.h> @@ -176,7 +178,7 @@ typedef void ( *__GLXextFuncPtr)(void); #define GLX_SAMPLE_BUFFERS 100000 #define GLX_SAMPLES 100001 typedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName); -#ifdef GL_GLEXT_PROTOTYPES +#ifdef GLX_GLXEXT_PROTOTYPES __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName); #endif #endif /* GLX_VERSION_1_4 */ @@ -184,13 +186,14 @@ __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName); #ifndef GLX_ARB_get_proc_address #define GLX_ARB_get_proc_address 1 typedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName); -#ifdef GL_GLEXT_PROTOTYPES +#ifdef GLX_GLXEXT_PROTOTYPES __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName); #endif #endif /* GLX_ARB_get_proc_address */ - -#include <GL/glxext.h> +// Due to 'glext-supplement.h', we prefer to include it manually afterwards. +// This gives us the same behavior as the vanilla GLES, GLES2, GLES3 and glcorearb header. +// #include <GL/glxext.h> #ifdef __cplusplus } diff --git a/make/stub_includes/opengl/GLES/glext-supplement.h b/make/stub_includes/opengl/GLES/glext-supplement.h index 034c23827..da3e97df6 100644 --- a/make/stub_includes/opengl/GLES/glext-supplement.h +++ b/make/stub_includes/opengl/GLES/glext-supplement.h @@ -29,7 +29,6 @@ extern "C" { */ #include <GLES/glplatform.h> -#include "gl-types.h" #ifndef GL_APIENTRYP #define GL_APIENTRYP GL_APIENTRY* diff --git a/make/stub_includes/opengl/GLES2/gl2ext-supplement.h b/make/stub_includes/opengl/GLES2/gl2ext-supplement.h index 7cf5395b3..812f6abcd 100644 --- a/make/stub_includes/opengl/GLES2/gl2ext-supplement.h +++ b/make/stub_includes/opengl/GLES2/gl2ext-supplement.h @@ -34,7 +34,6 @@ extern "C" { */ #include <GLES2/gl2platform.h> -#include "gl-types.h" #ifndef GL_APIENTRYP #define GL_APIENTRYP GL_APIENTRY* diff --git a/make/stub_includes/opengl/gl2.c b/make/stub_includes/opengl/gl2.c index 037d67d0b..343b6bafd 100644 --- a/make/stub_includes/opengl/gl2.c +++ b/make/stub_includes/opengl/gl2.c @@ -4,6 +4,6 @@ // "glext.h" are parsed. #define GL_GLEXT_PROTOTYPES -#include <GL/glext-supplement.h> #include <GL/gl.h> +#include <GL/glext-supplement.h> #include <GL/glext.h> diff --git a/make/stub_includes/opengl/gl3bc.c b/make/stub_includes/opengl/gl3bc.c index 81f7a50d6..78006575d 100644 --- a/make/stub_includes/opengl/gl3bc.c +++ b/make/stub_includes/opengl/gl3bc.c @@ -3,8 +3,8 @@ // Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. #define GL_GLEXT_PROTOTYPES -#include <GL/glext-supplement.h> #include <GL/gl.h> +#include <GL/glext-supplement.h> #include <GL/glext.h> #include <GL/glcorearbext.h> diff --git a/make/stub_includes/opengl/gl4bc.c b/make/stub_includes/opengl/gl4bc.c index 81f7a50d6..78006575d 100644 --- a/make/stub_includes/opengl/gl4bc.c +++ b/make/stub_includes/opengl/gl4bc.c @@ -3,8 +3,8 @@ // Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes are parsed. #define GL_GLEXT_PROTOTYPES -#include <GL/glext-supplement.h> #include <GL/gl.h> +#include <GL/glext-supplement.h> #include <GL/glext.h> #include <GL/glcorearbext.h> diff --git a/make/stub_includes/opengl/gles1.c b/make/stub_includes/opengl/gles1.c index f8ae02f44..2b0ed5946 100644 --- a/make/stub_includes/opengl/gles1.c +++ b/make/stub_includes/opengl/gles1.c @@ -5,6 +5,6 @@ // "glext.h" are parsed. #define GL_GLEXT_PROTOTYPES -#include <GLES/glext-supplement.h> #include <GLES/gl.h> +#include <GLES/glext-supplement.h> #include <GLES/glext.h> diff --git a/make/stub_includes/opengl/gles2.c b/make/stub_includes/opengl/gles2.c index a1e108803..cba5de136 100644 --- a/make/stub_includes/opengl/gles2.c +++ b/make/stub_includes/opengl/gles2.c @@ -5,7 +5,7 @@ // "gl2ext.h" are parsed. #define GL_GLEXT_PROTOTYPES -#include <GLES2/gl2ext-supplement.h> #include <GLES2/gl2.h> +#include <GLES2/gl2ext-supplement.h> #include <GLES2/gl2ext.h> diff --git a/make/stub_includes/win32/wglext.c b/make/stub_includes/win32/wglext.c index 60c1f74ac..5a3e759e5 100644 --- a/make/stub_includes/win32/wglext.c +++ b/make/stub_includes/win32/wglext.c @@ -1,14 +1,18 @@ #define GLAPI -// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in -// "glext.h" are parsed. -#define GL_GLEXT_PROTOTYPES +#include <GL/gl-platform.h> + +// Define GL_GLEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in +// "glx.h" are parsed. +// #define GL_GLEXT_PROTOTYPES +// #include <GL/gl.h> +// #include <GL/glext-supplement.h> +// #include <GL/glext.h> +#include <gl-types.h> -#include <GL/gl.h> // Bring in the wgl extensions #define WGL_WGLEXT_PROTOTYPES -#define SKIP_WGL_HANDLE_DEFINITIONS #include <windows.h> #include <wingdi_types.h> #include <GL/wglext.h> diff --git a/make/stub_includes/x11/glxext.c b/make/stub_includes/x11/glxext.c index e781b6e88..35ed63b5b 100644 --- a/make/stub_includes/x11/glxext.c +++ b/make/stub_includes/x11/glxext.c @@ -4,14 +4,21 @@ #define _Xconst const #endif /* _Xconst */ +#include <GL/gl-platform.h> + +#include <X11/Xlib.h> +#include <X11/Xutil.h> + // Define GL_GLEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in // "glx.h" are parsed. -#define GL_GLEXT_PROTOTYPES +// #define GL_GLEXT_PROTOTYPES +// #include <GL/gl.h> +// #include <GL/glext-supplement.h> +// #include <GL/glext.h> +#include <gl-types.h> // Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in // "glxext.h" are parsed. #define GLX_GLXEXT_PROTOTYPES -#include <X11/Xlib.h> -#include <X11/Xutil.h> #include <GL/glx.h> -// GL/glxext.h included by GL/glx.h +#include <GL/glxext.h> diff --git a/make/stub_includes/x11/window-system1.c b/make/stub_includes/x11/window-system1.c index e781b6e88..35ed63b5b 100644 --- a/make/stub_includes/x11/window-system1.c +++ b/make/stub_includes/x11/window-system1.c @@ -4,14 +4,21 @@ #define _Xconst const #endif /* _Xconst */ +#include <GL/gl-platform.h> + +#include <X11/Xlib.h> +#include <X11/Xutil.h> + // Define GL_GLEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in // "glx.h" are parsed. -#define GL_GLEXT_PROTOTYPES +// #define GL_GLEXT_PROTOTYPES +// #include <GL/gl.h> +// #include <GL/glext-supplement.h> +// #include <GL/glext.h> +#include <gl-types.h> // Define GLX_GLXEXT_PROTOTYPES so that the OpenGL GLX extension prototypes in // "glxext.h" are parsed. #define GLX_GLXEXT_PROTOTYPES -#include <X11/Xlib.h> -#include <X11/Xutil.h> #include <GL/glx.h> -// GL/glxext.h included by GL/glx.h +#include <GL/glxext.h> |