include/vcl/opengl/OpenGLContext.hxx | 28 +++------------------------- vcl/opengl/gdiimpl.cxx | 8 ++++---- vcl/source/opengl/OpenGLContext.cxx | 13 +++---------- 3 files changed, 10 insertions(+), 39 deletions(-)
New commits: commit 5c60dab390d66a4d5abeaf548efecf3913b90839 Author: Markus Mohrhard <[email protected]> Date: Wed Dec 31 01:02:53 2014 +0100 add some warnings to non-implemented features Change-Id: Icbd1a46dc426a0527422d55f77e67eac755bbc8b diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx index f75966f..69b4138 100644 --- a/vcl/opengl/gdiimpl.cxx +++ b/vcl/opengl/gdiimpl.cxx @@ -1396,11 +1396,11 @@ void OpenGLSalGraphicsImpl::invert( if( nFlags & SAL_INVERT_TRACKFRAME ) { - + SAL_WARN("vcl.opengl", "check where this call is coming from! NOT IMPLEMENTED YET!"); } else if( nFlags & SAL_INVERT_50 ) { - + SAL_WARN("vcl.opengl", "check where this call is coming from! NOT IMPLEMENTED YET!"); } else // just invert { @@ -1417,11 +1417,11 @@ void OpenGLSalGraphicsImpl::invert( sal_uInt32 nPoints, const SalPoint* pPtAry, if( nFlags & SAL_INVERT_TRACKFRAME ) { - + SAL_WARN("vcl.opengl", "check where this call is coming from! NOT IMPLEMENTED YET!"); } else if( nFlags & SAL_INVERT_50 ) { - + SAL_WARN("vcl.opengl", "check where this call is coming from! NOT IMPLEMENTED YET!"); } else // just invert { commit e61fe35e7997082a4478dabde5123ecc63536538 Author: Markus Mohrhard <[email protected]> Date: Tue Dec 30 19:16:35 2014 +0100 prefer ptr_container to manual memory management Change-Id: I11326c2873aad5116fd70bfa31eb94e93fef3f40 diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx index 60fc7fd..bab85c2 100644 --- a/include/vcl/opengl/OpenGLContext.hxx +++ b/include/vcl/opengl/OpenGLContext.hxx @@ -52,6 +52,7 @@ class NSOpenGLView; #include <vcl/vclopengl_dllapi.hxx> #include <boost/scoped_ptr.hpp> #include <boost/unordered_map.hpp> +#include <boost/ptr_container/ptr_map.hpp> #include <vcl/window.hxx> #include <tools/gen.hxx> #include <vcl/syschild.hxx> @@ -158,30 +159,7 @@ struct GLWindow ~GLWindow(); }; -struct ProgramKey -{ - OUString maVertexShader; - OUString maFragmentShader; - - ProgramKey( const OUString& rVertexShader, const OUString& rFragmentShader ): - maVertexShader(rVertexShader), - maFragmentShader(rFragmentShader) - { - } -}; - -inline bool operator==( ProgramKey const& k1, ProgramKey const& k2 ) -{ - return k1.maVertexShader == k2.maVertexShader && k1.maFragmentShader == k2.maFragmentShader; -} - -inline std::size_t hash_value( ProgramKey const& rKey ) -{ - std::size_t nSeed = 0x9e3779b9; - nSeed = rKey.maVertexShader.hashCode(); - nSeed = rKey.maFragmentShader.hashCode() + 0x9e3779b9 + (nSeed << 6) + (nSeed >> 2); - return nSeed; -} +typedef std::pair<OUString, OUString> ProgramKey; class VCLOPENGL_DLLPUBLIC OpenGLContext { @@ -278,7 +256,7 @@ private: OpenGLFramebuffer* mpFirstFramebuffer; OpenGLFramebuffer* mpLastFramebuffer; - boost::unordered_map<ProgramKey, OpenGLProgram*> maPrograms; + boost::ptr_map<ProgramKey, OpenGLProgram> maPrograms; OpenGLProgram* mpCurrentProgram; public: diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx index 182a2e9..138a79e 100644 --- a/vcl/source/opengl/OpenGLContext.cxx +++ b/vcl/source/opengl/OpenGLContext.cxx @@ -1161,15 +1161,8 @@ void OpenGLContext::reset() // destroy all programs if( !maPrograms.empty() ) { - boost::unordered_map<ProgramKey, OpenGLProgram*>::iterator it; makeCurrent(); - it = maPrograms.begin(); - while( it != maPrograms.end() ) - { - delete it->second; - ++it; - } maPrograms.clear(); } @@ -1527,10 +1520,10 @@ void OpenGLContext::ReleaseFramebuffers() OpenGLProgram* OpenGLContext::GetProgram( const OUString& rVertexShader, const OUString& rFragmentShader ) { - boost::unordered_map<ProgramKey, OpenGLProgram*>::iterator it; ProgramKey aKey( rVertexShader, rFragmentShader ); - it = maPrograms.find( aKey ); + boost::ptr_map<ProgramKey, OpenGLProgram>::iterator + it = maPrograms.find( aKey ); if( it != maPrograms.end() ) return it->second; @@ -1541,7 +1534,7 @@ OpenGLProgram* OpenGLContext::GetProgram( const OUString& rVertexShader, const O return NULL; } - maPrograms[aKey] = pProgram; + maPrograms.insert(aKey, pProgram); return pProgram; } commit c805a996c97097d2a47039355fffba678a84e1b0 Author: Markus Mohrhard <[email protected]> Date: Tue Dec 30 18:49:01 2014 +0100 use constructor initializer list Change-Id: Ieede6dec05f63ed0fa1dde376b2e89c381601cd6 diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx index a98f825..60fc7fd 100644 --- a/include/vcl/opengl/OpenGLContext.hxx +++ b/include/vcl/opengl/OpenGLContext.hxx @@ -163,10 +163,10 @@ struct ProgramKey OUString maVertexShader; OUString maFragmentShader; - ProgramKey( const OUString& rVertexShader, const OUString& rFragmentShader ) + ProgramKey( const OUString& rVertexShader, const OUString& rFragmentShader ): + maVertexShader(rVertexShader), + maFragmentShader(rFragmentShader) { - maVertexShader = rVertexShader; - maFragmentShader = rFragmentShader; } }; _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
