diff options
author | Kenneth Russel <[email protected]> | 2003-07-08 09:20:04 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2003-07-08 09:20:04 +0000 |
commit | 4f936be964c9e8613a5e43e1d88490ff7f550ec9 (patch) | |
tree | 74a2c01c6093d89ac123d08642b11a2007cc99e2 /make | |
parent | 93d272a0525ec57aa3cd584f15cde6cf2a637e0c (diff) |
Added sharing of display lists and textures among OpenGL contexts
through new methods in GLDrawableFactory; GLContext has not been
exposed in the public API. Tested with new simple TestContextSharing
demonstration on Windows, Linux and Mac OS X.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@18 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make')
-rw-r--r-- | make/Makefile2 | 17 | ||||
-rw-r--r-- | make/cgl-macosx.cfg | 2 | ||||
-rw-r--r-- | make/gl-glx-common.cfg | 4 | ||||
-rw-r--r-- | make/gl-impl-x11.cfg | 3 | ||||
-rw-r--r-- | make/glx-macosx.cfg | 10 | ||||
-rw-r--r-- | make/stub_includes/macosx/window-system.c | 2 |
6 files changed, 16 insertions, 22 deletions
diff --git a/make/Makefile2 b/make/Makefile2 index 91b9d6641..0c8f540ec 100644 --- a/make/Makefile2 +++ b/make/Makefile2 @@ -62,6 +62,9 @@ JAVADOC_DIR_DEVDOC=$(ROOT)/javadoc_jogl_dev JAVADOC_LINK=http://java.sun.com/j2se/1.4.1/docs/api/ JAVA=java JAVAC=javac +ifdef DEBUG +JAVAC_FLAGS=-g +endif # DEBUG OS:=$(patsubst CYGWIN%,Windows%,$(shell uname -s)) ifneq (,$(findstring Windows,$(OS))) @@ -578,6 +581,7 @@ JOGL_JAVAFILES_FIRST_PASS = \ $(JOGL_DIR)/GLCanvas.java \ $(JOGL_DIR)/GLCapabilities.java \ $(JOGL_DIR)/GLCapabilitiesChooser.java \ + $(JOGL_DIR)/GLContextHelper.java \ $(JOGL_DIR)/GLDrawable.java \ $(JOGL_DIR)/GLDrawableFactory.java \ $(JOGL_DIR)/GLEventListener.java \ @@ -587,6 +591,7 @@ JOGL_JAVAFILES_FIRST_PASS = \ $(JOGL_IMPL_DIR)/FunctionAvailabilityCache.java \ $(JOGL_IMPL_DIR)/GLContext.java \ $(JOGL_IMPL_DIR)/GLContextFactory.java \ + $(JOGL_IMPL_DIR)/GLContextShareSet.java \ $(JOGL_IMPL_DIR)/GLDrawableHelper.java \ $(JOGL_IMPL_DIR)/GLPbufferImpl.java \ $(JOGL_IMPL_DIR)/JAWT_PlatformInfo.java \ @@ -854,7 +859,7 @@ $(GENSRC_CGRAM_DIR)/HeaderParser.java $(GENSRC_CGRAM_DIR)/HeaderParserTokenTypes $(GG_CLASSFILES) : $(GG_JAVAFILES) mkdir -p $(CLASSES_DIR) - $(JAVAC) -source 1.4 -d $(CLASSES_DIR) $(GG_JAVAFILES) + $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -d $(CLASSES_DIR) $(GG_JAVAFILES) # # Jogl package build rules (once GlueGen is built) @@ -862,7 +867,7 @@ $(GG_CLASSFILES) : $(GG_JAVAFILES) $(BUILD_STATIC_GL_INFO_CLASS) : $(BUILD_STATIC_GL_INFO_SRC) - $(JAVAC) -source 1.4 -d $(CLASSES_DIR) $(BUILD_STATIC_GL_INFO_SRC) + $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -d $(CLASSES_DIR) $(BUILD_STATIC_GL_INFO_SRC) $(JOGL_GENERATED_JAVAFILES) $(JOGL_GENERATED_CFILES) : $(JOGL_STUB_INCLUDES_PD) $(JOGL_CFG_FILES) $(GG_CLASSFILES) $(BUILD_STATIC_GL_INFO_CLASS) $(JOGL_HEADERS) $(JOGL_STUB_INCLUDES_DIR_PD)/gl.c $(JOGL_STUB_INCLUDES_DIR_PD)/gl-impl.c $(JOGL_STUB_INCLUDES_DIR_PD)/window-system.c @@ -898,16 +903,16 @@ $(JOGL_GENERATED_JAVAFILES) $(JOGL_GENERATED_CFILES) : $(JOGL_STUB_INCLUDES_PD) $(JOGL_CLASSFILES_FIRST_PASS) : $(JOGL_JAVAFILES_FIRST_PASS) mkdir -p $(CLASSES_DIR) - $(JAVAC) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_FIRST_PASS) + $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_FIRST_PASS) $(BUILD_GL_COMPOSABLE_PIPELINE_CLASS) : $(BUILD_GL_COMPOSABLE_PIPELINE_SRC) - $(JAVAC) -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -source 1.4 -d $(CLASSES_DIR) $(BUILD_GL_COMPOSABLE_PIPELINE_SRC) + $(JAVAC) $(JAVAC_FLAGS) -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -source 1.4 -d $(CLASSES_DIR) $(BUILD_GL_COMPOSABLE_PIPELINE_SRC) $(GL_COMPOSABLE_PIPELINE_GENERATED_JAVAFILES) : $(JOGL_CLASSFILES_FIRST_PASS) $(BUILD_GL_COMPOSABLE_PIPELINE_CLASS) $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.opengl.BuildComposablePipeline net.java.games.jogl.GL $(GENSRC_JOGL_DIR) $(JOGL_CLASSFILES_SECOND_PASS) : $(JOGL_JAVAFILES_SECOND_PASS) - $(JAVAC) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_SECOND_PASS) + $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_SECOND_PASS) # # jogl.cg package rules (once jogl is built) @@ -920,7 +925,7 @@ $(JOGL_NVCG_GENERATED_JAVAFILES) $(JOGL_NVCG_GENERATED_CFILES) : $(JOGL_NVCG_CFG $(JOGL_NVCG_CLASSFILES) : $(JOGL_NVCG_JAVAFILES) # compile Cg java classes mkdir -p $(CLASSES_DIR) - $(JAVAC) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_NVCG_JAVAFILES) + $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_NVCG_JAVAFILES) # # .so / .dll build rules diff --git a/make/cgl-macosx.cfg b/make/cgl-macosx.cfg index 32059db8b..f3824f703 100644 --- a/make/cgl-macosx.cfg +++ b/make/cgl-macosx.cfg @@ -12,7 +12,7 @@ Opaque long void * # FIXME: rather than put in a header file somewhere in the source tree, # this was the easiest way of sharing the prototypes between these files CustomCCode typedef int Bool; -CustomCCode extern void* createContext(void* nsView); +CustomCCode extern void* createContext(void* nsView, void* shareContext); CustomCCode extern Bool makeCurrentContext(void* nsView , void* nsContext); CustomCCode extern Bool clearCurrentContext (void* nsView , void* nsContext); CustomCCode extern Bool deleteContext (void* nsView , void* nsContext); diff --git a/make/gl-glx-common.cfg b/make/gl-glx-common.cfg index 2c3a4b4dd..f4dd69fd0 100644 --- a/make/gl-glx-common.cfg +++ b/make/gl-glx-common.cfg @@ -60,5 +60,7 @@ Ignore glXSelectEventSGIX Ignore glXGetSelectedEventSGIX Ignore glXCreateGLXPixmapMESA -# Now we can ignore the GLXFBConfig data type in the public API +# Now we can ignore the GLXFBConfig and XVisualInfo data types in the +# public API on all platforms Ignore GLXFBConfig +Ignore XVisualInfo diff --git a/make/gl-impl-x11.cfg b/make/gl-impl-x11.cfg index 2ec48039e..1468fab2a 100644 --- a/make/gl-impl-x11.cfg +++ b/make/gl-impl-x11.cfg @@ -11,9 +11,6 @@ Include gl-glx-common.cfg EmitProcAddressTable true ProcAddressTableClassName GLProcAddressTable -# Pick up XVisualInfo from jogl -Ignore XVisualInfo - CustomCCode #include <inttypes.h> CustomCCode #include <X11/Xlib.h> diff --git a/make/glx-macosx.cfg b/make/glx-macosx.cfg deleted file mode 100644 index 514aeae6e..000000000 --- a/make/glx-macosx.cfg +++ /dev/null @@ -1,10 +0,0 @@ -# This .cfg file is used to generate the interface to the GLX routines -# used internally by the X11GLContext implementation. -Package net.java.games.jogl.impl.macosx -JavaClass MacOSXGL -Style allstatic -Include gl-common-macosx.cfg - - - - diff --git a/make/stub_includes/macosx/window-system.c b/make/stub_includes/macosx/window-system.c index d1287f53f..f49fd3d11 100644 --- a/make/stub_includes/macosx/window-system.c +++ b/make/stub_includes/macosx/window-system.c @@ -3,7 +3,7 @@ typedef int Bool; -void* createContext(void* nsView); +void* createContext(void* nsView, void* shareContext); Bool makeCurrentContext(void* nsView, void* nsContext); Bool clearCurrentContext(void* nsView, void* nsContext); void updateContext(void* nsView, void* nsContext); |