tests: Add default clear colors to render framework
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index 947c8fe..d6c940f 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -228,7 +228,6 @@
 
     XGL_SAMPLER m_sampler;
 
-    XGL_FORMAT                  m_depth_stencil_fmt;
     XGL_IMAGE                   m_depthStencilImage;
     uint32_t                    m_num_mem;
     XGL_GPU_MEMORY              *m_depthStencilMem;
@@ -261,7 +260,8 @@
 
 void XglRenderTest::GenericDrawPreparation(XglCommandBufferObj *cmdBuffer, XglPipelineObj *pipelineobj, XglDescriptorSetObj *descriptorSet)
 {
-    cmdBuffer->ClearAllBuffers(&m_depthStencilBinding, m_depthStencilImage);
+    cmdBuffer->ClearAllBuffers(m_clear_color, m_depth_clear_color, m_stencil_clear_color,
+                               &m_depthStencilBinding, m_depthStencilImage);
     cmdBuffer->PrepareAttachments();
     cmdBuffer->BindStateObject(XGL_STATE_BIND_RASTER, m_stateRaster);
     cmdBuffer->BindStateObject(XGL_STATE_BIND_VIEWPORT, m_stateViewport);
diff --git a/tests/xglrenderframework.cpp b/tests/xglrenderframework.cpp
index 6538ea2..9a46f78 100644
--- a/tests/xglrenderframework.cpp
+++ b/tests/xglrenderframework.cpp
@@ -34,9 +34,18 @@
     m_stateViewport( XGL_NULL_HANDLE ),
     m_stateDepthStencil( XGL_NULL_HANDLE ),
     m_width( 256.0 ),                   // default window width
-    m_height( 256.0 )                   // default window height
+    m_height( 256.0 ),                  // default window height
+    m_render_target_fmt( XGL_FMT_R8G8B8A8_UNORM ),
+    m_depth_stencil_fmt( XGL_FMT_UNDEFINED ),
+    m_depth_clear_color( 1.0 ),
+    m_stencil_clear_color( 0 )
 {
-    m_render_target_fmt = XGL_FMT_R8G8B8A8_UNORM;
+    // clear the back buffer to dark grey
+    m_clear_color.color.rawColor[0] = 64;
+    m_clear_color.color.rawColor[1] = 64;
+    m_clear_color.color.rawColor[2] = 64;
+    m_clear_color.color.rawColor[3] = 0;
+    m_clear_color.useRawValue = true;
 
     m_depthStencilBinding.view = XGL_NULL_HANDLE;
 }
@@ -1142,7 +1151,8 @@
     xglCmdPipelineBarrier(obj(), barrierPtr);
 }
 
-void XglCommandBufferObj::ClearAllBuffers(XGL_DEPTH_STENCIL_BIND_INFO *depthStencilBinding, XGL_IMAGE depthStencilImage)
+void XglCommandBufferObj::ClearAllBuffers(XGL_CLEAR_COLOR clear_color, float depth_clear_color, uint32_t stencil_clear_color,
+                                          XGL_DEPTH_STENCIL_BIND_INFO *depthStencilBinding, XGL_IMAGE depthStencilImage)
 {
     uint32_t i;
     const XGL_FLAGS output_mask =
@@ -1178,22 +1188,13 @@
     pipeline_barrier.memBarrierCount = 1;
     pipeline_barrier.ppMemBarriers = (const void **)&pmemory_barrier;
 
-    // clear the back buffer to dark grey
-    XGL_CLEAR_COLOR clearColor = {};
-
-    clearColor.color.rawColor[0] = 64;
-    clearColor.color.rawColor[1] = 64;
-    clearColor.color.rawColor[2] = 64;
-    clearColor.color.rawColor[3] = 0;
-    clearColor.useRawValue = true;
-
     for (i = 0; i < m_renderTargets.size(); i++) {
         memory_barrier.image = m_renderTargets[i]->image();
         memory_barrier.oldLayout = m_renderTargets[i]->layout();
         xglCmdPipelineBarrier( obj(), &pipeline_barrier);
         m_renderTargets[i]->layout(memory_barrier.newLayout);
 
-        xglCmdClearColorImage( obj(), m_renderTargets[i]->image(), clearColor, 1, &srRange );
+        xglCmdClearColorImage( obj(), m_renderTargets[i]->image(), clear_color, 1, &srRange );
     }
 
     if (depthStencilImage)
@@ -1215,7 +1216,9 @@
         xglCmdPipelineBarrier( obj(), &pipeline_barrier);
         depthStencilBinding->layout = memory_barrier.newLayout;
 
-        xglCmdClearDepthStencil(obj(), depthStencilImage, 1.0f, 0, 1, &dsRange);
+        xglCmdClearDepthStencil(obj(), depthStencilImage,
+                                depth_clear_color,  stencil_clear_color,
+                                1, &dsRange);
 
         // prepare depth buffer for rendering
         memory_barrier.image = depthStencilImage;
diff --git a/tests/xglrenderframework.h b/tests/xglrenderframework.h
index b774e8f..4bf55f1 100644
--- a/tests/xglrenderframework.h
+++ b/tests/xglrenderframework.h
@@ -81,8 +81,12 @@
     vector<XglImage*>                       m_renderTargets;
     float                                   m_width, m_height;
     XGL_FORMAT                              m_render_target_fmt;
+    XGL_FORMAT                              m_depth_stencil_fmt;
     XGL_COLOR_ATTACHMENT_BIND_INFO          m_colorBindings[8];
     XGL_DEPTH_STENCIL_BIND_INFO             m_depthStencilBinding;
+    XGL_CLEAR_COLOR                         m_clear_color;
+    float                                   m_depth_clear_color;
+    uint32_t                                m_stencil_clear_color;
 
     /*
      * SetUp and TearDown are called by the Google Test framework
@@ -120,8 +124,7 @@
     void PipelineBarrier(XGL_PIPELINE_BARRIER *barrierPtr);
     void AddRenderTarget(XglImage *renderTarget);
     void AddDepthStencil();
-    void ClearAllBuffers();
-    void ClearAllBuffers(XGL_DEPTH_STENCIL_BIND_INFO *depthStencilBinding, XGL_IMAGE depthStencilImage);
+    void ClearAllBuffers(XGL_CLEAR_COLOR clear_color, float depth_clear_color, uint32_t stencil_clear_color, XGL_DEPTH_STENCIL_BIND_INFO *depthStencilBinding, XGL_IMAGE depthStencilImage);
     void PrepareAttachments();
     void BindPipeline(XGL_PIPELINE pipeline);
     void BindDescriptorSet(XGL_DESCRIPTOR_SET descriptorSet);