diff options
Diffstat (limited to 'libs/hwui/Program.h')
-rw-r--r-- | libs/hwui/Program.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/hwui/Program.h b/libs/hwui/Program.h index 9c4cb098b4c3..e70982f5444a 100644 --- a/libs/hwui/Program.h +++ b/libs/hwui/Program.h @@ -54,6 +54,7 @@ namespace uirenderer { #define PROGRAM_KEY_COLOR_MATRIX 0x20 #define PROGRAM_KEY_COLOR_BLEND 0x40 #define PROGRAM_KEY_BITMAP_NPOT 0x80 +#define PROGRAM_KEY_BITMAP_EXTERNAL 0x100 #define PROGRAM_KEY_SWAP_SRC_DST 0x2000 @@ -133,6 +134,7 @@ struct ProgramDescription { // Shaders bool hasBitmap; + bool isShaderBitmapExternal; bool useShaderBasedWrap; bool hasVertexAlpha; @@ -180,6 +182,7 @@ struct ProgramDescription { modulate = false; hasBitmap = false; + isShaderBitmapExternal = false; useShaderBasedWrap = false; hasGradient = false; @@ -239,6 +242,9 @@ struct ProgramDescription { key |= getEnumForWrap(bitmapWrapS) << PROGRAM_BITMAP_WRAPS_SHIFT; key |= getEnumForWrap(bitmapWrapT) << PROGRAM_BITMAP_WRAPT_SHIFT; } + if (isShaderBitmapExternal) { + key |= PROGRAM_KEY_BITMAP_EXTERNAL; + } } if (hasGradient) key |= PROGRAM_KEY_GRADIENT; key |= programid(gradientType) << PROGRAM_GRADIENT_TYPE_SHIFT; |