Update from https://crrev.com/316786
List of manually-modified files:
gpu/command_buffer/service/in_process_command_buffer.cc
examples/sample_app/BUILD.gn
examples/sample_app/spinning_cube.cc
mojo/android/javatests/src/org/chromium/mojo/MojoTestCase.java
mojo/cc/context_provider_mojo.cc
mojo/cc/context_provider_mojo.h
mojo/common/trace_controller_impl.cc
mojo/gles2/command_buffer_client_impl.cc
mojo/gles2/command_buffer_client_impl.h
services/gles2/gpu_impl.cc
shell/android/apk/src/org/chromium/mojo/shell/MojoShellApplication.java
sky/engine/core/dom/Node.cpp
sky/shell/apk/src/org/domokit/sky/shell/SkyShellApplication.java
ui/events/latency_info.cc
ui/gfx/transform.cc
ui/gfx/transform.h
ui/gfx/transform_util.cc
ui/gfx/transform_util.h
Review URL: https://codereview.chromium.org/935333002
diff --git a/ui/gfx/transform.cc b/ui/gfx/transform.cc
index 7fe5174..c13ae1d 100644
--- a/ui/gfx/transform.cc
+++ b/ui/gfx/transform.cc
@@ -40,6 +40,12 @@
return std::abs(x - SkDoubleToMScalar(1.0)) <= tolerance;
}
+static float Round(float f) {
+ if (f == 0.f)
+ return f;
+ return (f > 0.f) ? std::floor(f + 0.5f) : std::ceil(f - 0.5f);
+}
+
} // namespace
Transform::Transform(SkMScalar col1row1,
@@ -493,6 +499,12 @@
return true;
}
+void Transform::RoundTranslationComponents() {
+ matrix_.set(0, 3, Round(matrix_.get(0, 3)));
+ matrix_.set(1, 3, Round(matrix_.get(1, 3)));
+}
+
+
void Transform::TransformPointInternal(const SkMatrix44& xform,
Point3F* point) const {
if (xform.isIdentity())