Bug 830 - GLDrawableUtil.swapGLContextAndAllGLEventListener: Doesn't work w/ MSAA or AccumBuffer and on- offscreen swap
Summary: GLDrawableUtil.swapGLContextAndAllGLEventListener: Doesn't work w/ MSAA or Ac...
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 2
Hardware: All all
: --- normal
Assignee: Sven Gothel
Depends on:
Reported: 2013-09-08 20:46 CEST by Sven Gothel
Modified: 2014-07-31 03:02 CEST (History)
2 users (show)

See Also:
Type: ---
SCM Refs:
ff5dba28610b4f680c9320e9e52669ed54d4de43 289ba90b9ce118ba987b47ee70870cca77287cc0 2e1484f4c25605c6dc0307f12f3e4e434c429a37
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2013-09-08 20:46:15 CEST
GLDrawableUtil.swapGLContextAndAllGLEventListener(gladPre, gladNew):

  If 'gladPre' is onscreen and using MSAA (on NV/GLX),
  the ctx cannot be made current in it's new 'gladNew' location.

This bug has been testes w/ printing test cases AWT and NewtCanvasAWT,
where the pre-exisiting GLAD is onscreen w/ MSAA.
Comment 1 Sven Gothel 2014-07-30 20:34:48 CEST

Bug 830 - Add Heuristics for to query whether GLDrawableUtil.swapGLContextAndAllGLEventListener is safe (Doesn't work w/ pre MSAA onscreen drawable)

GLDrawableUtil.isSwapGLContextSafe(..) allows user to query whether 'we think' it's safe
to utilize swapping of GLContext between GLAutoDrawable instances.

Currently known unsafe cases are:
    - between on- and offscreen and one of the following:
    - MSAA involved, or
    - STEREO involved

Enhanced unit tests in this regard:
    - TestGLContextDrawableSwitch02AWT
    - using GLContextDrawableSwitchBase0
    - TestGLContextDrawableSwitch02NEWT
    - using GLContextDrawableSwitchBase0

Utilized safe query for setupPrint(..) action in:
    - AWT GLCanvas
    - AWT GLJPanel
    - NewtCanvasAWT
Comment 2 Sven Gothel 2014-07-31 00:55:52 CEST
  Perform context switch on GL capable thread if required. 
  Add API doc note about this requirement.

  Refine Heuristics to query whether 
  GLDrawableUtil.swapGLContextAndAllGLEventListener is safe: 
    Add Accumulator Buffer bits