Allows to render with an OpenGL context inside a TextureView.
Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp
index 62ac2ba..297f5a9 100644
--- a/libs/hwui/ProgramCache.cpp
+++ b/libs/hwui/ProgramCache.cpp
@@ -385,7 +385,7 @@
}
// Uniforms
shader.append(gVS_Header_Uniforms);
- if (description.hasExternalTexture) {
+ if (description.hasTextureTransform) {
shader.append(gVS_Header_Uniforms_TextureTransform);
}
if (description.hasGradient) {
@@ -415,11 +415,10 @@
// Begin the shader
shader.append(gVS_Main); {
- if (description.hasTexture) {
- shader.append(gVS_Main_OutTexCoords);
- }
- if (description.hasExternalTexture) {
+ if (description.hasTextureTransform) {
shader.append(gVS_Main_OutTransformedTexCoords);
+ } else if (description.hasTexture || description.hasExternalTexture) {
+ shader.append(gVS_Main_OutTexCoords);
}
if (description.hasWidth) {
shader.append(gVS_Main_Width);
@@ -487,8 +486,7 @@
}
if (description.hasTexture) {
shader.append(gFS_Uniforms_TextureSampler);
- }
- if (description.hasExternalTexture) {
+ } else if (description.hasExternalTexture) {
shader.append(gFS_Uniforms_ExternalTextureSampler);
}
if (description.hasWidth) {