From a04ae3226dd5432f31f272aba07fd846e4ef9447 Mon Sep 17 00:00:00 2001 From: phil Date: Sun, 9 Jun 2019 19:36:49 +1200 Subject: Pure Immediate Context usage fix The Renderer now wraps a use/release context call pair around any of the Pure Immediate mode operations in the main doWork loop. The renderer also now lazily creates a context on the first Pure Immediate mode call. GarphicsContext3D calls makeCxtCurrent in doClear in the case where a context had to be created (that creation call should in fact now be redundant but it is left in) --- .../java/org/jogamp/java3d/GraphicsContext3D.java | 4 +- src/main/java/org/jogamp/java3d/Renderer.java | 56 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/org/jogamp/java3d/GraphicsContext3D.java b/src/main/java/org/jogamp/java3d/GraphicsContext3D.java index 2595d8c..c2c43f9 100644 --- a/src/main/java/org/jogamp/java3d/GraphicsContext3D.java +++ b/src/main/java/org/jogamp/java3d/GraphicsContext3D.java @@ -1730,7 +1730,9 @@ public int numSounds() { canvas3d.drawingSurfaceObject.unLock(); return; } - + // createNewContext finishes with a release, re-make current so the init calls below work + canvas3d.makeCtxCurrent(); + canvas3d.ctxTimeStamp = VirtualUniverse.mc.getContextTimeStamp(); canvas3d.screen.renderer.listOfCtxs.add(canvas3d.ctx); diff --git a/src/main/java/org/jogamp/java3d/Renderer.java b/src/main/java/org/jogamp/java3d/Renderer.java index 2899318..01958e3 100644 --- a/src/main/java/org/jogamp/java3d/Renderer.java +++ b/src/main/java/org/jogamp/java3d/Renderer.java @@ -620,7 +620,62 @@ ArrayList textureIDResourceTable = new ArrayList textureIDResourceTable = new ArrayList