summaryrefslogtreecommitdiff
path: root/vcl/opengl/framebuffer.cxx
AgeCommit message (Collapse)Author
2018-01-12More loplugin:cstylecast: vclStephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I363c01a1ae9e863fca4fb4589829492d7280d711
2016-10-19opengl: blit offscreen framebuffer instead of drawingTomaž Vajngerl
Change-Id: I3ab0da9cf83e0e85b8442b34ecd6eb91dd3d1bd3 Reviewed-on: https://gerrit.libreoffice.org/27875 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-01-13We only use the prev pointerTor Lillqvist
(Why not use a std::list? Maybe there is some reason.) Change-Id: I09010726e9fe45cfa0f530a085c48ec8d3d02cfb
2016-01-01vcl: improve OpenGL debugging variously.Michael Meeks
Change-Id: I097f1c1fb7fb505b6859289997bff3562fc06ba6 Reviewed-on: https://gerrit.libreoffice.org/21027 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-12-11tdf#93529 - move to a Mac-like double-buffered OpenGL model.Michael Meeks
This moves us to always rendering to an off-screen texture, and then (at idle) blitting this to the screen & swapping buffers. Ideally we should never see any rendering, or flicker again with this approach. Several fixes are included: + avoid multiple OpenGL contexts being created for the same window, created excessive flicker problems. + de-virtualize UseContext - which context we use is less critical. + kill 'mbOffscreen' distinction - all VCL rendering is offscreen. + implement 'doFlush' and high priority idle flushing. + bind stencil buffer for clipping vs. textures - fixing complex clopping when rendering to virtual-devices, and off-screen. + document environment. variables. + use white as default background glClear color, but red or random color for DBGUTIL. Change-Id: I6be08595b6c8deb7e6db0dbd81308b2c97d2b4ff
2015-11-20loplugin:sallogareasStephan Bergmann
Change-Id: Ib1f06cb5f925535858bc14aab6f59ad7fd2a3a8d
2015-11-17Check for OpenGL errors right where an error might be generatedTor Lillqvist
CHECK_GL_ERROR() is now zero-cost in a production build, so no reason to avoid it. Don't check for OpenGL errors after glX or wgl calls. They don't generate OpenGL errors but use the X and Win32 error mechanisms, as far as I see. Change-Id: I8f97ef434cbdc89d6e345a247456cfc4a1a82bb6
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I05e89f9896170d4df3d1377549ea074f06b884a0
2015-09-16opengl: check framebuffer completenessTomaž Vajngerl
Change-Id: Idd80b7390694038ab0913edab0e496593beb0e15
2015-08-31tdf#93772 - handle framebuffer unbinding on GL context switch.Michael Meeks
Also start gl tests in vcldemo: $ SAL_FORCEGL=1 vcldemo --gltests Change-Id: I8f0022770d57cd60c830659e3f7fcc0721320a10 Reviewed-on: https://gerrit.libreoffice.org/18132 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-08-31tdf#93751 - ensure textures are unbound from framebuffers post destroy.Michael Meeks
Change-Id: I81aec0e6f8db57905826c54c3442528be6068700
2015-08-28tdf#93529 - use debug messages while rendering to break up the trace.Michael Meeks
Change-Id: I56629a721202d7a04bd493d4604278dea85b4212
2014-12-11vcl: Don't keep a reference to the texture in the FBO objectLouis-Francis Ratté-Boulianne
Change-Id: I240d2b44e77d28af3cd5952b6d666a1709c4c54a
2014-12-11vcl: Re-use a framebuffer of the same size when possibleLouis-Francis Ratté-Boulianne
Conflicts: include/vcl/opengl/OpenGLContext.hxx Change-Id: Id9c7932976ce9d9282776c20d93d9cca4d290056
2014-12-02vcl: Use the current OpenGL context for VirtualDevice and Bitmap if possibleLouis-Francis Ratté-Boulianne
Conflicts: include/vcl/opengl/OpenGLContext.hxx vcl/inc/openglgdiimpl.hxx vcl/opengl/gdiimpl.cxx vcl/opengl/x11/gdiimpl.cxx vcl/source/opengl/OpenGLContext.cxx Change-Id: I17f6ce66fb8b5bc027d35b4016ae56c24ee0a738