<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 9, 2015 at 1:16 AM, Mark Janes <span dir="ltr"><<a href="mailto:mark.a.janes@intel.com" target="_blank">mark.a.janes@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello José,<br>
<br>
Thanks for the helpful response. I didn't know about the UBJSON work,<br>
and I agree with your point about the use of GL by QtQuick.<br>
<br>
I think the most sensible place to begin is by exposing the existing<br>
retrace functionality in a usable library. I'd like to build up some<br>
compelling functionality before attempting to incorporate it in<br>
qapitrace. If my work doesn't pan out, then you won't have spent much<br>
time reviewing my patches.<br>
<br>
I'll keep my work MIT licensed and attempt to follow the apitrace<br>
conventions, to reduce the amount of work required to bring it into<br>
apitrace. And I'll keep a public clone of the work available on github<br>
as I make progress.<br>
<br>
The items I'd like to change in apitrace retrace:<br>
<br>
- remove main routines from retrace libraries, so other main routines<br>
can link against them.<br></blockquote><div><br></div><div>This sounds ok.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- encapsulate global variables used by retrace functions in a "retrace<br>
state" object that is passed to the generated functions.<br></blockquote><div><br></div><div><br></div><div>This sounds good in theory (I wish we could do it) but awful complicated in practice.</div><div><br></div><div>We have globals in GL, EGL, D3D8, D3D9, D3D10 specific code. To move all globals into an object, you basically need to include all headers for all apis when defining that object.</div><div><br></div><div>And I can say this is impossible. Names will clash (particularly, D3D7, D3D8 and D3D9 can't be included simultanouesly, as structures with the same name and different definitions appear in them).</div><div><br></div><div>Jose</div></div></div></div>