aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/egl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-03-04 05:23:45 +0100
committerSven Gothel <[email protected]>2023-03-04 05:23:45 +0100
commit0b796fe6963705a231bc1f24a5b4e6651b7e928f (patch)
tree6158d102da2a5c3137f1e6329a1e448ee1dd3a14 /src/jogl/classes/jogamp/opengl/egl
parent09f0018363778a6cbf594bc2bf71d899d36e3c46 (diff)
GLDrawableFactoryImpl:createMutableSurfaceImpl(..): Pass orig AbstractGraphicsDevice to allow EGLDrawableFactory to use the original device's native-dislay-ID for sharing resources.
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/egl')
-rw-r--r--src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java
index c69013c92..4c6da358a 100644
--- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java
+++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java
@@ -1121,11 +1121,12 @@ public class EGLDrawableFactory extends GLDrawableFactoryImpl {
}
@Override
- protected final EGLSurface createMutableSurfaceImpl(final AbstractGraphicsDevice deviceReq, final boolean createNewDevice,
- final GLCapabilitiesImmutable capsChosen, final GLCapabilitiesImmutable capsRequested,
- final GLCapabilitiesChooser chooser,
- final UpstreamSurfaceHook upstreamHook) {
- return createMutableSurfaceImpl2(deviceReq, createNewDevice, capsChosen, capsRequested, chooser, VisualIDHolder.VID_UNDEFINED, upstreamHook);
+ protected final EGLSurface createMutableSurfaceImpl(final AbstractGraphicsDevice deviceOrig, final AbstractGraphicsDevice deviceReq,
+ final boolean createNewDevice, final GLCapabilitiesImmutable capsChosen,
+ final GLCapabilitiesImmutable capsRequested,
+ final GLCapabilitiesChooser chooser, final UpstreamSurfaceHook upstreamHook) {
+ final AbstractGraphicsDevice device0 = null != deviceOrig ? deviceOrig : deviceReq; // prefer orig for native display ID
+ return createMutableSurfaceImpl2(device0, createNewDevice, capsChosen, capsRequested, chooser, VisualIDHolder.VID_UNDEFINED, upstreamHook);
}
private final EGLSurface createMutableSurfaceImpl2(final AbstractGraphicsDevice deviceReq, final boolean createNewDevice,
final GLCapabilitiesImmutable capsChosen, final GLCapabilitiesImmutable capsRequested,