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(' GLVSNAPSHOT_PRINT_OBJECTS m_pGlvSnapshotPrint;')
rc_body.append(' xglDisplay *m_display;')
rc_body.append(' struct shaderPair {')
rc_body.append(' XGL_SHADER *addr;')
rs_body.append(' m_display = new xglDisplay();')
rs_body.append(' m_pDSDump = NULL;')
rs_body.append(' m_pCBDump = NULL;')
+ rs_body.append(' m_pGlvSnapshotPrint = NULL;')
rs_body.append(' if (g_pReplaySettings && g_pReplaySettings->screenshotList) {')
rs_body.append(' process_screenshot_list(g_pReplaySettings->screenshotList);')
rs_body.append(' }')
rvf_body.append('}')
rvf_body.append('int xglReplay::dump_validation_data()')
rvf_body.append('{')
- rvf_body.append(' if (!m_pDSDump || !m_pCBDump)')
+ rvf_body.append(' if (m_pDSDump && m_pCBDump)')
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(' }')
- rvf_body.append(' m_pDSDump((char *) "pipeline_dump.dot");')
- rvf_body.append(' m_pCBDump((char *) "cb_dump.dot");')
+ rvf_body.append(' if (m_pGlvSnapshotPrint != NULL) { m_pGlvSnapshotPrint(); }')
rvf_body.append(' return 0;')
rvf_body.append('}')
return "\n".join(rvf_body)
cd_body.append('#if !defined(_WIN32)')
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(' m_pGlvSnapshotPrint = (GLVSNAPSHOT_PRINT_OBJECTS) m_xglFuncs.real_xglGetProcAddr(remap(pPacket->gpu), "glvSnapshotPrintObjects");')
cd_body.append('#endif')
cd_body.append(' }')
cd_body.append(' else ')
rbody.append(' {')
rbody.append(' m_pCBDump = NULL;')
rbody.append(' m_pDSDump = NULL;')
+ rbody.append(' m_pGlvSnapshotPrint = NULL;')
rbody.append(' rm_from_map(pPacket->device);')
rbody.append(' m_display->m_initedXGL = false;')
rbody.append(' }')
header_txt.append('#include "xglWsiWinExt.h"')
header_txt.append('#endif')
header_txt.append('#include "draw_state.h"')
+ header_txt.append('#include "glave_snapshot.h"')
return "\n".join(header_txt)
def generate_body(self):