diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-15 03:23:20 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-15 03:23:20 +0000 |
commit | 108a923ac784e62ca84b45cb6241f77a942e233a (patch) | |
tree | 933ee61000b2a422bb332a66d93eb8316b3b6214 /remoting | |
parent | bd4d016c13ce488e4d5e2f36c6319494ccbc6ec4 (diff) | |
download | chromium_src-108a923ac784e62ca84b45cb6241f77a942e233a.zip chromium_src-108a923ac784e62ca84b45cb6241f77a942e233a.tar.gz chromium_src-108a923ac784e62ca84b45cb6241f77a942e233a.tar.bz2 |
Workaround for bad driver issue with NVIDIA GeForce 7300 GT on Mac 10.5.
BUG=87283
TEST=Run on a machine with NVIDIA GeForce 7300 GT on Mac 10.5 immediately after booting.
Review URL: http://codereview.chromium.org/7373018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92651 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/host/capturer_mac.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/remoting/host/capturer_mac.cc b/remoting/host/capturer_mac.cc index c507858..cf1cfe7 100644 --- a/remoting/host/capturer_mac.cc +++ b/remoting/host/capturer_mac.cc @@ -11,6 +11,7 @@ #include <stddef.h> #include "base/logging.h" +#include "base/mac/mac_util.h" #include "base/memory/scoped_ptr.h" #include "remoting/host/capturer_helper.h" @@ -46,6 +47,13 @@ scoped_pixel_buffer_object::~scoped_pixel_buffer_object() { bool scoped_pixel_buffer_object::Init(CGLContextObj cgl_context, int size_in_bytes) { + // The PBO path is only done on 10.6 (SnowLeopard) and above due to + // a driver issue that was found on 10.5 + // (specifically on a NVIDIA GeForce 7300 GT). + // http://crbug.com/87283 + if (base::mac::IsOSLeopardOrEarlier()) { + return false; + } cgl_context_ = cgl_context; CGLContextObj CGL_MACRO_CONTEXT = cgl_context_; glGenBuffersARB(1, &pixel_buffer_object_); @@ -297,6 +305,8 @@ void CapturerMac::CaptureInvalidRects(CaptureCompletedCallback* callback) { if (pixel_buffer_object_.get() != 0) { GlBlitFast(current_buffer); } else { + // See comment in scoped_pixel_buffer_object::Init about why the slow + // path is always used on 10.5. GlBlitSlow(current_buffer); } } else { |