From a3cbd06872b2f9ee9253e5879f590ff1b9eaf365 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 27 Apr 2018 15:39:32 +0200 Subject: tdf#116365 vcl opengl: respect max texture size when creating textures I can't reproduce the crash, but the image in the bugdoc is a large one (23100 x 1364 pixels) and it was black for me. It's rendered correctly now. Change-Id: I72c395af12ef88cf1352602492b84e1dcd04ed14 Reviewed-on: https://gerrit.libreoffice.org/53555 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- vcl/opengl/salbmp.cxx | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'vcl') diff --git a/vcl/opengl/salbmp.cxx b/vcl/opengl/salbmp.cxx index 69c6c5481c35..caade8ceacce 100644 --- a/vcl/opengl/salbmp.cxx +++ b/vcl/opengl/salbmp.cxx @@ -171,6 +171,15 @@ bool OpenGLSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapP mnBits = nBits; mnWidth = rSize.Width(); mnHeight = rSize.Height(); + + // Limit size to what GL allows, so later glTexImage2D() won't fail. + GLint nMaxTextureSize; + glGetIntegerv(GL_MAX_TEXTURE_SIZE, &nMaxTextureSize); + if (mnWidth > nMaxTextureSize) + mnWidth = nMaxTextureSize; + if (mnHeight > nMaxTextureSize) + mnHeight = nMaxTextureSize; + return false; } -- cgit