Currently when we create an AlphaMask we do some crazy conversion to 8bit grey of the mask bitmap: AlphaMask::AlphaMask( const Bitmap& rBitmap ) : Bitmap( rBitmap ) { if( !!rBitmap ) Bitmap::Convert( BMP_CONVERSION_8BIT_GREYS ); This can do some surprising things such as acquiring the buffer, pulling the pixels from GPU to CPU and ... other craziness (in a GL world) =) We should avoid doing all that by having an efficient impl. in the backend, that at least for the common-case avoids this.
Tomaž Vajngerl committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ad8d6d9ef53717e072005fe518ba8ded61e96711 tdf#97666 -opengl: convert the bitmap to 8bit grays using GL shader It will be available in 5.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Tomaž Vajngerl committed a patch related to this issue. It has been pushed to "libreoffice-5-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=bf546575116f7f67fe12a735bf8c8689a65bfdc1&h=libreoffice-5-1 tdf#97666 - opengl: convert the bitmap to 8bit grays using GL shader It will be available in 5.1.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Thanks Tomaz =)