[Libreoffice-commits] core.git: vcl/opengl

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 16 11:46:06 UTC 2019


 vcl/opengl/texture.cxx |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

New commits:
commit 1e3869ea1ce71922280ad9fc4e95e52fed722571
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Sun Apr 14 18:22:21 2019 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Apr 16 13:45:12 2019 +0200

    in dbgutil mode initialize texture contents with predictable garbage
    
    So that textures do not start with random uninitialized contents.
    
    Change-Id: Ie240f5f71ed77d5c6c22a120e96540a2d0d7c2ed
    Reviewed-on: https://gerrit.libreoffice.org/70773
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/vcl/opengl/texture.cxx b/vcl/opengl/texture.cxx
index 19b48967e314..e0af455194c7 100644
--- a/vcl/opengl/texture.cxx
+++ b/vcl/opengl/texture.cxx
@@ -65,7 +65,21 @@ ImplOpenGLTexture::ImplOpenGLTexture( int nWidth, int nHeight, bool bAllocate )
     CHECK_GL_ERROR();
     if( bAllocate )
     {
+#ifdef DBG_UTIL
+        std::vector< sal_uInt8 > buffer;
+        buffer.resize( nWidth * nHeight * 4 );
+        for( size_t i = 0; i < size_t( nWidth * nHeight ); ++i )
+        {   // pre-fill the texture with deterministic garbage
+            bool odd = (i & 0x01);
+            buffer[ i * 4 ] =  odd ? 0x40 : 0xBF;
+            buffer[ i * 4 + 1 ] = 0x80;
+            buffer[ i * 4 + 2 ] = odd ? 0xBF : 0x40;
+            buffer[ i * 4 + 3 ] = 0xFF;
+        }
+        glTexImage2D( GL_TEXTURE_2D, 0, constInternalFormat, nWidth, nHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, buffer.data());
+#else
         glTexImage2D( GL_TEXTURE_2D, 0, constInternalFormat, nWidth, nHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr );
+#endif
         CHECK_GL_ERROR();
     }
 


More information about the Libreoffice-commits mailing list