Added an abstract Renderer::clear method.

TRAC #22041

Unimplemented in Renderer11 and Renderer9 only forces the depth stencil state
to reset.

Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch

Author:    Geoff Lang

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1423 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libGLESv2/renderer/Renderer.h
index bd51922..169cb33 100644
--- a/src/libGLESv2/renderer/Renderer.h
+++ b/src/libGLESv2/renderer/Renderer.h
@@ -82,6 +82,9 @@
 
     virtual void applyRenderTarget(gl::Framebuffer *frameBuffer) = 0;
 
+    virtual void clear(GLbitfield mask, const gl::Color &colorClear, float depthClear, int stencilClear,
+                       gl::Framebuffer *frameBuffer) = 0;
+
     // lost device
     virtual void markDeviceLost() = 0;
     virtual bool isDeviceLost() = 0;
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp
index c31ef56..5a86217 100644
--- a/src/libGLESv2/renderer/Renderer11.cpp
+++ b/src/libGLESv2/renderer/Renderer11.cpp
@@ -269,6 +269,13 @@
     UNIMPLEMENTED();
 }
 
+void Renderer11::clear(GLbitfield mask, const gl::Color &colorClear, float depthClear, int stencilClear,
+                       gl::Framebuffer *frameBuffer)
+{
+    // TODO
+    UNIMPLEMENTED();
+}
+
 void Renderer11::releaseDeviceResources()
 {
     // TODO
diff --git a/src/libGLESv2/renderer/Renderer11.h b/src/libGLESv2/renderer/Renderer11.h
index 0e47be2..3b5b95d 100644
--- a/src/libGLESv2/renderer/Renderer11.h
+++ b/src/libGLESv2/renderer/Renderer11.h
@@ -56,6 +56,9 @@
 
     virtual void applyRenderTarget(gl::Framebuffer *frameBuffer);
 
+    virtual void clear(GLbitfield mask, const gl::Color &colorClear, float depthClear, int stencilClear,
+                       gl::Framebuffer *frameBuffer);
+
     // lost device
     virtual void markDeviceLost();
     virtual bool isDeviceLost();
diff --git a/src/libGLESv2/renderer/Renderer9.cpp b/src/libGLESv2/renderer/Renderer9.cpp
index d183750..d45cd8f 100644
--- a/src/libGLESv2/renderer/Renderer9.cpp
+++ b/src/libGLESv2/renderer/Renderer9.cpp
@@ -865,6 +865,14 @@
     // TODO
 }
 
+void Renderer9::clear(GLbitfield mask, const gl::Color &colorClear, float depthClear, int stencilClear,
+                      gl::Framebuffer *frameBuffer)
+{
+    mForceSetDepthStencilState = true;
+
+    // TODO
+}
+
 void Renderer9::releaseDeviceResources()
 {
     while (!mEventQueryPool.empty())
diff --git a/src/libGLESv2/renderer/Renderer9.h b/src/libGLESv2/renderer/Renderer9.h
index cbc0a01..e08d6e2 100644
--- a/src/libGLESv2/renderer/Renderer9.h
+++ b/src/libGLESv2/renderer/Renderer9.h
@@ -79,6 +79,9 @@
 
     virtual void applyRenderTarget(gl::Framebuffer *frameBuffer);
 
+    virtual void clear(GLbitfield mask, const gl::Color &colorClear, float depthClear, int stencilClear,
+                       gl::Framebuffer *frameBuffer);
+
     // lost device
     virtual void markDeviceLost();
     virtual bool isDeviceLost();