tests: Start using DrawPreparation not DrawTriangle
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index 32dad54..45bb5b2 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -903,9 +903,27 @@
pipelineobj.AddVertexInputBindings(&vi_binding,1);
pipelineobj.AddVertexDataBuffer(&meshBuffer,0);
- GenericDrawTriangleTest(&pipelineobj, &descriptorSet, 2);
- QueueCommandBuffer(NULL, 0);
+ ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
+ XglCommandBufferObj cmdBuffer(m_device);
+ cmdBuffer.AddRenderTarget(m_renderTargets[0]);
+ ASSERT_XGL_SUCCESS(cmdBuffer.BeginCommandBuffer(0));
+ GenericDrawPreparation(&cmdBuffer, &pipelineobj, &descriptorSet);
+
+ //GenericDrawTriangleTest(&pipelineobj, &descriptorSet, 2);
+ //QueueCommandBuffer(NULL, 0);
+
+ cmdBuffer.BindVertexBuffer(&meshBuffer, 0, 0);
+
+ // render two triangles
+ cmdBuffer.Draw(0, 6, 0, 1);
+
+ // finalize recording of the command buffer
+ cmdBuffer.EndCommandBuffer();
+ cmdBuffer.QueueCommandBuffer(NULL, 0);
+
+ for (int i = 0; i < m_renderTargetCount; i++)
+ RecordImage(m_renderTargets[i]);
}
TEST_F(XglRenderTest, TriangleMRT)
@@ -960,6 +978,7 @@
XglDescriptorSetObj descriptorSet(m_device);
m_renderTargetCount = 2;
+ ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
XGL_PIPELINE_CB_ATTACHMENT_STATE att = {};
att.blendEnable = XGL_FALSE;
@@ -967,25 +986,16 @@
att.channelWriteMask = 0xf;
pipelineobj.SetColorAttachment(1, &att);
- ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
XglCommandBufferObj cmdBuffer(m_device);
+
cmdBuffer.AddRenderTarget(m_renderTargets[0]);
cmdBuffer.AddRenderTarget(m_renderTargets[1]);
+
ASSERT_XGL_SUCCESS(cmdBuffer.BeginCommandBuffer(0));
- cmdBuffer.ClearAllBuffers(NULL, NULL);
- cmdBuffer.BindAttachments(&m_depthStencilBinding);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_RASTER, m_stateRaster);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_VIEWPORT, m_stateViewport);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_COLOR_BLEND, m_colorBlend);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_DEPTH_STENCIL, m_stateDepthStencil);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_MSAA, m_stateMsaa);
- pipelineobj.CreateXGLPipeline(&descriptorSet);
- cmdBuffer.BindPipeline(pipelineobj.GetPipelineHandle());
+ GenericDrawPreparation(&cmdBuffer, &pipelineobj, &descriptorSet);
+
cmdBuffer.BindVertexBuffer(&meshBuffer, 0, 0);
-
- descriptorSet.CreateXGLDescriptorSet();
- cmdBuffer.BindDescriptorSet(descriptorSet.GetDescriptorSetHandle());
#ifdef DUMP_STATE_DOT
DRAW_STATE_DUMP_DOT_FILE pDSDumpDot = (DRAW_STATE_DUMP_DOT_FILE)xglGetProcAddr(gpu(), (XGL_CHAR*)"drawStateDumpDotFile");
pDSDumpDot((char*)"triTest2.dot");
@@ -1000,9 +1010,6 @@
for (int i = 0; i < m_renderTargetCount; i++)
RecordImage(m_renderTargets[i]);
- // GenericDrawTriangleTest(&pipelineobj, &descriptorSet, 1);
- // QueueCommandBuffer(NULL, 0);
-
}
TEST_F(XglRenderTest, QuadWithIndexedVertexFetch)
@@ -1083,28 +1090,21 @@
pipelineobj.AddVertexInputAttribs(vi_attribs,2);
pipelineobj.AddVertexInputBindings(&vi_binding,1);
- pipelineobj.CreateXGLPipeline(&descriptorSet);
- descriptorSet.CreateXGLDescriptorSet();
+ // pipelineobj.CreateXGLPipeline(&descriptorSet);
+ // descriptorSet.CreateXGLDescriptorSet();
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
XglCommandBufferObj cmdBuffer(m_device);
cmdBuffer.AddRenderTarget(m_renderTargets[0]);
ASSERT_XGL_SUCCESS(cmdBuffer.BeginCommandBuffer(0));
- cmdBuffer.ClearAllBuffers(NULL, NULL);
- cmdBuffer.BindAttachments(&m_depthStencilBinding);
+
+ GenericDrawPreparation(&cmdBuffer, &pipelineobj, &descriptorSet);
#ifdef DUMP_STATE_DOT
DRAW_STATE_DUMP_DOT_FILE pDSDumpDot = (DRAW_STATE_DUMP_DOT_FILE)xglGetProcAddr(gpu(), (XGL_CHAR*)"drawStateDumpDotFile");
pDSDumpDot((char*)"triTest2.dot");
#endif
- cmdBuffer.BindStateObject(XGL_STATE_BIND_RASTER, m_stateRaster);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_VIEWPORT, m_stateViewport);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_COLOR_BLEND, m_colorBlend);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_DEPTH_STENCIL, m_stateDepthStencil);
- cmdBuffer.BindStateObject(XGL_STATE_BIND_MSAA, m_stateMsaa);
- cmdBuffer.BindPipeline(pipelineobj.GetPipelineHandle());
- cmdBuffer.BindDescriptorSet(descriptorSet.GetDescriptorSetHandle());
cmdBuffer.BindVertexBuffer(&meshBuffer, 0, 0);
cmdBuffer.BindIndexBuffer(&indexBuffer,0);
@@ -1759,10 +1759,27 @@
pipelineobj.AddVertexInputAttribs(vi_attribs,2);
pipelineobj.AddVertexDataBuffer(&meshBuffer,0);
- GenericDrawTriangleTest(&pipelineobj, &descriptorSet, 12);
+ ASSERT_NO_FATAL_FAILURE(InitRenderTarget());
+ XglCommandBufferObj cmdBuffer(m_device);
+ cmdBuffer.AddRenderTarget(m_renderTargets[0]);
- QueueCommandBuffer(m_memoryRefManager.GetMemoryRefList(), m_memoryRefManager.GetNumRefs());
+ ASSERT_XGL_SUCCESS(cmdBuffer.BeginCommandBuffer(0));
+ GenericDrawPreparation(&cmdBuffer, &pipelineobj, &descriptorSet);
+ cmdBuffer.BindVertexBuffer(&meshBuffer, 0, 0);
+#ifdef DUMP_STATE_DOT
+ DRAW_STATE_DUMP_DOT_FILE pDSDumpDot = (DRAW_STATE_DUMP_DOT_FILE)xglGetProcAddr(gpu(), (XGL_CHAR*)"drawStateDumpDotFile");
+ pDSDumpDot((char*)"triTest2.dot");
+#endif
+ // render triangle
+ cmdBuffer.Draw(0, 36, 0, 1);
+
+ // finalize recording of the command buffer
+ cmdBuffer.EndCommandBuffer();
+ cmdBuffer.QueueCommandBuffer(NULL, 0);
+
+ for (int i = 0; i < m_renderTargetCount; i++)
+ RecordImage(m_renderTargets[i]);
}
TEST_F(XglRenderTest, VSTexture)