aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Hayes <jeremy@lunarg.com>2015-01-29 13:03:36 -0700
committerJon Ashburn <jon@lunarg.com>2015-02-12 08:08:28 -0700
commit0c84661487dd72f0f5a42c0a0a4017a4dc26eb54 (patch)
tree2e1ba774c0ee1bffe31cfec66a3a26caac8a17c4
parent425bc085f22f6cf6c63ef1a0a073c686d7d5bebc (diff)
downloadusermoji-0c84661487dd72f0f5a42c0a0a4017a4dc26eb54.tar.xz
Add draw state diagram on pause events.
Add a Qt image viewer. Use Qt image viewer to view draw state diagram. Dump DOT files in appropriate entry points. Conflicts: layers/draw_state.c
-rw-r--r--layers/draw_state.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/layers/draw_state.c b/layers/draw_state.c
index 383211ab..5f3e5c37 100644
--- a/layers/draw_state.c
+++ b/layers/draw_state.c
@@ -913,6 +913,12 @@ static void printDSConfig()
}
}
+static void synchAndDumpDot()
+{
+ synchDSMapping();
+ dumpDotFile("pipeline_dump.dot");
+}
+
static void synchAndPrintDSConfig()
{
synchDSMapping();
@@ -1664,6 +1670,8 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglResetCommandBuffer(XGL_CMD_BUFFER cmdBuffe
XGL_LAYER_EXPORT void XGLAPI xglCmdBindPipeline(XGL_CMD_BUFFER cmdBuffer, XGL_PIPELINE_BIND_POINT pipelineBindPoint, XGL_PIPELINE pipeline)
{
+ synchAndDumpDot();
+
if (getPipeline(pipeline)) {
lastBoundPipeline = pipeline;
}
@@ -1677,17 +1685,23 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdBindPipeline(XGL_CMD_BUFFER cmdBuffer, XGL_PI
XGL_LAYER_EXPORT void XGLAPI xglCmdBindPipelineDelta(XGL_CMD_BUFFER cmdBuffer, XGL_PIPELINE_BIND_POINT pipelineBindPoint, XGL_PIPELINE_DELTA delta)
{
+ synchAndDumpDot();
+
nextTable.CmdBindPipelineDelta(cmdBuffer, pipelineBindPoint, delta);
}
XGL_LAYER_EXPORT void XGLAPI xglCmdBindDynamicStateObject(XGL_CMD_BUFFER cmdBuffer, XGL_STATE_BIND_POINT stateBindPoint, XGL_DYNAMIC_STATE_OBJECT state)
{
+ synchAndDumpDot();
+
setLastBoundDynamicState(state, stateBindPoint);
nextTable.CmdBindDynamicStateObject(cmdBuffer, stateBindPoint, state);
}
XGL_LAYER_EXPORT void XGLAPI xglCmdBindDescriptorSet(XGL_CMD_BUFFER cmdBuffer, XGL_PIPELINE_BIND_POINT pipelineBindPoint, XGL_DESCRIPTOR_SET descriptorSet, const uint32_t* pUserData)
{
+ synchAndDumpDot();
+
// TODO : Improve this. Can track per-cmd buffer and store bind point and pUserData
if (getSetNode(descriptorSet)) {
if (dsUpdateActive(descriptorSet)) {