one_swizzle_to_rule_them_all.patch
branchfirefox102
changeset 1175 4c6576f9cf04
child 1190 2a24a948b5cf
equal deleted inserted replaced
1174:90e3d0cf8567 1175:4c6576f9cf04
       
     1 # HG changeset patch
       
     2 # User M. Sirringhaus <msirringhaus@suse.de>
       
     3 # Date 1645518286 -3600
       
     4 #      Tue Feb 22 09:24:46 2022 +0100
       
     5 # Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
       
     6 # Parent  81832d035e101471dcf52dd91de287268add7a91
       
     7 imported patch one_swizzle_to_rule_them_all.patch
       
     8 
       
     9 Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
       
    10 ===================================================================
       
    11 --- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
       
    12 +++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
       
    13 @@ -7,6 +7,7 @@
       
    14  #include "RenderCompositorSWGL.h"
       
    15  
       
    16  #include "mozilla/gfx/Logging.h"
       
    17 +#include "mozilla/gfx/Swizzle.h"
       
    18  #include "mozilla/widget/CompositorWidget.h"
       
    19  
       
    20  #ifdef MOZ_WIDGET_GTK
       
    21 @@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
       
    22    }
       
    23    mDT->Flush();
       
    24  
       
    25 +#if MOZ_BIG_ENDIAN()
       
    26 +  // One swizzle to rule them all.
       
    27 +  gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
       
    28 +                   mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
       
    29 +                   mDT->GetSize());
       
    30 +#endif
       
    31 +
       
    32    // Done with the DT. Hand it back to the widget and clear out any trace of it.
       
    33    mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
       
    34    mDirtyRegion.SetEmpty();