aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2003-07-08 09:20:04 +0000
committerKenneth Russel <[email protected]>2003-07-08 09:20:04 +0000
commit4f936be964c9e8613a5e43e1d88490ff7f550ec9 (patch)
tree74a2c01c6093d89ac123d08642b11a2007cc99e2 /make
parent93d272a0525ec57aa3cd584f15cde6cf2a637e0c (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/Makefile217
-rw-r--r--make/cgl-macosx.cfg2
-rw-r--r--make/gl-glx-common.cfg4
-rw-r--r--make/gl-impl-x11.cfg3
-rw-r--r--make/glx-macosx.cfg10
-rw-r--r--make/stub_includes/macosx/window-system.c2
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);