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();