From: Jeremy Hayes Date: Thu, 26 Feb 2015 22:59:19 +0000 (-0700) Subject: glave: Add command buffer diagram. X-Git-Tag: upstream/1.1.92~5985^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c3d37d82b3840da8450f3d1ffea259e1f92e5f49;p=platform%2Fupstream%2FVulkan-Tools.git glave: Add command buffer diagram. --- diff --git a/glave-generate.py b/glave-generate.py index bb99ea0..e16175d 100755 --- a/glave-generate.py +++ b/glave-generate.py @@ -1945,6 +1945,7 @@ class Subcommand(object): rc_body.append('private:') rc_body.append(' struct xglFuncs m_xglFuncs;') rc_body.append(' DRAW_STATE_DUMP_DOT_FILE m_pDSDump;') + rc_body.append(' DRAW_STATE_DUMP_COMMAND_BUFFER_DOT_FILE m_pCBDump;') rc_body.append(' xglDisplay *m_display;') rc_body.append(' struct shaderPair {') rc_body.append(' XGL_SHADER *addr;') @@ -2419,12 +2420,13 @@ class Subcommand(object): rvf_body.append('}') rvf_body.append('int xglReplay::dump_validation_data()') rvf_body.append('{') - rvf_body.append(' if (m_pDSDump)') + rvf_body.append(' if (!m_pDSDump || !m_pCBDump)') rvf_body.append(' {') - rvf_body.append(' m_pDSDump((char *) "pipeline_dump.dot");') - rvf_body.append(' return 0;') + rvf_body.append(' return -1;') rvf_body.append(' }') - rvf_body.append(' return -1;') + rvf_body.append(' m_pDSDump((char *) "pipeline_dump.dot");') + rvf_body.append(' m_pCBDump((char *) "cb_dump.dot");') + rvf_body.append(' return 0;') rvf_body.append('}') return "\n".join(rvf_body) @@ -2607,6 +2609,7 @@ class Subcommand(object): cd_body.append(' if (xglDbgRegisterMsgCallback(g_fpDbgMsgCallback, NULL) != XGL_SUCCESS)') cd_body.append(' glv_LogError("Failed to register xgl callback for replayer error handling\\n");') cd_body.append(' m_pDSDump = (DRAW_STATE_DUMP_DOT_FILE) m_xglFuncs.real_xglGetProcAddr(remap(pPacket->gpu), "drawStateDumpDotFile");') + cd_body.append(' m_pCBDump = (DRAW_STATE_DUMP_COMMAND_BUFFER_DOT_FILE) m_xglFuncs.real_xglGetProcAddr(remap(pPacket->gpu), "drawStateDumpCommandBufferDotFile");') cd_body.append(' }') cd_body.append(' else ') cd_body.append(' replayResult = m_xglFuncs.real_xglCreateDevice(remap(pPacket->gpu), pPacket->pCreateInfo, &device);') diff --git a/layers/draw_state.h b/layers/draw_state.h index 7466e38..3fcf820 100644 --- a/layers/draw_state.h +++ b/layers/draw_state.h @@ -220,6 +220,8 @@ typedef struct _GLOBAL_CB_NODE { //prototypes for extension functions void drawStateDumpDotFile(char* outFileName); void drawStateDumpPngFile(char* outFileName); +void drawStateDumpCommandBufferDotFile(char* outFileName); // Func ptr typedefs typedef void (*DRAW_STATE_DUMP_DOT_FILE)(char*); typedef void (*DRAW_STATE_DUMP_PNG_FILE)(char*); +typedef void (*DRAW_STATE_DUMP_COMMAND_BUFFER_DOT_FILE)(char*);