diff options
author | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 22:07:44 +0000 |
---|---|---|
committer | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 22:07:44 +0000 |
commit | c3bf65f5b6c64414996c80cbec80ade3bb6a68f3 (patch) | |
tree | eb12013ef1924927c7eda0b323c440fb8d10de0f /o3d/core/cross/client.cc | |
parent | 06e8a9d9635872338d5ac9956e24590e2ddcfb9e (diff) | |
download | chromium_src-c3bf65f5b6c64414996c80cbec80ade3bb6a68f3.zip chromium_src-c3bf65f5b6c64414996c80cbec80ade3bb6a68f3.tar.gz chromium_src-c3bf65f5b6c64414996c80cbec80ade3bb6a68f3.tar.bz2 |
Make O3D always clear the backbuffer one way or
another.
The issue is that given that we are using DISCARD
on D3D and on GL we are only drawing to the visible
portion of the O3D area, the state of the backbuffer
is undefined. This change should make it consistent
across platforms.
Review URL: http://codereview.chromium.org/201013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25522 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/core/cross/client.cc')
-rw-r--r-- | o3d/core/cross/client.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/o3d/core/cross/client.cc b/o3d/core/cross/client.cc index 2e0224d..a7f5924 100644 --- a/o3d/core/cross/client.cc +++ b/o3d/core/cross/client.cc @@ -452,13 +452,16 @@ String Client::GetScreenshotAsDataURL() { const RenderSurface* old_render_surface_; const RenderDepthStencilSurface* old_depth_surface_; + bool is_back_buffer; - renderer_->GetRenderSurfaces(&old_render_surface_, &old_depth_surface_); - renderer_->SetRenderSurfaces(surface, depth); + renderer_->GetRenderSurfaces(&old_render_surface_, &old_depth_surface_, + &is_back_buffer); + renderer_->SetRenderSurfaces(surface, depth, true); RenderClientInner(false, true); - renderer_->SetRenderSurfaces(old_render_surface_, old_depth_surface_); + renderer_->SetRenderSurfaces(old_render_surface_, old_depth_surface_, + is_back_buffer); Bitmap::Ref bitmap(surface->GetBitmap()); if (bitmap.IsNull()) { |