Index: cc/gl_renderer.cc |
diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc |
index 9bb2fdeff6f91ddfe986298c2f6297aba5780d0e..219d60ffe94b6011896416422ddc326ec473736c 100644 |
--- a/cc/gl_renderer.cc |
+++ b/cc/gl_renderer.cc |
@@ -1087,8 +1087,9 @@ void GLRenderer::enqueueTextureQuad(const DrawingFrame& frame, const TextureDraw |
} |
// Generate the uv-transform |
- const gfx::RectF& uvRect = quad->uv_rect; |
- Float4 uv = {uvRect.x(), uvRect.y(), uvRect.width(), uvRect.height()}; |
+ const gfx::PointF& uv0 = quad->uv_top_left; |
+ const gfx::PointF& uv1 = quad->uv_bottom_right; |
+ Float4 uv = {uv0.x(), uv0.y(), uv1.x() - uv0.x(), uv1.y() - uv0.y()}; |
m_drawCache.uv_xform_data.push_back(uv); |
// Generate the vertex opacity |
@@ -1117,8 +1118,9 @@ void GLRenderer::drawTextureQuad(const DrawingFrame& frame, const TextureDrawQua |
binding.set(textureProgram(), context()); |
setUseProgram(binding.programId); |
GLC(context(), context()->uniform1i(binding.samplerLocation, 0)); |
- const gfx::RectF& uvRect = quad->uv_rect; |
- GLC(context(), context()->uniform4f(binding.texTransformLocation, uvRect.x(), uvRect.y(), uvRect.width(), uvRect.height())); |
+ const gfx::PointF& uv0 = quad->uv_top_left; |
+ const gfx::PointF& uv1 = quad->uv_bottom_right; |
+ GLC(context(), context()->uniform4f(binding.texTransformLocation, uv0.x(), uv0.y(), uv1.x() - uv0.x(), uv1.y() - uv0.y())); |
GLC(context(), context()->uniform1fv(binding.vertexOpacityLocation, 4, quad->vertex_opacity)); |