summaryrefslogtreecommitdiff
path: root/libs/hwui/Program.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/Program.h')
-rw-r--r--libs/hwui/Program.h6
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;