vcl/opengl/greyscaleFragmentShader.glsl | 2 +- vcl/opengl/salbmp.cxx | 18 +++--------------- vcl/source/gdi/bitmap3.cxx | 2 -- vcl/workben/vcldemo.cxx | 13 +++++++++++++ 4 files changed, 17 insertions(+), 18 deletions(-)
New commits: commit 22f3c65eab410f0548904661948cf37f88a57eb6 Author: Michael Meeks <michael.me...@collabora.com> Date: Mon Feb 8 23:09:13 2016 +0000 Convert cleanups - avoid converting already converted bitmaps. Change-Id: I4cb79dc3b798e301c31c8440a1d1210d7bbdfc4b diff --git a/vcl/opengl/greyscaleFragmentShader.glsl b/vcl/opengl/greyscaleFragmentShader.glsl index 5117c488..758109e 100644 --- a/vcl/opengl/greyscaleFragmentShader.glsl +++ b/vcl/opengl/greyscaleFragmentShader.glsl @@ -12,7 +12,7 @@ uniform sampler2D sampler; void main() { vec4 texel = texture2D(sampler, tex_coord); - gl_FragColor = vec4(vec3(dot(texel.rgb, vec3(0.302, 0.592, 0.109))), 1.0); + gl_FragColor = vec4(vec3(dot(texel.rgb, vec3(0.301, 0.591, 0.108))), 1.0); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/opengl/salbmp.cxx b/vcl/opengl/salbmp.cxx index 6eaced6..30f1022 100644 --- a/vcl/opengl/salbmp.cxx +++ b/vcl/opengl/salbmp.cxx @@ -903,7 +903,8 @@ bool OpenGLSalBitmap::ConvertToGreyscale() { VCL_GL_INFO("::ConvertToGreyscale"); - if (false) + // avoid re-converting to 8bits. + if ( mnBits == 8 && maPalette == Bitmap::GetGreyPalette(256) ) return false; OpenGLZone aZone; @@ -920,7 +921,6 @@ bool OpenGLSalBitmap::ConvertToGreyscale() OpenGLTexture aNewTex(mnWidth, mnHeight); pFramebuffer = xContext->AcquireFramebuffer(aNewTex); - pProgram->ApplyMatrix(mnWidth, mnHeight); pProgram->SetTexture("sampler", maTexture); pProgram->DrawTexture(maTexture); pProgram->Clean(); @@ -928,19 +928,7 @@ bool OpenGLSalBitmap::ConvertToGreyscale() OpenGLContext::ReleaseFramebuffer( pFramebuffer ); maTexture = aNewTex; mnBits = 8; - - static BitmapPalette aGreyPalette256; - if (!aGreyPalette256.GetEntryCount()) - { - aGreyPalette256.SetEntryCount(256); - - for (sal_uInt16 i = 0; i < 256; i++) - { - sal_uInt8 nValue = sal_uInt8(i); - aGreyPalette256[i] = BitmapColor(nValue, nValue, nValue); - } - } - maPalette = aGreyPalette256; + maPalette = Bitmap::GetGreyPalette(256); CHECK_GL_ERROR(); return true; diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx index 30a4f92..b4f1000 100644 --- a/vcl/source/gdi/bitmap3.cxx +++ b/vcl/source/gdi/bitmap3.cxx @@ -259,8 +259,6 @@ bool Bitmap::Convert( BmpConversion eConversion ) { ImplSetImpBitmap(pImpBmp); SAL_INFO( "vcl.opengl", "Ref count: " << mpImpBmp->ImplGetRefCount() ); - //maPrefMapMode = MapMode(MAP_PIXEL); - //maPrefSize = pImpBmp->ImplGetSize(); return true; } else diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx index bfd29e5..b112e17 100644 --- a/vcl/workben/vcldemo.cxx +++ b/vcl/workben/vcldemo.cxx @@ -1068,6 +1068,19 @@ public: aBelow.Move(0,aResult.GetSizePixel().Height()); rDev.DrawBitmapEx(aBelow, aResult); + // mini convert test. + aBelow.Move(aResult.GetSizePixel().Width()+4,0); + rDev.DrawBitmapEx(aBelow, aResult); + + Bitmap aGrey = aSrc.GetBitmap(); + aGrey.Convert(BMP_CONVERSION_8BIT_GREYS); + rDev.DrawBitmap(aBelow, aGrey); + + aBelow.Move(aGrey.GetSizePixel().Width(),0); + BitmapEx aGreyMask(aSrc.GetBitmap(), + AlphaMask(aSrc.GetMask())); + rDev.DrawBitmapEx(aBelow, aGreyMask); + aLocation.Move(aSrc.GetSizePixel().Width()*6,0); if (aLocation.X() > r.Right()) aLocation = Point(0,aLocation.Y()+aSrc.GetSizePixel().Height()*3+4); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits