tools:Incorperate review feedback on glave screenshots
Move variables into display struct
Make width and height vectors
Change names from snapshot to screenshot
Fix bug when no screenshot frames specified
diff --git a/glave-generate.py b/glave-generate.py
index 671fc7d..62d0171 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -1742,6 +1742,10 @@
cd_body.append(' unsigned int m_windowWidth;')
cd_body.append(' unsigned int m_windowHeight;')
cd_body.append(' unsigned int m_frameNumber;')
+ cd_body.append(' std::vector<uint32_t> imageWidth;')
+ cd_body.append(' std::vector<uint32_t> imageHeight;')
+ cd_body.append(' std::vector<XGL_IMAGE> imageHandles;')
+ cd_body.append(' std::vector<XGL_GPU_MEMORY> imageMemory;')
cd_body.append('#if 0')
cd_body.append(' XGL_DEVICE m_dev[XGL_MAX_PHYSICAL_GPUS];')
cd_body.append(' uint32_t m_gpuCount;')
@@ -1855,7 +1859,7 @@
rc_body.append(' char msg[256];')
rc_body.append(' };')
rc_body.append(' std::vector<struct validationMsg> m_validationMsgs;')
- rc_body.append(' std::vector<int> m_snapshotFrames;')
+ rc_body.append(' std::vector<int> m_screenshotFrames;')
rc_body.append(self._map_decl('XGL_GPU_MEMORY', 'XGLAllocInfo', 'm_mapData'))
# Custom code for 1-off memory mapping functions
rc_body.append(' void add_entry_to_mapData(XGL_GPU_MEMORY handle, XGL_GPU_SIZE size)')
@@ -1954,7 +1958,7 @@
rc_body.append(' if ((obj = remap(static_cast <%s> (object))) != XGL_NULL_HANDLE)' % t)
rc_body.append(' return obj;')
rc_body.append(' return XGL_NULL_HANDLE;\n }')
- rc_body.append('void process_snapshot_list(const char *list)')
+ rc_body.append('void process_screenshot_list(const char *list)')
rc_body.append('{')
rc_body.append(' std::string spec(list), word;')
rc_body.append(' size_t start = 0, comma = 0;\n')
@@ -1967,7 +1971,7 @@
rc_body.append(' if (comma == std::string::npos)')
rc_body.append(' break;\n')
rc_body.append(' start = comma + 1;\n')
- rc_body.append(' m_snapshotFrames.push_back(atoi(word.c_str()));')
+ rc_body.append(' m_screenshotFrames.push_back(atoi(word.c_str()));')
rc_body.append(' }')
rc_body.append('}')
rc_body.append('};')
@@ -2221,7 +2225,9 @@
rs_body.append('xglReplay::xglReplay()')
rs_body.append('{')
rs_body.append(' m_display = new xglDisplay();')
- rs_body.append(' process_snapshot_list(g_replaySettings.snapshotList);')
+ rs_body.append(' if (g_replaySettings.screenshotList) {')
+ rs_body.append(' process_screenshot_list(g_replaySettings.screenshotList);')
+ rs_body.append(' }')
rs_body.append('}\n')
rs_body.append('xglReplay::~xglReplay()')
rs_body.append('{')
@@ -2944,8 +2950,8 @@
cpi_body = []
cpi_body.append(' XGL_IMAGE img;')
cpi_body.append(' XGL_GPU_MEMORY mem;')
- cpi_body.append(' imageHeight = pPacket->pCreateInfo->extent.height;')
- cpi_body.append(' imageWidth = pPacket->pCreateInfo->extent.width;')
+ cpi_body.append(' m_display->imageHeight.push_back(pPacket->pCreateInfo->extent.height);')
+ cpi_body.append(' m_display->imageWidth.push_back(pPacket->pCreateInfo->extent.width);')
cpi_body.append(' replayResult = m_xglFuncs.real_xglWsiX11CreatePresentableImage(remap(pPacket->device), pPacket->pCreateInfo, &img, &mem);')
cpi_body.append(' if (replayResult == XGL_SUCCESS)')
cpi_body.append(' {')
@@ -2953,8 +2959,8 @@
cpi_body.append(' add_to_map(pPacket->pImage, &img);')
cpi_body.append(' if(pPacket->pMem != NULL)')
cpi_body.append(' add_to_map(pPacket->pMem, &mem);')
- cpi_body.append(' imageHandles.push_back(img);')
- cpi_body.append(' imageMemory.push_back(mem);')
+ cpi_body.append(' m_display->imageHandles.push_back(img);')
+ cpi_body.append(' m_display->imageMemory.push_back(mem);')
cpi_body.append(' }')
return "\n".join(cpi_body)
@@ -2967,16 +2973,17 @@
wqp_body.append(' // use replayers Xcb window')
wqp_body.append(' pInfo.destWindow = m_display->m_XcbWindow;')
wqp_body.append(' replayResult = m_xglFuncs.real_xglWsiX11QueuePresent(remap(pPacket->queue), &pInfo, remap(pPacket->fence));')
- wqp_body.append(' it = std::find(m_snapshotFrames.begin(), m_snapshotFrames.end(), m_display->m_frameNumber);')
- wqp_body.append(' if (it != m_snapshotFrames.end())')
+ wqp_body.append(' it = std::find(m_screenshotFrames.begin(), m_screenshotFrames.end(), m_display->m_frameNumber);')
+ wqp_body.append(' if (it != m_screenshotFrames.end())')
wqp_body.append(' {')
- wqp_body.append(' for(unsigned int i=0; i<imageHandles.size(); i++)')
+ wqp_body.append(' for(unsigned int i=0; i<m_display->imageHandles.size(); i++)')
wqp_body.append(' {')
- wqp_body.append(' if (imageHandles[i] == pInfo.srcImage)')
+ wqp_body.append(' if (m_display->imageHandles[i] == pInfo.srcImage)')
wqp_body.append(' {')
wqp_body.append(' char frameName[32];')
wqp_body.append(' sprintf(frameName, "%d",m_display->m_frameNumber);')
- wqp_body.append(' glvWritePPM(frameName, imageWidth, imageHeight, imageHandles[i], imageMemory[i], &m_xglFuncs);')
+ wqp_body.append(' glvWritePPM(frameName, m_display->imageWidth[i], m_display->imageHeight[i],')
+ wqp_body.append(' m_display->imageHandles[i], m_display->imageMemory[i], &m_xglFuncs);')
wqp_body.append(' break;')
wqp_body.append(' }')
wqp_body.append(' }')
@@ -3064,9 +3071,6 @@
do_while_dict = {'GetFenceStatus': 'replayResult != pPacket->result && pPacket->result == XGL_SUCCESS', 'GetEventStatus': '(pPacket->result == XGL_EVENT_SET || pPacket->result == XGL_EVENT_RESET) && replayResult != pPacket->result'}
rbody = []
rbody.append('#define CHECK_RETURN_VALUE(entrypoint) returnValue = handle_replay_errors(#entrypoint, replayResult, pPacket->result, returnValue);\n')
- rbody.append('uint32_t imageWidth, imageHeight;')
- rbody.append('std::vector<XGL_IMAGE> imageHandles;')
- rbody.append('std::vector<XGL_GPU_MEMORY> imageMemory;')
rbody.append('glv_replay::GLV_REPLAY_RESULT xglReplay::replay(glv_trace_packet_header *packet)')
rbody.append('{')
rbody.append(' glv_replay::GLV_REPLAY_RESULT returnValue = glv_replay::GLV_REPLAY_SUCCESS;')