diff options
author | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-22 23:25:43 +0000 |
---|---|---|
committer | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-22 23:25:43 +0000 |
commit | bf362112780f684895110470f3fd3cc9b5eaf376 (patch) | |
tree | 19521010874e64e23d35425b3f081d3a12bb6872 /gpu | |
parent | 565bfe6454edf5a06d6c028d8131903654f851f3 (diff) | |
download | chromium_src-bf362112780f684895110470f3fd3cc9b5eaf376.zip chromium_src-bf362112780f684895110470f3fd3cc9b5eaf376.tar.gz chromium_src-bf362112780f684895110470f3fd3cc9b5eaf376.tar.bz2 |
Revert 97744 (broke gpu_unittests on Mac) - Work around NVIDIA driver bug on Mac OS X 10.6 causing GPU process
crashes during resizing. Explicitly delete and re-create the FBO
associated with the "saved texture", to give the driver a hint that
drawing commands targeting the old texture must be flushed.
BUG=89557
TEST=none (manually resized window with test case from bug; no crashes)
Review URL: http://codereview.chromium.org/7685024
TBR=kbr@google.com
Review URL: http://codereview.chromium.org/7708022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.cc | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index 5ea25fc..5e500bb 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -15,9 +15,6 @@ #include "base/atomicops.h" #include "base/at_exit.h" #include "base/callback.h" -#if defined(OS_MACOSX) -#include "base/mac/mac_util.h" -#endif #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "build/build_config.h" @@ -1322,8 +1319,6 @@ class GLES2DecoderImpl : public base::SupportsWeakPtr<GLES2DecoderImpl>, bool has_arb_robustness_; GLenum reset_status_; - bool needs_mac_nvidia_driver_workaround_; - DISALLOW_COPY_AND_ASSIGN(GLES2DecoderImpl); }; @@ -1685,8 +1680,7 @@ GLES2DecoderImpl::GLES2DecoderImpl(SurfaceManager* surface_manager, tex_image_2d_failed_(false), frame_number_(0), has_arb_robustness_(false), - reset_status_(GL_NO_ERROR), - needs_mac_nvidia_driver_workaround_(false) { + reset_status_(GL_NO_ERROR) { DCHECK(group); attrib_0_value_.v[0] = 0.0f; @@ -1940,13 +1934,6 @@ bool GLES2DecoderImpl::Initialize( has_arb_robustness_ = context->HasExtension("GL_ARB_robustness"); -#if defined(OS_MACOSX) - const char* vendor_str = reinterpret_cast<const char*>( - glGetString(GL_VENDOR)); - needs_mac_nvidia_driver_workaround_ = - strstr(vendor_str, "NVIDIA") && base::mac::IsOSSnowLeopardOrEarlier(); -#endif - if (!InitializeShaderTranslator()) { return false; } @@ -2529,10 +2516,6 @@ bool GLES2DecoderImpl::ResizeOffscreenFrameBuffer(const gfx::Size& size) { RestoreClearState(); } - // Workaround for driver bug on OS X 10.6.x and earlier; crbug.com/89557 - if (needs_mac_nvidia_driver_workaround_) - offscreen_saved_frame_buffer_->Create(); - // Allocate the offscreen saved color texture. DCHECK(offscreen_saved_color_format_); offscreen_saved_color_texture_->AllocateStorage( |