Index: gpu/command_buffer/service/gl_stream_texture_image.h |
diff --git a/gpu/command_buffer/service/gl_stream_texture_image.h b/gpu/command_buffer/service/gl_stream_texture_image.h |
index a6a517de550a8db56825183a35e04419a218fe94..b5bc370c5ba58af945a348050c9229c9f7fc5b40 100644 |
--- a/gpu/command_buffer/service/gl_stream_texture_image.h |
+++ b/gpu/command_buffer/service/gl_stream_texture_image.h |
@@ -19,8 +19,18 @@ class GPU_EXPORT GLStreamTextureImage : public gl::GLImage { |
// Get the matrix. |
// Copy the texture matrix for this image into |matrix|. |
+ // Subclasses must return a matrix appropriate for a coordinate system where |
+ // UV=(0,0) corresponds to the bottom left corner of the image. |
virtual void GetTextureMatrix(float matrix[16]) = 0; |
+ // Copy the texture matrix for this image into |matrix|, returning a matrix |
+ // for which UV=(0,0) corresponds to the top left of corner of the image, |
+ // which is what Chromium generally expects. |
+ void GetFlippedTextureMatrix(float matrix[16]) { |
+ GetTextureMatrix(matrix); |
+ matrix[13] += matrix[5]; |
+ matrix[5] = -matrix[5]; |
+ } |
protected: |
~GLStreamTextureImage() override {} |