From dcaff91d104bcaae8b815555353e08cebd377281 Mon Sep 17 00:00:00 2001 From: Ryan Pavlik <ryan.pavlik@collabora.com> Date: Tue, 26 May 2020 17:19:52 -0500 Subject: [PATCH] doc: Update target/instance docs following removal of xrt_prober_create --- doc/changes/xrt/mr.347.md | 1 + doc/images/in-process.drawio | 2 +- doc/images/in-process.svg | 2 +- doc/images/out-of-proc.drawio | 2 +- doc/images/out-of-proc.svg | 2 +- doc/targets.md | 41 +++++++++++++++++++---------------- 6 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 doc/changes/xrt/mr.347.md diff --git a/doc/changes/xrt/mr.347.md b/doc/changes/xrt/mr.347.md new file mode 100644 index 000000000..b2880b272 --- /dev/null +++ b/doc/changes/xrt/mr.347.md @@ -0,0 +1 @@ +Remove declaration and implementations of `xrt_prober_create`: the minimal functionality previously performed there should now be moved to `xrt_instance_create`. diff --git a/doc/images/in-process.drawio b/doc/images/in-process.drawio index f2b2f738b..51eb3e0ad 100644 --- a/doc/images/in-process.drawio +++ b/doc/images/in-process.drawio @@ -1 +1 @@ -<mxfile host="Electron" modified="2020-05-20T18:53:11.229Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="fGAGY7edic5DwCvLpX5O" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile> \ No newline at end of file +<mxfile host="Electron" modified="2020-05-26T22:13:46.682Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="iaisVdC_bzB5dWKzDBA1" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/doc/images/in-process.svg b/doc/images/in-process.svg index fff438d59..f4c52f980 100644 --- a/doc/images/in-process.svg +++ b/doc/images/in-process.svg @@ -1,3 +1,3 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="776px" height="744px" viewBox="-0.5 -0.5 776 744" content="<mxfile host="Electron" modified="2020-05-26T16:51:32.335Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="9Ci-sfcZoMfu0ecC0X-b" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-144-641-422-26-0"><rect x="144" y="641" width="422" height="26"/></clipPath><clipPath id="mx-clip-144-667-422-26-0"><rect x="144" y="667" width="422" height="26"/></clipPath><clipPath id="mx-clip-144-693-422-26-0"><rect x="144" y="693" width="422" height="26"/></clipPath><clipPath id="mx-clip-144-719-422-26-0"><rect x="144" y="719" width="422" height="26"/></clipPath></defs><g><path d="M 355 380 L 355 463.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 355 468.88 L 351.5 461.88 L 355 463.63 L 358.5 461.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(324.5,419.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="61" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">then creates</div></div></foreignObject><text x="31" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">then creates</text></switch></g><path d="M 277 367 L 277 400 L 90 400 L 90 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 90 418.88 L 86.5 411.88 L 90 413.63 L 93.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(156.5,391.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="24" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="12" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">calls</text></switch></g><ellipse cx="355" cy="335" rx="110" ry="45" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(246.5,314.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="216" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 216px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create<br /></font>(full implementation in targets/common/target_instance.c)</div></div></foreignObject><text x="108" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="310" y="0" width="100" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(132.5,6.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="454" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">With XRT_FEATURE_SERVICE disabled</div></div></foreignObject><text x="227" y="25" fill="#000000" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">With XRT_FEATURE_SERVICE disabled</text></switch></g><rect x="195" y="50" width="320" height="110" fill="none" stroke="none" pointer-events="all"/><g transform="translate(199.5,39.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="310" height="114" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 120px; max-width: 310px; width: 310px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in libopenxr_monado.so</h1>This library is loaded by the OpenXR loader and provides the entry points for that API. <span>The entire runtime exists in this library, within the process space of the application. Built in xrt/targets/openxr</span></div></div></foreignObject><text x="155" y="63" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="355" cy="200" rx="110" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(256.5,186.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="196" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 198px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrCreateInstance</font><br />(in state_trackers/oxr/oxr_instance.c)</div></div></foreignObject><text x="98" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 355 240 L 355 283.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 355 288.88 L 351.5 281.88 L 355 283.63 L 358.5 281.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(343.5,259.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><rect x="215" y="470" width="280" height="80" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(216.5,488.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="276" height="42" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 276px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">t_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with functions that access hardware</div></div></div></foreignObject><text x="138" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 576.37 649 L 655 649" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 571.12 649 L 578.12 646.67 L 576.37 649 L 578.12 651.33 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 140 636 L 140 610 L 570 610 L 570 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 140 636 L 140 740 L 570 740 L 570 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 140 636 L 570 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="354.5" y="627.5">t_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-144-641-422-26-0)" font-size="12px"><text x="145.5" y="653.5">select = t_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-144-667-422-26-0)" font-size="12px"><text x="145.5" y="679.5">create_fd_compositor = t_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-144-693-422-26-0)" font-size="12px"><text x="145.5" y="705.5">get_prober = t_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-144-719-422-26-0)" font-size="12px"><text x="145.5" y="731.5">destroy = t_instance_destroy</text></g><rect x="655" y="624" width="120" height="50" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(679.5,635.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="71" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">«interface»<br /><b>xrt_instance</b></div></div></foreignObject><text x="36" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="90" cy="460" rx="90" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(11.5,446.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="156" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 156px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><span style="white-space: normal">a real </span><font face="Courier New" style="white-space: normal">xrt_prober_create<br /></font><span style="white-space: normal">(in targets/openxr/target.c)</span></div></div></foreignObject><text x="78" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="643px" height="744px" viewBox="-0.5 -0.5 643 744" content="<mxfile host="Electron" modified="2020-05-26T22:13:51.478Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="HXb6n9P4BFBo76Yo6yw6" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-11-641-422-26-0"><rect x="11" y="641" width="422" height="26"/></clipPath><clipPath id="mx-clip-11-667-422-26-0"><rect x="11" y="667" width="422" height="26"/></clipPath><clipPath id="mx-clip-11-693-422-26-0"><rect x="11" y="693" width="422" height="26"/></clipPath><clipPath id="mx-clip-11-719-422-26-0"><rect x="11" y="719" width="422" height="26"/></clipPath></defs><g><path d="M 222 380 L 222 463.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 222 468.88 L 218.5 461.88 L 222 463.63 L 225.5 461.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(203.5,419.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">creates</div></div></foreignObject><text x="18" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">creates</text></switch></g><ellipse cx="222" cy="335" rx="110" ry="45" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(113.5,314.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="216" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 216px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create<br /></font>(full implementation in targets/common/target_instance.c)</div></div></foreignObject><text x="108" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="177" y="0" width="100" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5,6.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="454" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">With XRT_FEATURE_SERVICE disabled</div></div></foreignObject><text x="227" y="25" fill="#000000" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">With XRT_FEATURE_SERVICE disabled</text></switch></g><rect x="62" y="50" width="320" height="110" fill="none" stroke="none" pointer-events="all"/><g transform="translate(66.5,39.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="310" height="114" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 120px; max-width: 310px; width: 310px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in libopenxr_monado.so</h1>This library is loaded by the OpenXR loader and provides the entry points for that API. <span>The entire runtime exists in this library, within the process space of the application. Built in xrt/targets/openxr</span></div></div></foreignObject><text x="155" y="63" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="222" cy="200" rx="110" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(123.5,186.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="196" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 198px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrCreateInstance</font><br />(in state_trackers/oxr/oxr_instance.c)</div></div></foreignObject><text x="98" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 222 240 L 222 283.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 222 288.88 L 218.5 281.88 L 222 283.63 L 225.5 281.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(210.5,259.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><rect x="82" y="470" width="280" height="80" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(83.5,481.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="276" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 276px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">t_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with functions that access hardware, using a prober created with all target lists</div></div></div></foreignObject><text x="138" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 443.37 649 L 522 649" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 438.12 649 L 445.12 646.67 L 443.37 649 L 445.12 651.33 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 7 636 L 7 610 L 437 610 L 437 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 7 636 L 7 740 L 437 740 L 437 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 7 636 L 437 636" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="221.5" y="627.5">t_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-11-641-422-26-0)" font-size="12px"><text x="12.5" y="653.5">select = t_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-11-667-422-26-0)" font-size="12px"><text x="12.5" y="679.5">create_fd_compositor = t_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-11-693-422-26-0)" font-size="12px"><text x="12.5" y="705.5">get_prober = t_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-11-719-422-26-0)" font-size="12px"><text x="12.5" y="731.5">destroy = t_instance_destroy</text></g><rect x="522" y="624" width="120" height="50" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(546.5,635.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="71" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">«interface»<br /><b>xrt_instance</b></div></div></foreignObject><text x="36" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg> \ No newline at end of file diff --git a/doc/images/out-of-proc.drawio b/doc/images/out-of-proc.drawio index 941b63498..1615a6032 100644 --- a/doc/images/out-of-proc.drawio +++ b/doc/images/out-of-proc.drawio @@ -1 +1 @@ -<mxfile host="Electron" modified="2020-05-20T18:52:18.900Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="vozdiOYTyxx8yI9X8aCE" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile> \ No newline at end of file +<mxfile host="Electron" modified="2020-05-26T22:17:09.099Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="UkJOf6hkk2mb1MZDNHC8" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/doc/images/out-of-proc.svg b/doc/images/out-of-proc.svg index 061cdd7f4..11f858d0a 100644 --- a/doc/images/out-of-proc.svg +++ b/doc/images/out-of-proc.svg @@ -1,3 +1,3 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1031px" height="814px" viewBox="-0.5 -0.5 1031 814" content="<mxfile host="Electron" modified="2020-05-26T16:51:55.732Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="AL0VMCm1bAciMm2DO9xB" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">7VtZc9s2EP41mjoP8fDQ5UdLPuqpk3hst3GfNDAJSahBggEhS8qv7wIEeOuITUVKq5mMQyzu3W8Xuwuo5Q6DxTVH0fQT8zFtOZa/aLkXLcexbcuB/yRlqSmWZSWUCSe+pmWEB/Idm4aaOiM+jgsNBWNUkKhI9FgYYk8UaIhzNi82GzNanDVCE1whPHiIVqlfiS+m6casrOJ3TCZTPXW/oysCZBprQjxFPpvnSO5lyx1yxkTyFSyGmEruGb4k/a5W1KYL4zgU23R4un5wPl9/FGefHz935+SPb9E/tx87ySiviM70hsUUh5KfHCMBjE+WLpaGH9gH9ugi42LKJixE9DKjDjibhT6Wk1pQ8lhAPP2dtb9lLAKiDcR/sBBLLXc0EwxIUxFQXVvdpN53zGbcw2t2poEnEJ9gsa6dmzSUG8vNoHl4jVmABV9CA44pEuS1iAuk4TVJ22USgA8thHqBnLc917uez2+w3fu6GDyM/+x9McvOCQSwSN8vhzfwHi+IeNLd5fffOfrFIldxsTSFEFigupx2TPHvfF3WTZVMv0alXMtWe19CXrfqnJBbTpfC+gdjBhwAM4X0rrvfZtI+DIbACII5VH3G84wMXxP5/4KLEQljgUIPjxLVNSM+c9PIUGDJyTQJ+WQ8S1YcRBQHIAFgAJMmgIQpZwF/V6DJgaRfJaR0vlPvQxWdlIKBliicT4nAD1GynzkcElvq9yvmAi/WykrX9lxtYPUR45xpozbP7HVqhKc5U31m7Uq8VkW+XwksxbGe7h9HV5fnj3/eX44eLu//uhleSlSG6JmCppa5CAyQAooFZy94yCjjQA9ZKPk6JpSWSDm2SvlqvXbapqwHlvWSuwQMyzklkxBoAfF9ZTSQJnggD4BbIwJq94sCMkd7Tj7pcZqXT3tn8rEr8jG6MbWNWij0U/LMIhwu+AigD8f3acxyWpQ1NsTIEB6nJE76c6R4kRQZkhbZsZ4lCU5a+PsFxn+6N5VSw1Eom0ScvSrXxzRUJlNWMBJKhQRfhqtKJC3G+d3NqbQOTDpbhEtXCLiJuD8H0clBPQ/HajD0ogaNqNRJxzoJMWBTTZwMCJKGdZBwAt+hovj4lai2JIxmArTd+pi0hrGT/bBXNcDN3VBtOnxRM8m1xJjrzgHzZxTLRQ5mhApjYMB0pTZFmpmE3zkuRxmT6/Ujh/ttVSUGgyR36F50stKjOhel9tabLbnJMVUu3BT0Bdyk8iHbgLKUdKVX1RW3XaMrtr0zZVl9WJWUJVGRj6nEf0BPIsxjEgusDr8MMkAGlAVxEcpEmibk6VMq0Ra8iFiscD2ehaoKLJlYlqGpIJmoE5+FggTy6+FLXjWTU081QVH0W5yoolSejdCt7vz/hd3uFuCtO4hT6984eFcb+jc7WkPlXd1o52eFT1V1vk4UYqCTwCMB6H0BxEtrJ02d/Hsw7pRdcqfsflWKte5Uf1dC7P5Eb3mzHEF4QcTgjMNVF9mcXdom7F2U3aIoXavG8+r+TFH2KqJsJrrdW5bBpKQ2ZRk0hg8k/uw3rVEk8t6uUUqJYARoKcfxKAExpMMdlgq13S1VaHdn2tl/TYe6W+pQ/6B0yK7aMoNtn7yW4f4OvSrpwwa9AnLN9DkS6IwnUxFpukd6uA0eqCvXByqjciDJfhK3erHMeezxqj2UgF2E7QYbsIuEhu0UjULnrMZFqovSejvzc6uO7i+fwO9vaRaMIh6IXTD3CTu1C/8hc5DTfpPLSnNVWdD/axiG3sEZhrZd4dJPNgAAAy7O5U2sZDZFcUy8xykJTdUVkTvSl0K+aahzHUDJ1fsonqplrbqdsk7tTru19oYKCneYE+CuFHr51qpXuLayWzu7tmpvadzcxo2b7nons8gZcjtnZwXk9q1OcYhkS7pXCZTpMt5hNdsVq5m3ISUIx3MSUJQkyHI3GwqtU0L9W7RkM8lW6O+9mNJgyjj5Du1RAZvmnqTbqr9VSTs9yMH0NBzH0O3OiN4ukT6hRaHhLYpFqk6Uoigmz+llTAAgIOGACcGCTcj6gWSc0ylItFtji9JophC5uGuMkZ7uHnsgmQnFrZW3PL2aSOmsZjqnW5wNUdDMEFyXgbRC8U7AVo1/Y0yTKxNVtHL5IVNTn7/dNmlrThuKx7Jb+f5NSGNqcrm3qs1FO6Pca3ZJUn0mVyCBnlMl0FdEsNDOAP4B14fyRr4DCx9C2c7K8E8252IIJ7DgiCi8YYDrHMeiFonr9XczPpdFuW+CYxkfzTlq1bcvic88GvsjOPQiFhOh7r9k5dBpnVuVtGG56REkzYKk4+wbJNXks3z7AKHrM+Z15iJfe0RDs2jo9feNhmrOx8dSnss6KKRVRxw0iwPbau8ZCCaG219YZcIf823Cn+768CcLdZwfCnV2GcWV47G3h1XuttcxzYdV74KTW03f1WZ+j2HQD4dBxyhoJeic9VGQ8nhrYHiMiLY61tztoXooEZFbTV1viojq8HEMjX4GWvYeGrnVlF0lNFqJkWOYtDtk7D1McquZlWKYtBIWx5BpR5jYf8jk1ryXkDgYqOe86ooRioOaB0IpZcP94vPKi8Fm3wSVfbxOu+rj2XUvJDtrXMr3haNVU3wQb4JyoaCOGd8V3rX1kbf5N32tQ4ruzLIbfG4XEjECAZ98ePMrO/lWHfORedq+799wdYphml3zdDylNf1Sdd0PBnMyQwowSPZs4H1E4vxseitpnZReGKc/MbgK4PTYt9g6JUtY+zqyIbFBMfutdBIDZz85dy//BQ==</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-604-711-422-26-0"><rect x="604" y="711" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-737-422-26-0"><rect x="604" y="737" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-763-422-26-0"><rect x="604" y="763" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-789-422-26-0"><rect x="604" y="789" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-711-422-26-0"><rect x="4" y="711" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-737-422-26-0"><rect x="4" y="737" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-763-422-26-0"><rect x="4" y="763" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-789-422-26-0"><rect x="4" y="789" width="422" height="26"/></clipPath></defs><g><path d="M 815 375 L 815 573.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 815 578.88 L 811.5 571.88 L 815 573.63 L 818.5 571.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(784.5,472.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="61" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">then creates</div></div></foreignObject><text x="31" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">then creates</text></switch></g><path d="M 737 362 L 737 398 L 640 398 L 640 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 640 418.88 L 636.5 411.88 L 640 413.63 L 643.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(683.5,392.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><ellipse cx="815" cy="330" rx="110" ry="45" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(706.5,309.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="216" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 216px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create<br /></font>(full implementation in targets/common/target_instance.c)</div></div></foreignObject><text x="108" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="455" y="0" width="100" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(281.5,6.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="447" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">With XRT_FEATURE_SERVICE enabled</div></div></foreignObject><text x="224" y="25" fill="#000000" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">With XRT_FEATURE_SERVICE enabled</text></switch></g><rect x="55" y="60" width="340" height="110" fill="none" stroke="none" pointer-events="all"/><g transform="translate(59.5,49.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="330" height="120" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 120px; max-width: 330px; width: 330px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in libopenxr_monado.so</h1><p>This library is loaded by the OpenXR loader and provides the entry points for that API. No direct hardware access takes place (neither for rendering nor device input) - forwarded over IPC links to service module. Built in xrt/targets/openxr</p></div></div></foreignObject><text x="165" y="66" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="655" y="60" width="320" height="100" fill="none" stroke="none" pointer-events="all"/><g transform="translate(659.5,49.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="310" height="110" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 110px; max-width: 310px; width: 310px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in monado-service</h1><p>This persistent service performs hardware interaction and exposes functionality over IPC to the runtime SO loaded in the app's process. Built in xrt/targets/service</p></div></div></foreignObject><text x="155" y="61" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="215" cy="210" rx="110" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(116.5,196.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="196" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 198px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrCreateInstance</font><br />(in state_trackers/oxr/oxr_instance.c)</div></div></foreignObject><text x="98" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="215" cy="330" rx="80" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(136.5,309.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="156" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 156px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create</font><br />(trampoline in targets/openxr/target.c)</div></div></foreignObject><text x="78" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 250 L 215 283.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 288.88 L 211.5 281.88 L 215 283.63 L 218.5 281.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(203.5,264.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><ellipse cx="215" cy="470" rx="80" ry="50" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(144.5,456.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="140" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 142px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">ipc_instance_create</font><br />(in ipc/ipc_client_instance)</div></div></foreignObject><text x="70" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 370 L 215 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 418.88 L 211.5 411.88 L 215 413.63 L 218.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(203.5,389.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><rect x="95" y="580" width="240" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(96.5,593.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="236" height="42" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 236px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">ipc_client_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with client proxy functions</div></div></div></foreignObject><text x="118" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 520 L 215 573.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 578.88 L 211.5 571.88 L 215 573.63 L 218.5 571.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(196.5,544.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">creates</div></div></foreignObject><text x="18" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">creates</text></switch></g><rect x="695" y="580" width="240" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(696.5,593.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="236" height="42" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 236px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">t_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with functions that access hardware</div></div></div></foreignObject><text x="118" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 593.63 700 L 545 700 L 545 580" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 598.88 700 L 591.88 702.33 L 593.63 700 L 591.88 697.67 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 706 L 600 680 L 1030 680 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 706 L 600 810 L 1030 810 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 600 706 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="814.5" y="697.5">t_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-711-422-26-0)" font-size="12px"><text x="605.5" y="723.5">select = t_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-737-422-26-0)" font-size="12px"><text x="605.5" y="749.5">create_fd_compositor = t_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-763-422-26-0)" font-size="12px"><text x="605.5" y="775.5">get_prober = t_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-789-422-26-0)" font-size="12px"><text x="605.5" y="801.5">destroy = t_instance_destroy</text></g><path d="M 436.37 700 L 485 700 L 485 580" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 431.12 700 L 438.12 697.67 L 436.37 700 L 438.12 702.33 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 0 680 L 430 680 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 0 810 L 430 810 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="214.5" y="697.5">ipc_client_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-711-422-26-0)" font-size="12px"><text x="5.5" y="723.5">select = ipc_client_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-737-422-26-0)" font-size="12px"><text x="5.5" y="749.5">create_fd_compositor = ipc_client_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-763-422-26-0)" font-size="12px"><text x="5.5" y="775.5">get_prober = ipc_client_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-789-422-26-0)" font-size="12px"><text x="5.5" y="801.5">destroy = ipc_client_instance_destroy</text></g><rect x="455" y="530" width="120" height="50" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(479.5,541.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="71" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">«interface»<br /><b>xrt_instance</b></div></div></foreignObject><text x="36" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 815 240 L 815 278.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 815 283.88 L 811.5 276.88 L 815 278.63 L 818.5 276.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(803.5,257.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><ellipse cx="815" cy="200" rx="85" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(738.5,186.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="152" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 154px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">init_all()</font><br />(in ipc/ipc_server_process.c)</div></div></foreignObject><text x="76" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="640" cy="460" rx="85" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(556.5,446.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="166" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 166px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">a real <font face="Courier New">xrt_prober_create</font> (in targets/service/main.c)</div></div></foreignObject><text x="83" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1031px" height="814px" viewBox="-0.5 -0.5 1031 814" content="<mxfile host="Electron" modified="2020-05-26T22:17:36.710Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="7-PvXsvO2PO5peLqdK64" version="12.4.2" type="device" pages="1"><diagram id="i7RjRSwkiHJf6eIeykeo" name="Page-1">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</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-604-711-422-26-0"><rect x="604" y="711" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-737-422-26-0"><rect x="604" y="737" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-763-422-26-0"><rect x="604" y="763" width="422" height="26"/></clipPath><clipPath id="mx-clip-604-789-422-26-0"><rect x="604" y="789" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-711-422-26-0"><rect x="4" y="711" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-737-422-26-0"><rect x="4" y="737" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-763-422-26-0"><rect x="4" y="763" width="422" height="26"/></clipPath><clipPath id="mx-clip-4-789-422-26-0"><rect x="4" y="789" width="422" height="26"/></clipPath></defs><g><path d="M 815 375 L 815 573.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 815 578.88 L 811.5 571.88 L 815 573.63 L 818.5 571.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(796.5,472.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">creates</div></div></foreignObject><text x="18" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">creates</text></switch></g><ellipse cx="815" cy="330" rx="110" ry="45" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(706.5,309.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="216" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 216px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create<br /></font>(full implementation in targets/common/target_instance.c)</div></div></foreignObject><text x="108" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="455" y="0" width="100" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(281.5,6.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="447" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">With XRT_FEATURE_SERVICE enabled</div></div></foreignObject><text x="224" y="25" fill="#000000" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">With XRT_FEATURE_SERVICE enabled</text></switch></g><rect x="55" y="60" width="340" height="110" fill="none" stroke="none" pointer-events="all"/><g transform="translate(59.5,49.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="330" height="120" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 120px; max-width: 330px; width: 330px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in libopenxr_monado.so</h1><p>This library is loaded by the OpenXR loader and provides the entry points for that API. No direct hardware access takes place (neither for rendering nor device input) - forwarded over IPC links to service module. Built in xrt/targets/openxr</p></div></div></foreignObject><text x="165" y="66" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="655" y="60" width="320" height="100" fill="none" stroke="none" pointer-events="all"/><g transform="translate(659.5,49.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="310" height="110" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 110px; max-width: 310px; width: 310px; white-space: normal; overflow-wrap: normal; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><h1>in monado-service</h1><p>This persistent service performs hardware interaction and exposes functionality over IPC to the runtime SO loaded in the app's process. Built in xrt/targets/service</p></div></div></foreignObject><text x="155" y="61" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="215" cy="210" rx="110" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(116.5,196.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="196" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 198px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrCreateInstance</font><br />(in state_trackers/oxr/oxr_instance.c)</div></div></foreignObject><text x="98" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><ellipse cx="215" cy="330" rx="80" ry="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(136.5,309.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="156" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 156px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">xrt_instance_create</font><br />(trampoline in targets/openxr/target.c)</div></div></foreignObject><text x="78" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 250 L 215 283.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 288.88 L 211.5 281.88 L 215 283.63 L 218.5 281.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(203.5,264.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><ellipse cx="215" cy="470" rx="80" ry="50" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(144.5,456.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="140" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 142px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">ipc_instance_create</font><br />(in ipc/ipc_client_instance)</div></div></foreignObject><text x="70" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 370 L 215 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 418.88 L 211.5 411.88 L 215 413.63 L 218.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(203.5,389.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><rect x="95" y="580" width="240" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(96.5,593.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="236" height="42" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 236px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">ipc_client_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with client proxy functions</div></div></div></foreignObject><text x="118" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 215 520 L 215 573.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 578.88 L 211.5 571.88 L 215 573.63 L 218.5 571.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(196.5,544.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">creates</div></div></foreignObject><text x="18" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">creates</text></switch></g><rect x="695" y="580" width="240" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(696.5,586.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="236" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 236px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><div><font face="Courier New">t_instance</font></div><div>which implements <font face="Courier New">xrt_instance</font> with functions that access hardware, using a prober created with all target lists</div></div></div></foreignObject><text x="118" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 593.63 700 L 545 700 L 545 580" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 598.88 700 L 591.88 702.33 L 593.63 700 L 591.88 697.67 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 706 L 600 680 L 1030 680 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 706 L 600 810 L 1030 810 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 600 706 L 1030 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="814.5" y="697.5">t_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-711-422-26-0)" font-size="12px"><text x="605.5" y="723.5">select = t_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-737-422-26-0)" font-size="12px"><text x="605.5" y="749.5">create_fd_compositor = t_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-763-422-26-0)" font-size="12px"><text x="605.5" y="775.5">get_prober = t_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-604-789-422-26-0)" font-size="12px"><text x="605.5" y="801.5">destroy = t_instance_destroy</text></g><path d="M 436.37 700 L 485 700 L 485 580" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 431.12 700 L 438.12 697.67 L 436.37 700 L 438.12 702.33 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 0 680 L 430 680 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 0 810 L 430 810 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 706 L 430 706" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="214.5" y="697.5">ipc_client_instance</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-711-422-26-0)" font-size="12px"><text x="5.5" y="723.5">select = ipc_client_instance_select</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-737-422-26-0)" font-size="12px"><text x="5.5" y="749.5">create_fd_compositor = ipc_client_instance_create_fd_compositor</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-763-422-26-0)" font-size="12px"><text x="5.5" y="775.5">get_prober = ipc_client_instance_get_prober</text></g><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-4-789-422-26-0)" font-size="12px"><text x="5.5" y="801.5">destroy = ipc_client_instance_destroy</text></g><rect x="455" y="530" width="120" height="50" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(479.5,541.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="71" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">«interface»<br /><b>xrt_instance</b></div></div></foreignObject><text x="36" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 815 240 L 815 278.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 815 283.88 L 811.5 276.88 L 815 278.63 L 818.5 276.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(803.5,257.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="22" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">calls</div></div></foreignObject><text x="11" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">calls</text></switch></g><ellipse cx="815" cy="200" rx="85" ry="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(738.5,186.5)"><switch><foreignObject style="overflow:visible;" pointer-events="none" width="152" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 154px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;"><font face="Courier New">init_all()</font><br />(in ipc/ipc_server_process.c)</div></div></foreignObject><text x="76" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg> \ No newline at end of file diff --git a/doc/targets.md b/doc/targets.md index 4d3c3eeca..5fdc6093b 100644 --- a/doc/targets.md +++ b/doc/targets.md @@ -27,36 +27,39 @@ form the target. For instance, an OpenXR runtime must expose state tracker `st_oxr`, so the OpenXR runtime target just has to link the state tracker in and ensure it is present in the final build product. -Then, the target must provide access to the collection of devices desired. The -code is currently (26-May-2020) in the middle of a transition, from a -"prober"-centric interface to an "instance"-centric interface. - -- Target device access was historically done by implementing - `xrt_prober_create`, typically through a call to - `xrt_prober_create_with_lists`, often passing the target list defined in the - common `target_lists.c` shared file. This is currently still somewhat-required - but not as central as before, and will be removed soon. -- Target device access is now provided by implementing the `xrt_instance` - interface in your target and providing a definition of `xrt_instance_create` - that instantiates your implementation. +Then, the target must provide access to the collection of devices desired. +Target device access is provided by implementing the `xrt_instance` interface in +your target and providing a definition of `xrt_instance_create` that +instantiates your implementation. All methods of `xrt_instance` are required, though the `get_prober` method may -output a null pointer if the instance is not using a prober. For more detailed -information on this interface, see the documentation for @ref xrt_instance +output a null pointer if the instance is not using a prober, and targets that do +not need compositing may stub out the `create_fd_compositor` method to always +return an error. A fully-featured implementation is in +`src/targets/common/target_instance.c`, which calls +`xrt_prober_create_with_lists` passing the common `target_lists` variable to +include all supported devices. + +For more detailed information on this interface, see the documentation for @ref +xrt_instance. ## Sample Call Trees For clarity, call trees are included below for the OpenXR runtime in two general -cases: `XRT_FEATURE_SERVICE` disabled, and `XRT_FEATURE_SERVICE` enabled. Note -that even with `XRT_FEATURE_SERVICE` enabled, the other targets (cli, gui) more -closely resembler the `XRT_FEATURE_SERVICE` disabled diagram: they contain the -device drivers internally rather than contacting the service. +cases: `XRT_FEATURE_SERVICE` disabled, and `XRT_FEATURE_SERVICE` enabled. + +Note that even with `XRT_FEATURE_SERVICE` enabled, the other targets (cli, gui) +more closely resembler the `XRT_FEATURE_SERVICE` disabled diagram: they contain +the device drivers internally rather than contacting the service. They use a +modified version of the in-process target instance without compositor support. ### XRT_FEATURE_SERVICE disabled This is the simplest architecture. It is also the architecture used by the various extra targets like `monado-cli` even when building with -`XRT_FEATURE_SERVICE` enabled. +`XRT_FEATURE_SERVICE` enabled. (The CLI and GUI link against a slightly modified +version, `target_instance_no_comp`, which stubs out the compositor creation +call, but are otherwise the same.) ![In-process OpenXR runtime diagram](images/in-process.svg)