diff options
Diffstat (limited to 'libs/renderengine/gl/ProgramCache.h')
-rw-r--r-- | libs/renderengine/gl/ProgramCache.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/renderengine/gl/ProgramCache.h b/libs/renderengine/gl/ProgramCache.h index 901e6315a0..535d21cd52 100644 --- a/libs/renderengine/gl/ProgramCache.h +++ b/libs/renderengine/gl/ProgramCache.h @@ -117,6 +117,11 @@ public: SHADOW_MASK = 1 << SHADOW_SHIFT, SHADOW_OFF = 0 << SHADOW_SHIFT, SHADOW_ON = 1 << SHADOW_SHIFT, + + DISPLAY_COLOR_TRANSFORM_MATRIX_SHIFT = 14, + DISPLAY_COLOR_TRANSFORM_MATRIX_MASK = 1 << DISPLAY_COLOR_TRANSFORM_MATRIX_SHIFT, + DISPLAY_COLOR_TRANSFORM_MATRIX_OFF = 0 << DISPLAY_COLOR_TRANSFORM_MATRIX_SHIFT, + DISPLAY_COLOR_TRANSFORM_MATRIX_ON = 1 << DISPLAY_COLOR_TRANSFORM_MATRIX_SHIFT, }; inline Key() : mKey(0) {} @@ -143,6 +148,10 @@ public: inline bool hasOutputTransformMatrix() const { return (mKey & OUTPUT_TRANSFORM_MATRIX_MASK) == OUTPUT_TRANSFORM_MATRIX_ON; } + inline bool hasDisplayColorMatrix() const { + return (mKey & DISPLAY_COLOR_TRANSFORM_MATRIX_MASK) == + DISPLAY_COLOR_TRANSFORM_MATRIX_ON; + } inline bool hasTransformMatrix() const { return hasInputTransformMatrix() || hasOutputTransformMatrix(); } @@ -194,6 +203,8 @@ public: // if none can be found. void useProgram(const EGLContext context, const Description& description); + void purgeCaches() { mCaches.clear(); } + private: // compute a cache Key from a Description static Key computeKey(const Description& description); |