glave: Update xgl debugger and replayer to include support for settings.
authorPeter Lohrmann <peterl@valvesofware.com>
Fri, 9 Jan 2015 03:47:03 +0000 (19:47 -0800)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Thu, 5 Feb 2015 00:58:06 +0000 (17:58 -0700)
* glvreplay_xgl has a 'debugLevel' setting that is used to control the validation level.
* glvdebug_xgl has a 'supportDrawCalls' placeholder setting that is not currently hooked up.

glave-generate.py

index dfac7168db62c955b425a5d40f1b70bb5b4a7396..bcab9b52aad3dae301458f1a9fbec164e0aa80cf 100755 (executable)
@@ -1438,7 +1438,7 @@ class Subcommand(object):
         rc_body.append('class xglReplay : public ApiReplay {')
         rc_body.append('public:')
         rc_body.append('    ~xglReplay();')
-        rc_body.append('    xglReplay(unsigned int debugLevel);\n')
+        rc_body.append('    xglReplay();\n')
         rc_body.append('    int init(glv_replay::Display & disp);')
         rc_body.append('    xglDisplay * get_display() {return m_display;}')
         rc_body.append('    glv_replay::GLV_REPLAY_RESULT replay(glv_trace_packet_header *packet);')
@@ -1448,7 +1448,6 @@ class Subcommand(object):
         rc_body.append('private:')
         rc_body.append('    struct xglFuncs m_xglFuncs;')
         rc_body.append('    void copy_mem_remap_range_struct(XGL_VIRTUAL_MEMORY_REMAP_RANGE *outRange, const XGL_VIRTUAL_MEMORY_REMAP_RANGE *inRange);')
-        rc_body.append('    unsigned int m_debugLevel;')
         rc_body.append('    xglDisplay *m_display;')
         rc_body.append('    XGL_MEMORY_HEAP_PROPERTIES m_heapProps[XGL_MAX_MEMORY_HEAPS];')
         rc_body.append('    struct shaderPair {')
@@ -1831,10 +1830,9 @@ class Subcommand(object):
 
     def _generate_replay_structors(self):
         rs_body = []
-        rs_body.append('xglReplay::xglReplay(unsigned int debugLevel)')
+        rs_body.append('xglReplay::xglReplay()')
         rs_body.append('{')
         rs_body.append('    m_display = new xglDisplay();')
-        rs_body.append('    m_debugLevel = debugLevel;')
         rs_body.append('}\n')
         rs_body.append('xglReplay::~xglReplay()')
         rs_body.append('{')
@@ -2107,7 +2105,7 @@ class Subcommand(object):
         cd_body.append('            if (!m_display->m_initedXGL)')
         cd_body.append('            {')
         cd_body.append('                XGL_DEVICE device;')
-        cd_body.append('                if (m_debugLevel > 0)')
+        cd_body.append('                if (g_xglReplaySettings.debugLevel > 0)')
         cd_body.append('                {')
         cd_body.append('                    XGL_DEVICE_CREATE_INFO cInfo, *ci, *pCreateInfoSaved;')
         cd_body.append('                    // TODO what is the real list of layers to be running with??')
@@ -2124,7 +2122,7 @@ class Subcommand(object):
         cd_body.append('                    layerInfo.ppActiveLayerNames = layersStr;')
         cd_body.append('                    memcpy(&cInfo, pPacket->pCreateInfo, sizeof(XGL_DEVICE_CREATE_INFO));')
         cd_body.append('                    cInfo.flags = pPacket->pCreateInfo->flags | XGL_DEVICE_CREATE_VALIDATION_BIT;')
-        cd_body.append('                    cInfo.maxValidationLevel = (XGL_VALIDATION_LEVEL)((m_debugLevel <= 4) ? XGL_VALIDATION_LEVEL_0 + m_debugLevel : XGL_VALIDATION_LEVEL_0);')
+        cd_body.append('                    cInfo.maxValidationLevel = (XGL_VALIDATION_LEVEL)((g_xglReplaySettings.debugLevel <= 4) ? XGL_VALIDATION_LEVEL_0 + g_xglReplaySettings.debugLevel : XGL_VALIDATION_LEVEL_0);')
         cd_body.append('                    pPacket->pCreateInfo = &cInfo;')
         cd_body.append('                    replayResult = m_xglFuncs.real_xglCreateDevice(remap(pPacket->gpu), pPacket->pCreateInfo, &device);')
         cd_body.append('                    // restore the packet for next replay')