Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: content/common/gpu/image_transport_surface_overlay_mac.mm

Issue 1420503011: GLES2CmdDecoder should resize GLSurface using GLSurface::Resize (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/gpu/image_transport_surface_overlay_mac.h" 5 #include "content/common/gpu/image_transport_surface_overlay_mac.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <IOSurface/IOSurface.h> 8 #include <IOSurface/IOSurface.h>
9 #include <OpenGL/CGLRenderers.h> 9 #include <OpenGL/CGLRenderers.h>
10 #include <OpenGL/CGLTypes.h> 10 #include <OpenGL/CGLTypes.h>
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 vsync_parameters_valid_ = (vsync_interval_ != base::TimeDelta()); 693 vsync_parameters_valid_ = (vsync_interval_ != base::TimeDelta());
694 694
695 // Compute |vsync_timebase_| to be the first vsync after time zero. 695 // Compute |vsync_timebase_| to be the first vsync after time zero.
696 if (vsync_parameters_valid_) { 696 if (vsync_parameters_valid_) {
697 vsync_timebase_ -= 697 vsync_timebase_ -=
698 vsync_interval_ * 698 vsync_interval_ *
699 ((vsync_timebase_ - base::TimeTicks()) / vsync_interval_); 699 ((vsync_timebase_ - base::TimeTicks()) / vsync_interval_);
700 } 700 }
701 } 701 }
702 702
703 void ImageTransportSurfaceOverlayMac::OnResize(gfx::Size pixel_size, 703 bool ImageTransportSurfaceOverlayMac::Resize(const gfx::Size& pixel_size,
704 float scale_factor) { 704 float scale_factor) {
705 // Flush through any pending frames. 705 // Flush through any pending frames.
706 DisplayAndClearAllPendingSwaps(); 706 DisplayAndClearAllPendingSwaps();
707 pixel_size_ = pixel_size; 707 pixel_size_ = pixel_size;
708 scale_factor_ = scale_factor; 708 scale_factor_ = scale_factor;
709 return true;
709 } 710 }
710 711
711 void ImageTransportSurfaceOverlayMac::SetLatencyInfo( 712 void ImageTransportSurfaceOverlayMac::SetLatencyInfo(
712 const std::vector<ui::LatencyInfo>& latency_info) { 713 const std::vector<ui::LatencyInfo>& latency_info) {
713 latency_info_.insert( 714 latency_info_.insert(
714 latency_info_.end(), latency_info.begin(), latency_info.end()); 715 latency_info_.end(), latency_info.begin(), latency_info.end());
715 } 716 }
716 717
717 void ImageTransportSurfaceOverlayMac::OnGpuSwitched() { 718 void ImageTransportSurfaceOverlayMac::OnGpuSwitched() {
718 // Create a new context, and use the GL renderer ID that the new context gets. 719 // Create a new context, and use the GL renderer ID that the new context gets.
(...skipping 25 matching lines...) Expand all
744 // Compute the previous vsync time. 745 // Compute the previous vsync time.
745 base::TimeTicks previous_vsync = 746 base::TimeTicks previous_vsync =
746 vsync_interval_ * ((from - vsync_timebase_) / vsync_interval_) + 747 vsync_interval_ * ((from - vsync_timebase_) / vsync_interval_) +
747 vsync_timebase_; 748 vsync_timebase_;
748 749
749 // Return |interval_fraction| through the next vsync. 750 // Return |interval_fraction| through the next vsync.
750 return previous_vsync + (1 + interval_fraction) * vsync_interval_; 751 return previous_vsync + (1 + interval_fraction) * vsync_interval_;
751 } 752 }
752 753
753 } // namespace content 754 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/image_transport_surface_overlay_mac.h ('k') | content/common/gpu/media/rendering_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698