summaryrefslogtreecommitdiffstats
path: root/remoting/host/capturer_mac.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/capturer_mac.cc')
-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 {