aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-10-16 15:40:28 +0200
committerSven Gothel <[email protected]>2012-10-16 15:40:28 +0200
commit0e0ab268b810371828f23d9e5f6be46a3c8a081f (patch)
treefdc460e20530271a1d4107ef1c36ebe84fe91c27 /src
parentf453507d789394f3dc60c4fa97d87d91cfc4b1e1 (diff)
Jogl*Driver.shutdown(): Release hold ctx before killing window offthread (required since we don't release ctx after each frame)
Diffstat (limited to 'src')
-rw-r--r--src/jake2/render/opengl/JoglDummyDriver.java14
-rw-r--r--src/jake2/render/opengl/JoglES1Driver.java16
-rw-r--r--src/jake2/render/opengl/JoglES2Driver.java14
-rw-r--r--src/jake2/render/opengl/JoglGL2Driver.java14
4 files changed, 37 insertions, 21 deletions
diff --git a/src/jake2/render/opengl/JoglDummyDriver.java b/src/jake2/render/opengl/JoglDummyDriver.java
index 5b65ecf..fb41bf7 100644
--- a/src/jake2/render/opengl/JoglDummyDriver.java
+++ b/src/jake2/render/opengl/JoglDummyDriver.java
@@ -71,6 +71,7 @@ public abstract class JoglDummyDriver extends DummyGL implements GLDriver {
}
public void shutdown() {
+ deactivate();
if(null != newtWin) {
newtWin.shutdown();
}
@@ -102,11 +103,7 @@ public abstract class JoglDummyDriver extends DummyGL implements GLDriver {
public void endFrame() {
// newtWin.window.swapBuffers();
- /*
- final GLContext ctx = newtWin.window.getContext();
- if ( null != ctx && GLContext.getCurrent() == ctx) {
- ctx.release();
- } */
+ // deactivate();
newtWin.fpsCounter.tickFPS();
}
@@ -136,5 +133,12 @@ public abstract class JoglDummyDriver extends DummyGL implements GLDriver {
}
}
+ protected void deactivate() {
+ final GLContext ctx = newtWin.window.getContext();
+ if ( null != ctx && GLContext.getCurrent() == ctx) {
+ ctx.release();
+ }
+ }
+
// --------------------------------------------------------------------------
}
diff --git a/src/jake2/render/opengl/JoglES1Driver.java b/src/jake2/render/opengl/JoglES1Driver.java
index afb1c12..b1d882d 100644
--- a/src/jake2/render/opengl/JoglES1Driver.java
+++ b/src/jake2/render/opengl/JoglES1Driver.java
@@ -72,6 +72,7 @@ public abstract class JoglES1Driver extends JoglGL2ES1 implements GLDriver {
}
public void shutdown() {
+ deactivate();
if(null != newtWin) {
newtWin.shutdown();
}
@@ -103,11 +104,7 @@ public abstract class JoglES1Driver extends JoglGL2ES1 implements GLDriver {
public void endFrame() {
newtWin.window.swapBuffers();
- /**
- final GLContext ctx = newtWin.window.getContext();
- if ( null != ctx && GLContext.getCurrent() == ctx) {
- ctx.release();
- } */
+ // deactivate();
newtWin.fpsCounter.tickFPS();
}
@@ -136,6 +133,13 @@ public abstract class JoglES1Driver extends JoglGL2ES1 implements GLDriver {
ctx.makeCurrent();
}
}
-
+
+ protected void deactivate() {
+ final GLContext ctx = newtWin.window.getContext();
+ if ( null != ctx && GLContext.getCurrent() == ctx) {
+ ctx.release();
+ }
+ }
+
// --------------------------------------------------------------------------
}
diff --git a/src/jake2/render/opengl/JoglES2Driver.java b/src/jake2/render/opengl/JoglES2Driver.java
index 7d2926d..5fa1f39 100644
--- a/src/jake2/render/opengl/JoglES2Driver.java
+++ b/src/jake2/render/opengl/JoglES2Driver.java
@@ -77,6 +77,7 @@ public abstract class JoglES2Driver extends JoglGL2ES1 implements GLDriver {
}
public void shutdown() {
+ deactivate();
if(null != newtWin) {
newtWin.shutdown();
}
@@ -108,11 +109,7 @@ public abstract class JoglES2Driver extends JoglGL2ES1 implements GLDriver {
public void endFrame() {
newtWin.window.swapBuffers();
- /*
- final GLContext ctx = newtWin.window.getContext();
- if ( null != ctx && GLContext.getCurrent() == ctx) {
- ctx.release();
- } */
+ // deactivate();
newtWin.fpsCounter.tickFPS();
}
@@ -141,6 +138,13 @@ public abstract class JoglES2Driver extends JoglGL2ES1 implements GLDriver {
ctx.makeCurrent();
}
}
+
+ protected void deactivate() {
+ final GLContext ctx = newtWin.window.getContext();
+ if ( null != ctx && GLContext.getCurrent() == ctx) {
+ ctx.release();
+ }
+ }
// --------------------------------------------------------------------------
}
diff --git a/src/jake2/render/opengl/JoglGL2Driver.java b/src/jake2/render/opengl/JoglGL2Driver.java
index ccabf7f..0f91542 100644
--- a/src/jake2/render/opengl/JoglGL2Driver.java
+++ b/src/jake2/render/opengl/JoglGL2Driver.java
@@ -71,6 +71,7 @@ public abstract class JoglGL2Driver extends JoglGL2ES1 implements GLDriver {
}
public void shutdown() {
+ deactivate();
if(null != newtWin) {
newtWin.shutdown();
}
@@ -102,11 +103,7 @@ public abstract class JoglGL2Driver extends JoglGL2ES1 implements GLDriver {
public void endFrame() {
newtWin.window.swapBuffers();
- /**
- final GLContext ctx = newtWin.window.getContext();
- if ( null != ctx && GLContext.getCurrent() == ctx) {
- ctx.release();
- } */
+ // deactivate();
newtWin.fpsCounter.tickFPS();
}
@@ -136,5 +133,12 @@ public abstract class JoglGL2Driver extends JoglGL2ES1 implements GLDriver {
}
}
+ protected void deactivate() {
+ final GLContext ctx = newtWin.window.getContext();
+ if ( null != ctx && GLContext.getCurrent() == ctx) {
+ ctx.release();
+ }
+ }
+
// --------------------------------------------------------------------------
}