summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authordmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-15 03:23:20 +0000
committerdmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-15 03:23:20 +0000
commit108a923ac784e62ca84b45cb6241f77a942e233a (patch)
tree933ee61000b2a422bb332a66d93eb8316b3b6214 /remoting
parentbd4d016c13ce488e4d5e2f36c6319494ccbc6ec4 (diff)
downloadchromium_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.cc10
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 {