File mozilla-bmo998749.patch of Package MozillaFirefox.40843
# HG changeset patch
# User Kagami Sascha Rosylight <krosylight@proton.me>
# Date 1758587698 0
# Node ID 48d7a6b864335c3f49a33b3e570f85338b125bd1
# Parent 1ac42c45ad132e1b2d498af6d8f0315839c2b25a
Bug 998749 - Use SurfaceFormatBit::OS_* for FilterProcessing.h r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D265733
diff --git a/gfx/2d/FilterProcessing.h b/gfx/2d/FilterProcessing.h
--- a/gfx/2d/FilterProcessing.h
+++ b/gfx/2d/FilterProcessing.h
@@ -5,23 +5,26 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef _MOZILLA_GFX_FILTERPROCESSING_H_
#define _MOZILLA_GFX_FILTERPROCESSING_H_
#include "2D.h"
#include "Filters.h"
-namespace mozilla {
-namespace gfx {
+namespace mozilla::gfx {
-const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
-const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
-const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
-const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B =
+ static_cast<ptrdiff_t>(mozilla::gfx::SurfaceFormatBit::OS_B) / 8;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G =
+ static_cast<ptrdiff_t>(mozilla::gfx::SurfaceFormatBit::OS_G) / 8;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R =
+ static_cast<ptrdiff_t>(mozilla::gfx::SurfaceFormatBit::OS_R) / 8;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A =
+ static_cast<ptrdiff_t>(mozilla::gfx::SurfaceFormatBit::OS_A) / 8;
class FilterProcessing {
public:
// Fast approximate division by 255. It has the property that
// for all 0 <= v <= 255*255, FastDivideBy255(v) == v/255.
// But it only uses two adds and two shifts instead of an
// integer division (which is expensive on many processors).
template <class B, class A>
@@ -155,12 +158,11 @@ class FilterProcessing {
static inline unsigned umax(unsigned a, unsigned b) {
return a - ((a - b) & -(a < b));
}
static inline unsigned umin(unsigned a, unsigned b) {
return a - ((a - b) & -(a > b));
}
-} // namespace gfx
-} // namespace mozilla
+} // namespace mozilla::gfx
#endif // _MOZILLA_GFX_FILTERPROCESSING_H_