# OpenGL State errors with QVTKOpenGLStereoWidget using VTK master

**URL:** https://discourse.vtk.org/t/opengl-state-errors-with-qvtkopenglstereowidget-using-vtk-master/3112
**Category:** Support
**Created:** [April 20, 2020, 6:28pm UTC](https://discourse.vtk.org/t/opengl-state-errors-with-qvtkopenglstereowidget-using-vtk-master/3112 "2020-04-20T18:28:37Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![tchen87](https://discourse.vtk.org/user_avatar/discourse.vtk.org/tchen87/32/1548_2.png) [@tchen87](https://discourse.vtk.org/u/tchen87)
#### Post date: [April 20, 2020, 6:28pm UTC](https://discourse.vtk.org/t/opengl-state-errors-with-qvtkopenglstereowidget-using-vtk-master/3112/1 "2020-04-20T18:28:37Z")

</div>

I have an stereo application utilizing QT and running well on VTK8.1 using QVTKWidget. When switching to VTK8.2, I see a number of VTK errors every time a call is made to vtkRenderer::Render() (see discussion [here](https://discourse.vtk.org/t/opengl-state-errors-with-qvtkopenglwidget-and-vtk8-2-on-render-call/2921))

However, in the case of using VTK8.2, when I turn reporting of OpenGL errors off via VTK\_REPORT\_OPENGL\_ERRORS, the application still works as intended.

I’m now attempting to work with the VTK Master branch in order to see what sort of hurdles we may encounter in the eventual update to VTK 9. I was able to run the test code in TestQtWidget.cxx using the QVTKOpenGLStereoWidget without any issues.

When I now try to drop in QVTKOpenGLStereoWidget into my stereo application, I end up with similar but slightly different OpenGL errors - the relevant and unique parts are posted here:

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 132  
> Error in cache state for GL\_VIEWPORT
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 140  
> Error in cache state for GL\_SCISSOR\_BOX
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 222  
> Error in cache state for GL\_DRAW\_BUFFER got 36065 expected36064
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::SetEnumState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 894  
> at vtkOpenGLState::vtkglDisable in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 1165  
> at vtkOpenGLProperty::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglproperty.cxx line 43  
> at vtkActor::RenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkactor.cxx line 207  
> at vtkRenderer::UpdateOpaquePolygonalGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 736  
> at vtkRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 437  
> at vtkOpenGLRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 461  
> at vtkOpenGLRenderer::UpdateGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 356  
> at vtkOpenGLRenderer::DeviceRender in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 262  
> at vtkRenderer::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 378  
> at vtkRendererCollection::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderercollection.cxx line 53  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 340  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 222  
> Error in cache state for GL\_DRAW\_BUFFER got 36065 expected36064
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::vtkglDepthMask in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 760  
> at vtkOpenGLActor::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglactor.cxx line 68  
> at vtkActor::RenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkactor.cxx line 230  
> at vtkRenderer::UpdateOpaquePolygonalGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 736  
> at vtkRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 437  
> at vtkOpenGLRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 461  
> at vtkOpenGLRenderer::UpdateGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 356  
> at vtkOpenGLRenderer::DeviceRender in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 262  
> at vtkRenderer::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 378  
> at vtkRendererCollection::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderercollection.cxx line 53  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 340  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 222  
> Error in cache state for GL\_DRAW\_BUFFER got 36065 expected36064
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::vtkBindFramebuffer in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 481  
> at vtkOpenGLFramebufferObject::Bind in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglframebufferobject.cxx line 748  
> at vtkOpenGLRenderWindow::StereoMidpoint in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 987  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 343  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::vtkglDrawBuffer in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 548  
> at vtkOpenGLRenderWindow::StereoMidpoint in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 990  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 343  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::vtkglViewport in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 853  
> at vtkOpenGLRenderWindow::StereoMidpoint in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 995  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 343  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::vtkglScissor in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 877  
> at vtkOpenGLRenderWindow::StereoMidpoint in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 996  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 343  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 222  
> Error in cache state for GL\_DRAW\_BUFFER got 36067 expected36064
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 240  
> Error in cache state for GL\_READ\_BUFFER
> 
> Generic Warning: In D:\engine\VTK\VTK-git\Rendering\OpenGL2\vtkOpenGLState.cxx, line 265  
> at stack loc  
> at vtksys::SystemInformationImplementation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 3948  
> at vtksys::SystemInformation::GetProgramStack in d:\engine\vtk\vtk-git\utilities\kwsys\vtksys\systeminformation.cxx line 871  
> at vtkOpenGLState::CheckState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 264  
> at vtkOpenGLState::SetEnumState in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 894  
> at vtkOpenGLState::vtkglDisable in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglstate.cxx line 1165  
> at vtkOpenGLProperty::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglproperty.cxx line 43  
> at vtkActor::RenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkactor.cxx line 207  
> at vtkRenderer::UpdateOpaquePolygonalGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 736  
> at vtkRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 437  
> at vtkOpenGLRenderer::DeviceRenderOpaqueGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 461  
> at vtkOpenGLRenderer::UpdateGeometry in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 356  
> at vtkOpenGLRenderer::DeviceRender in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderer.cxx line 262  
> at vtkRenderer::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderer.cxx line 378  
> at vtkRendererCollection::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderercollection.cxx line 53  
> at vtkRenderWindow::DoStereoRender in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 364  
> at vtkRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindow.cxx line 299  
> at vtkOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkopenglrenderwindow.cxx line 2002  
> at vtkGenericOpenGLRenderWindow::Render in d:\engine\vtk\vtk-git\rendering\opengl2\vtkgenericopenglrenderwindow.cxx line 224  
> at vtkRenderWindowInteractor::Render in d:\engine\vtk\vtk-git\rendering\core\vtkrenderwindowinteractor.cxx line 186  
> at QVTKRenderWindowAdapter::QVTKInternals::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 284  
> at QVTKRenderWindowAdapter::paint in d:\engine\vtk\vtk-git\guisupport\qt\qvtkrenderwindowadapter.cxx line 681  
> at QVTKOpenGLWindow::paintGL in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 231  
> at QOpenGLWindow::paintEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qopenglwindow.cpp line 649  
> at QPaintDeviceWindowPrivate::paint in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 96  
> at QPaintDeviceWindowPrivate::doFlush in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow\_p.h line 104  
> at QPaintDeviceWindow::exposeEvent in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 189  
> at QWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qwindow.cpp line 2303  
> at QPaintDeviceWindow::event in d:\engine\qt-5.10.0\qtbase\src\gui\kernel\qpaintdevicewindow.cpp line 207  
> at QVTKOpenGLWindow::event in d:\engine\vtk\vtk-git\guisupport\qt\qvtkopenglwindow.cxx line 287

When I turn the error reporting off, my application does not run smoothly anymore - the viewport appears to be flashing on/off, and only one of the stereo buffers is rendered.

Any tips or gotchas that I may be missing? For example, I noticed that in the testing code, for QVTKOpenGLStereoWidget there is no longer a need to call `QSurfaceFormat::setDefaultFormat` .

Another note: when I make a direct call in my application to  
`glDrawBuffer(vtkOpenGLRenderWindow->GetBackRightBuffer())`  
to test if things are working, I receive a GL error with type `GL_INVALID_OPERATION`

---

<div class="post-metadata">

### Author: ![tchen87](https://discourse.vtk.org/user_avatar/discourse.vtk.org/tchen87/32/1548_2.png) [@tchen87](https://discourse.vtk.org/u/tchen87)
#### Post date: [April 23, 2020, 4:55pm UTC](https://discourse.vtk.org/t/opengl-state-errors-with-qvtkopenglstereowidget-using-vtk-master/3112/2 "2020-04-23T16:55:28Z")

</div>

I just noticed that when running the test code in TestQtWidget.cxx with QVTKOpenGLStereoWidget, there output doesn’t actually appear in stereo, even after adding the following options to the stereo window:

```
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->SetStereoCapableWindow(1);
window->SetStereoRender(1);
window->SetStereoTypeToCrystalEyes();

```

When I run the QVTKWidget test code from VTK 8.1, the output window is displayed in stereo. Is there any help or information you can provide to help me get the test code running in stereo for the VTK master branch?
