glave: Minor simplifying of generated code for glvreplay_xgl.

* xglFuncs struct is now generated into glvreplay_xgl_func_ptrs.h
* Remove use of apiReplay class, which was only being used by this API, so was not actually useful.
* Fix indentation of process_screenshot_list()
diff --git a/tools/glave/scripts/vk_generate.py b/tools/glave/scripts/vk_generate.py
index bec34ed..364ef43 100755
--- a/tools/glave/scripts/vk_generate.py
+++ b/tools/glave/scripts/vk_generate.py
@@ -1701,15 +1701,6 @@
 
     def _generate_replay_class_decls(self):
         cd_body = []
-        cd_body.append('class ApiReplay {')
-        cd_body.append('public:')
-        cd_body.append('    virtual ~ApiReplay() { }')
-        cd_body.append('    virtual enum glv_replay::GLV_REPLAY_RESULT replay(glv_trace_packet_header * packet) = 0;')
-        cd_body.append('    virtual int init(glv_replay::Display & disp) = 0;')
-        cd_body.append('    virtual void push_validation_msg(XGL_VALIDATION_LEVEL validationLevel, XGL_BASE_OBJECT srcObject, size_t location, int32_t msgCode, const char* pMsg) = 0;')
-        cd_body.append('    virtual glv_replay::GLV_REPLAY_RESULT pop_validation_msgs() = 0;')
-        cd_body.append('    virtual int dump_validation_data() = 0;')
-        cd_body.append('};\n')
         cd_body.append('class xglDisplay: public glv_replay::DisplayImp {')
         cd_body.append('friend class xglReplay;')
         cd_body.append('public:')
@@ -1807,7 +1798,7 @@
             mem_var = 'm_%s%ss' % (mem_var_list[0], "".join([m.title() for m in mem_var_list[1:]]))
             obj_map_dict[mem_var] = ty
         rc_body = []
-        rc_body.append('class xglReplay : public ApiReplay {')
+        rc_body.append('class xglReplay {')
         rc_body.append('public:')
         rc_body.append('    ~xglReplay();')
         rc_body.append('    xglReplay(glvreplay_settings *pReplaySettings);\n')
@@ -1937,23 +1928,23 @@
         for t in base_obj_remap_types:
             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_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')
-        rc_body.append('    while (start < spec.size()) {')
-        rc_body.append('        comma = spec.find(\',\', start);\n')
-        rc_body.append('        if (comma == std::string::npos)')
-        rc_body.append('            word = std::string(spec, start);')
-        rc_body.append('        else')
-        rc_body.append('            word = std::string(spec, start, comma - start);\n')
-        rc_body.append('        m_screenshotFrames.push_back(atoi(word.c_str()));')
-        rc_body.append('        if (comma == std::string::npos)')
-        rc_body.append('            break;\n')
-        rc_body.append('        start = comma + 1;\n')
+        rc_body.append('        return XGL_NULL_HANDLE;\n    }\n')
+        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')
+        rc_body.append('        while (start < spec.size()) {')
+        rc_body.append('            comma = spec.find(\',\', start);\n')
+        rc_body.append('            if (comma == std::string::npos)')
+        rc_body.append('                word = std::string(spec, start);')
+        rc_body.append('            else')
+        rc_body.append('                word = std::string(spec, start, comma - start);\n')
+        rc_body.append('            m_screenshotFrames.push_back(atoi(word.c_str()));')
+        rc_body.append('            if (comma == std::string::npos)')
+        rc_body.append('                break;\n')
+        rc_body.append('            start = comma + 1;\n')
+        rc_body.append('        }')
         rc_body.append('    }')
-        rc_body.append('}')
         rc_body.append('};')
         return "\n".join(rc_body)
 
@@ -3538,6 +3529,25 @@
 
         return "\n".join(body)
 
+class GlaveReplayXglFuncPtrs(Subcommand):
+    def generate_header(self):
+        header_txt = []
+        header_txt.append('#pragma once\n')
+        header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
+        header_txt.append('#include <xcb/xcb.h>\n')
+        header_txt.append('#endif')
+        header_txt.append('#include "xgl.h"')
+        header_txt.append('#include "xglDbg.h"')
+        header_txt.append('#if defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)')
+        header_txt.append('#include "xglWsiX11Ext.h"')
+        header_txt.append('#else')
+        header_txt.append('#include "xglWsiWinExt.h"')
+        header_txt.append('#endif')
+
+    def generate_body(self):
+        body = [self._generate_replay_func_ptrs()]
+        return "\n".join(body)
+
 class GlaveReplayHeader(Subcommand):
     def generate_header(self):
         header_txt = []
@@ -3561,11 +3571,11 @@
         header_txt.append('#endif')
         header_txt.append('#include "draw_state.h"')
         header_txt.append('#include "glave_snapshot.h"')
+        header_txt.append('#include "glvreplay_xgl_func_ptrs.h"')
         return "\n".join(header_txt)
 
     def generate_body(self):
         body = [self._generate_replay_class_decls(),
-                self._generate_replay_func_ptrs(),
                 self._generate_replay_class()]
 
         return "\n".join(body)
@@ -3627,6 +3637,7 @@
             "glave-dbg-trace-h" : GlaveDbgHeader,
             "glave-dbg-trace-c" : GlaveDbgC,
             "glave-dbg-trace-structs" : GlaveDbgStructs,
+            "glave-replay-xgl-funcs" : GlaveReplayXglFuncPtrs,
             "glave-replay-h" : GlaveReplayHeader,
             "glave-replay-c" : GlaveReplayC,
     }