<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="1228" height="1181" xmlns:xlink="http://www.w3.org/1999/xlink"><desc style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Created with Raphaƫl 2.2.0</desc><defs style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><marker id="raphael-marker-endblock55-objhrpf1" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objo7emj" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objk0bpd" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objgsp1j" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objt3o61" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objyf8uw" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objy9r4y" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-obj3l36h" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-obj4ezi0" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objof8j5" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objm6d5m" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objls315" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objeen42" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objf1ddz" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objtl971" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker><marker id="raphael-marker-endblock55-objdp4gx" markerHeight="5" markerWidth="5" orient="auto" refX="2.5" refY="2.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"><use xlink:href="#raphael-marker-block" transform="rotate(180 2.5 2.5) scale(1,1)" stroke-width="1.0000" fill="#000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></use></marker></defs><rect x="10" y="10" width="177.3125" height="29" rx="0" ry="0" fill="#ffffff" stroke="#ff0000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="15" y="15" width="167.3125" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="98.65625" y="24.5" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.5" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Life of a Flatland Image</tspan></text><rect x="352.953125" y="49" width="60.75" height="58.20000076293945" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="362.953125" y="68.5999984741211" width="40.75" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="383.328125" y="78.10000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500001907348633" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Client</tspan></text><rect x="352.953125" y="1103.0000038146973" width="60.75" height="58.20000076293945" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="362.953125" y="1122.5999755859375" width="40.75" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="383.328125" y="1132.100004196167" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500028610229492" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Client</tspan></text><path fill="none" stroke="#000000" d="M383.328125,107.20000076293945L383.328125,1103.0000038146973" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="580.25" y="49" width="86.125" height="58.20000076293945" rx="0" ry="0" fill="#0000ff" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="590.25" y="68.5999984741211" width="66.125" height="19" rx="0" ry="0" fill="#0000ff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="623.3125" y="78.10000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500001907348633" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Flatland1</tspan></text><rect x="580.25" y="1103.0000038146973" width="86.125" height="58.20000076293945" rx="0" ry="0" fill="#0000ff" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="590.25" y="1122.5999755859375" width="66.125" height="19" rx="0" ry="0" fill="#0000ff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="623.3125" y="1132.100004196167" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500028610229492" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Flatland1</tspan></text><path fill="none" stroke="#000000" d="M623.3125,107.20000076293945L623.3125,1103.0000038146973" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="686.375" y="49" width="86.125" height="58.20000076293945" rx="0" ry="0" fill="#00008b" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="696.375" y="68.5999984741211" width="66.125" height="19" rx="0" ry="0" fill="#00008b" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="729.4375" y="78.10000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500001907348633" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Flatland2</tspan></text><rect x="686.375" y="1103.0000038146973" width="86.125" height="58.20000076293945" rx="0" ry="0" fill="#00008b" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="696.375" y="1122.5999755859375" width="66.125" height="19" rx="0" ry="0" fill="#00008b" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="729.4375" y="1132.100004196167" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500028610229492" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Flatland2</tspan></text><path fill="none" stroke="#000000" d="M729.4375,107.20000076293945L729.4375,1103.0000038146973" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="861.984375" y="49" width="84.625" height="58.20000076293945" rx="0" ry="0" fill="#008000" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="872.2734375" y="59" width="64.625" height="38.19999694824219" rx="0" ry="0" fill="#008000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="904.296875" y="78.10000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="-4.100000381469727" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Scenic</tspan><tspan dy="19.2" x="904.296875" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Allocator</tspan></text><rect x="861.984375" y="1103.0000038146973" width="84.625" height="58.20000076293945" rx="0" ry="0" fill="#008000" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="872.2734375" y="1113" width="64.625" height="38.2000732421875" rx="0" ry="0" fill="#008000" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="904.296875" y="1132.100004196167" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="-4.099946975708008" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Scenic</tspan><tspan dy="19.2" x="904.296875" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Allocator</tspan></text><path fill="none" stroke="#000000" d="M904.296875,107.20000076293945L904.296875,1103.0000038146973" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="1116.234375" y="49" width="81.875" height="58.20000076293945" rx="0" ry="0" fill="#800080" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="1126.234375" y="68.5999984741211" width="61.875" height="19" rx="0" ry="0" fill="#800080" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="1157.171875" y="78.10000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500001907348633" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Sysmem</tspan></text><rect x="1116.234375" y="1103.0000038146973" width="81.875" height="58.20000076293945" rx="0" ry="0" fill="#800080" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="1126.234375" y="1122.5999755859375" width="61.875" height="19" rx="0" ry="0" fill="#800080" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="1157.171875" y="1132.100004196167" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500028610229492" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Sysmem</tspan></text><path fill="none" stroke="#000000" d="M1157.171875,107.20000076293945L1157.171875,1103.0000038146973" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="42.21875" y="127.20000076293945" width="321.109375" height="48.20000076293945" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="47.21875" y="132.1999969482422" width="311.109375" height="38.20001220703125" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="202.7734375" y="151.30000114440918" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="-4.100000381469727" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Sysmem setup:</tspan><tspan dy="19.2" x="202.7734375" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">sysmem::BufferCollectionToken local_token</tspan></text><rect x="622.78125" y="190.89999389648438" width="294.9375" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="200.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(1) AllocateSharedCollection(local_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,214.4000015258789C383.328125,214.4000015258789,1085.964268317446,214.4000015258789,1152.179490807811,214.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objhrpf1)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="678.9375" y="229.89999389648438" width="182.625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="239.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(2) Duplicate(local_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,253.4000015258789C383.328125,253.4000015258789,1085.964268317446,253.4000015258789,1152.179490807811,253.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objo7emj)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="618.2734375" y="268.8999938964844" width="303.953125" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="278.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">sysmem::BufferCollectionToken dup_token</tspan></text><path fill="none" stroke="#000000" d="M1157.171875,292.4000015258789C1157.171875,292.4000015258789,454.5357316825539,292.4000015258789,388.3205091921891,292.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objk0bpd)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="635.9921875" y="307.8999938964844" width="268.515625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="317.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(3) BindSharedCollection(local_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,331.4000015258789C383.328125,331.4000015258789,1085.964268317446,331.4000015258789,1152.179490807811,331.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objgsp1j)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="619.1015625" y="346.8999938964844" width="302.8671875" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="356.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">sysmem::BufferCollectionSyncPtr sync_ptr</tspan></text><path fill="none" stroke="#000000" d="M1157.171875,370.4000015258789C1157.171875,370.4000015258789,454.5357316825539,370.4000015258789,388.3205091921891,370.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objt3o61)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="668.5859375" y="385.8999938964844" width="203.328125" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="395.4000015258789" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500007629394531" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(4) sync_ptr.SetConstraints()</tspan></text><path fill="none" stroke="#000000" d="M383.328125,409.4000015258789C383.328125,409.4000015258789,1085.964268317446,409.4000015258789,1152.179490807811,409.4000015258789" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objyf8uw)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="20" y="429.4000015258789" width="343.328125" height="67.4000015258789" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="25" y="434.3999938964844" width="333.328125" height="57.4000244140625" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="191.6640625" y="463.10000228881836" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="-13.700000762939453" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Scenic Allocator setup:</tspan><tspan dy="19.2" x="191.6640625" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">fuc_BufferCollectionImportToken import_token</tspan><tspan dy="19.2" x="191.6640625" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">fuc_BufferCollectionExportToken export_token</tspan></text><rect x="453.0703125" y="512.2999877929688" width="381.484375" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="643.8125" y="521.8000030517578" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.5000152587890625" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(5) RegisterBufferCollection(dup_token, export_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,535.8000030517578C383.328125,535.8000030517578,845.8729940871708,535.8000030517578,899.2869889793172,535.8000030517578" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objy9r4y)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="924.296875" y="555.8000030517578" width="212.875" height="48.20000076293945" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="929.296875" y="560.7999877929688" width="202.875" height="38.20001220703125" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="1030.734375" y="579.9000034332275" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="-4.100027084350586" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(6) Allocator sets vulkan and</tspan><tspan dy="19.2" x="1030.734375" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">display constraints</tspan></text><rect x="0" y="0" width="0" height="0" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="1030.734375" y="629.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="629.0000038146973" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></tspan></text><path fill="none" stroke="#000000" d="M904.296875,624.0000038146973C904.296875,624.0000038146973,1116.7066683471203,624.0000038146973,1152.1774443845788,624.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-obj3l36h)" stroke-dasharray="6,2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="686.375" y="639.5" width="154.859375" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="763.8046875" y="649.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Register export_token</tspan></text><path fill="none" stroke="#000000" d="M904.296875,663.0000038146973C904.296875,663.0000038146973,666.0069708973169,663.0000038146973,628.3087634123222,663.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-obj4ezi0)" stroke-dasharray="6,2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="739.4375" y="678.5" width="154.859375" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="816.8671875" y="688.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Register export_token</tspan></text><path fill="none" stroke="#000000" d="M904.296875,702.0000038146973C904.296875,702.0000038146973,762.998686466366,702.0000038146973,734.4354784327115,702.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objof8j5)" stroke-dasharray="6,2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="210.9375" y="722.0000038146973" width="152.390625" height="29" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="215.9375" y="727" width="142.390625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="287.1328125" y="736.5000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Complete allocation</tspan></text><rect x="634.1171875" y="766.5" width="272.265625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="770.25" y="776.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(7) sync_ptr.WaitForBuffersAllocated()</tspan></text><path fill="none" stroke="#000000" d="M383.328125,790.0000038146973C383.328125,790.0000038146973,1085.964268317446,790.0000038146973,1152.179490807811,790.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objm6d5m)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="197.109375" y="810.0000038146973" width="166.21875" height="29" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="202.109375" y="815" width="156.21875" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="280.21875" y="824.5000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Create Flatland Image</tspan></text><rect x="393.328125" y="854.5" width="219.984375" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="503.3203125" y="864.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(8) CreateImage(import_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,878.0000038146973C383.328125,878.0000038146973,583.8910895285662,878.0000038146973,618.3138834894016,878.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objls315)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="458.3984375" y="893.5" width="195.96875" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="556.3828125" y="903.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">CreateImage(import_token)</tspan></text><path fill="none" stroke="#000000" d="M383.328125,917.0000038146973C383.328125,917.0000038146973,682.0058188429102,917.0000038146973,724.4448856926597,917.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objeen42)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="188" y="937.0000038146973" width="175.328125" height="29" rx="0" ry="0" fill="none" stroke="#000000" stroke-width="2" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><rect x="193" y="942" width="165.328125" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="275.6640625" y="951.5000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Release Flatland image</tspan></text><rect x="566" y="981.5" width="155.625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="643.8125" y="991.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(9) Drop import_token</tspan></text><path fill="none" stroke="#000000" d="M383.328125,1005.0000038146973C383.328125,1005.0000038146973,845.8729940871708,1005.0000038146973,899.2869889793172,1005.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objf1ddz)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="430.9375" y="1020.5" width="144.765625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="503.3203125" y="1030.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">(10) ReleaseImage()</tspan></text><path fill="none" stroke="#000000" d="M383.328125,1044.0000038146973C383.328125,1044.0000038146973,583.8910895285662,1044.0000038146973,618.3138834894016,1044.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objtl971)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path><rect x="500.5" y="1059.5" width="111.765625" height="19" rx="0" ry="0" fill="#ffffff" stroke="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></rect><text x="556.3828125" y="1069.0000038146973" text-anchor="middle" font-family="Roboto" font-size="16px" stroke="none" fill="#000000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); text-anchor: middle; font-family: Roboto; font-size: 16px;"><tspan dy="5.500003814697266" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">ReleaseImage()</tspan></text><path fill="none" stroke="#000000" d="M383.328125,1083.0000038146973C383.328125,1083.0000038146973,682.0058188429102,1083.0000038146973,724.4448856926597,1083.0000038146973" stroke-width="2" marker-end="url(#raphael-marker-endblock55-objdp4gx)" stroke-dasharray="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg> |