Commit b1b3f4e
Return
Change `Queue::submit()` to return `Expected<SubmitResult>` (a fence +
signal value pair) instead of blocking until completion. Each backend
(Vulkan, DirectX, Metal) now returns its queue fence and counter value,
and callers explicitly wait via `SubmitResult::waitForCompletion()`
before reading back results.
This allows command buffers submitted between the first and last submit
to remain in-flight on the GPU without host-side synchronization.
- Vulkan: `cleanup()` waits on the queue fence for error-path safety
- DirectX: tile mapping sync reuses the queue's `SubmitFence`
- Metal: `MTLQueue` gains a `SharedEvent` fence; the last command buffer
in each batch encodes a signal on it
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>SubmitResult from Queue::submit() instead of blocking1 parent 46ba4a6 commit b1b3f4e
4 files changed
Lines changed: 108 additions & 97 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
57 | 65 | | |
58 | 66 | | |
59 | 67 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
65 | 76 | | |
66 | 77 | | |
67 | 78 | | |
68 | | - | |
| 79 | + | |
69 | 80 | | |
70 | 81 | | |
71 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
424 | | - | |
| 424 | + | |
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
| |||
458 | 458 | | |
459 | 459 | | |
460 | 460 | | |
461 | | - | |
| 461 | + | |
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
| |||
488 | 488 | | |
489 | 489 | | |
490 | 490 | | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
| 491 | + | |
496 | 492 | | |
497 | 493 | | |
498 | 494 | | |
| |||
526 | 522 | | |
527 | 523 | | |
528 | 524 | | |
529 | | - | |
530 | 525 | | |
531 | 526 | | |
532 | 527 | | |
| |||
908 | 903 | | |
909 | 904 | | |
910 | 905 | | |
911 | | - | |
| 906 | + | |
912 | 907 | | |
913 | 908 | | |
914 | 909 | | |
| |||
947 | 942 | | |
948 | 943 | | |
949 | 944 | | |
950 | | - | |
951 | | - | |
952 | | - | |
953 | | - | |
954 | | - | |
955 | | - | |
956 | | - | |
957 | | - | |
958 | | - | |
959 | | - | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
960 | 951 | | |
961 | 952 | | |
962 | | - | |
| 953 | + | |
963 | 954 | | |
964 | 955 | | |
965 | 956 | | |
| |||
1018 | 1009 | | |
1019 | 1010 | | |
1020 | 1011 | | |
1021 | | - | |
| 1012 | + | |
1022 | 1013 | | |
1023 | 1014 | | |
1024 | 1015 | | |
| |||
1144 | 1135 | | |
1145 | 1136 | | |
1146 | 1137 | | |
1147 | | - | |
| 1138 | + | |
1148 | 1139 | | |
1149 | 1140 | | |
1150 | 1141 | | |
| |||
1398 | 1389 | | |
1399 | 1390 | | |
1400 | 1391 | | |
1401 | | - | |
| 1392 | + | |
| 1393 | + | |
1402 | 1394 | | |
1403 | 1395 | | |
1404 | 1396 | | |
| |||
1874 | 1866 | | |
1875 | 1867 | | |
1876 | 1868 | | |
1877 | | - | |
1878 | | - | |
1879 | | - | |
1880 | | - | |
1881 | | - | |
1882 | 1869 | | |
1883 | 1870 | | |
1884 | 1871 | | |
| |||
1918 | 1905 | | |
1919 | 1906 | | |
1920 | 1907 | | |
1921 | | - | |
1922 | | - | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
1923 | 1911 | | |
| 1912 | + | |
| 1913 | + | |
1924 | 1914 | | |
1925 | 1915 | | |
1926 | 1916 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | 78 | | |
95 | 79 | | |
96 | 80 | | |
| |||
122 | 106 | | |
123 | 107 | | |
124 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
125 | 129 | | |
126 | 130 | | |
127 | 131 | | |
| |||
178 | 182 | | |
179 | 183 | | |
180 | 184 | | |
181 | | - | |
| 185 | + | |
182 | 186 | | |
183 | 187 | | |
184 | 188 | | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
196 | 197 | | |
197 | | - | |
| 198 | + | |
| 199 | + | |
198 | 200 | | |
199 | 201 | | |
200 | 202 | | |
| |||
228 | 230 | | |
229 | 231 | | |
230 | 232 | | |
231 | | - | |
232 | 233 | | |
233 | 234 | | |
234 | 235 | | |
| |||
666 | 667 | | |
667 | 668 | | |
668 | 669 | | |
669 | | - | |
| 670 | + | |
| 671 | + | |
670 | 672 | | |
671 | 673 | | |
672 | 674 | | |
| |||
720 | 722 | | |
721 | 723 | | |
722 | 724 | | |
723 | | - | |
724 | | - | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
725 | 728 | | |
726 | 729 | | |
727 | 730 | | |
| |||
783 | 786 | | |
784 | 787 | | |
785 | 788 | | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | 789 | | |
792 | 790 | | |
793 | 791 | | |
| |||
804 | 802 | | |
805 | 803 | | |
806 | 804 | | |
807 | | - | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
808 | 810 | | |
809 | 811 | | |
810 | 812 | | |
| |||
825 | 827 | | |
826 | 828 | | |
827 | 829 | | |
828 | | - | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
829 | 836 | | |
830 | 837 | | |
831 | 838 | | |
| |||
0 commit comments