summaryrefslogtreecommitdiffstats
path: root/o3d/core/cross/renderer.cc
diff options
context:
space:
mode:
authorgman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 22:45:15 +0000
committergman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 22:45:15 +0000
commitf3edc51bfb87650346ec6f3a39086cbaded71c0b (patch)
tree2f42081d8bc54cd6a98fc5e2e1356e06e4a7e19f /o3d/core/cross/renderer.cc
parent672606d6d4197b45b4239249b53b4c386e26f5a7 (diff)
downloadchromium_src-f3edc51bfb87650346ec6f3a39086cbaded71c0b.zip
chromium_src-f3edc51bfb87650346ec6f3a39086cbaded71c0b.tar.gz
chromium_src-f3edc51bfb87650346ec6f3a39086cbaded71c0b.tar.bz2
Make more stuff private in renderer
Review URL: http://codereview.chromium.org/199066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25805 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/core/cross/renderer.cc')
-rw-r--r--o3d/core/cross/renderer.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/o3d/core/cross/renderer.cc b/o3d/core/cross/renderer.cc
index fde2727..ff640b7 100644
--- a/o3d/core/cross/renderer.cc
+++ b/o3d/core/cross/renderer.cc
@@ -99,12 +99,12 @@ bool Renderer::IsForceSoftwareRenderer() {
}
Renderer::Renderer(ServiceLocator* service_locator)
- : current_render_surface_(NULL),
- current_depth_surface_(NULL),
- current_render_surface_is_back_buffer_(true),
- service_locator_(service_locator),
+ : service_locator_(service_locator),
service_(service_locator, this),
features_(service_locator),
+ current_render_surface_(NULL),
+ current_depth_surface_(NULL),
+ current_render_surface_is_back_buffer_(true),
viewport_(0.0f, 0.0f, 1.0f, 1.0f),
depth_range_(0.0f, 1.0f),
write_mask_(0xf),
@@ -251,9 +251,8 @@ void Renderer::SetClientSize(int width, int height) {
bool Renderer::StartRendering() {
DCHECK_GE(start_depth_, 0);
- ++start_depth_;
bool result = true;
- if (start_depth_ == 1) {
+ if (start_depth_ == 0) {
++render_frame_count_;
rendering_ = true;
transforms_culled_ = 0;
@@ -277,6 +276,9 @@ bool Renderer::StartRendering() {
}
}
}
+ if (result) {
+ ++start_depth_;
+ }
return result;
}
@@ -308,6 +310,9 @@ void Renderer::FinishRendering() {
if (start_depth_ == 0) {
ApplyDirtyStates();
PlatformSpecificFinishRendering();
+ // Don't hold pointers to these when we are finished rendering.
+ current_render_surface_ = NULL;
+ current_depth_surface_ = NULL;
rendering_ = false;
}
}