Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8adc30a8 authored by Chris Craik's avatar Chris Craik Committed by Android (Google) Code Review
Browse files

Merge "Add static asserts around assumed-static skia enum values"

parents f1450291 216048ff
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -32,12 +32,19 @@ namespace uirenderer {
// Support
///////////////////////////////////////////////////////////////////////////////

static const GLenum gTileModes[] = {
static constexpr GLenum gTileModes[] = {
        GL_CLAMP_TO_EDGE,   // == SkShader::kClamp_TileMode
        GL_REPEAT,          // == SkShader::kRepeat_Mode
        GL_MIRRORED_REPEAT  // == SkShader::kMirror_TileMode
};

static_assert(gTileModes[SkShader::kClamp_TileMode] == GL_CLAMP_TO_EDGE,
        "SkShader TileModes have changed");
static_assert(gTileModes[SkShader::kRepeat_TileMode] == GL_REPEAT,
        "SkShader TileModes have changed");
static_assert(gTileModes[SkShader::kMirror_TileMode] == GL_MIRRORED_REPEAT,
        "SkShader TileModes have changed");

/**
 * This function does not work for n == 0.
 */
+20 −0
Original line number Diff line number Diff line
@@ -30,6 +30,26 @@ struct Blender {
    GLenum dst;
};

// assumptions made by lookup tables in either this file or ProgramCache
static_assert(0 == SkXfermode::kClear_Mode, "SkXfermode enums have changed");
static_assert(1 == SkXfermode::kSrc_Mode, "SkXfermode enums have changed");
static_assert(2 == SkXfermode::kDst_Mode, "SkXfermode enums have changed");
static_assert(3 == SkXfermode::kSrcOver_Mode, "SkXfermode enums have changed");
static_assert(4 == SkXfermode::kDstOver_Mode, "SkXfermode enums have changed");
static_assert(5 == SkXfermode::kSrcIn_Mode, "SkXfermode enums have changed");
static_assert(6 == SkXfermode::kDstIn_Mode, "SkXfermode enums have changed");
static_assert(7 == SkXfermode::kSrcOut_Mode, "SkXfermode enums have changed");
static_assert(8 == SkXfermode::kDstOut_Mode, "SkXfermode enums have changed");
static_assert(9 == SkXfermode::kSrcATop_Mode, "SkXfermode enums have changed");
static_assert(10 == SkXfermode::kDstATop_Mode, "SkXfermode enums have changed");
static_assert(11 == SkXfermode::kXor_Mode, "SkXfermode enums have changed");
static_assert(12 == SkXfermode::kPlus_Mode, "SkXfermode enums have changed");
static_assert(13 == SkXfermode::kModulate_Mode, "SkXfermode enums have changed");
static_assert(14 == SkXfermode::kScreen_Mode, "SkXfermode enums have changed");
static_assert(15 == SkXfermode::kOverlay_Mode, "SkXfermode enums have changed");
static_assert(16 == SkXfermode::kDarken_Mode, "SkXfermode enums have changed");
static_assert(17 == SkXfermode::kLighten_Mode, "SkXfermode enums have changed");

// In this array, the index of each Blender equals the value of the first
// entry. For instance, gBlends[1] == gBlends[SkXfermode::kSrc_Mode]
const Blender kBlends[] = {