4 #ifndef _PIXEventsGenerated_H_ 5 #define _PIXEventsGenerated_H_ 8 #error Don't include this file directly - use pix3.h 11 #include "PIXEventsCommon.h" 17 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString)
19 UINT64 time = PIXEventsReplaceBlock(
false);
23 UINT64* destination = threadInfo->destination;
24 UINT64* limit = threadInfo->limit;
25 if (destination < limit)
27 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);
28 *destination++ = color;
30 PIXCopyEventArgument(destination, limit, formatString);
31 *destination = PIXEventsBlockEndMarker;
32 threadInfo->destination = destination;
38 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1)
40 UINT64 time = PIXEventsReplaceBlock(
false);
44 UINT64* destination = threadInfo->destination;
45 UINT64* limit = threadInfo->limit;
46 if (destination < limit)
48 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
49 *destination++ = color;
51 PIXCopyEventArgument(destination, limit, formatString);
52 PIXCopyEventArgument(destination, limit, a1);
53 *destination = PIXEventsBlockEndMarker;
54 threadInfo->destination = destination;
59 template<
class T1,
class T2>
60 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
62 UINT64 time = PIXEventsReplaceBlock(
false);
66 UINT64* destination = threadInfo->destination;
67 UINT64* limit = threadInfo->limit;
68 if (destination < limit)
70 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
71 *destination++ = color;
73 PIXCopyEventArgument(destination, limit, formatString);
74 PIXCopyEventArgument(destination, limit, a1);
75 PIXCopyEventArgument(destination, limit, a2);
76 *destination = PIXEventsBlockEndMarker;
77 threadInfo->destination = destination;
82 template<
class T1,
class T2,
class T3>
83 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
85 UINT64 time = PIXEventsReplaceBlock(
false);
89 UINT64* destination = threadInfo->destination;
90 UINT64* limit = threadInfo->limit;
91 if (destination < limit)
93 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
94 *destination++ = color;
96 PIXCopyEventArgument(destination, limit, formatString);
97 PIXCopyEventArgument(destination, limit, a1);
98 PIXCopyEventArgument(destination, limit, a2);
99 PIXCopyEventArgument(destination, limit, a3);
100 *destination = PIXEventsBlockEndMarker;
101 threadInfo->destination = destination;
106 template<
class T1,
class T2,
class T3,
class T4>
107 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
109 UINT64 time = PIXEventsReplaceBlock(
false);
113 UINT64* destination = threadInfo->destination;
114 UINT64* limit = threadInfo->limit;
115 if (destination < limit)
117 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
118 *destination++ = color;
120 PIXCopyEventArgument(destination, limit, formatString);
121 PIXCopyEventArgument(destination, limit, a1);
122 PIXCopyEventArgument(destination, limit, a2);
123 PIXCopyEventArgument(destination, limit, a3);
124 PIXCopyEventArgument(destination, limit, a4);
125 *destination = PIXEventsBlockEndMarker;
126 threadInfo->destination = destination;
131 template<
class T1,
class T2,
class T3,
class T4,
class T5>
132 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
134 UINT64 time = PIXEventsReplaceBlock(
false);
138 UINT64* destination = threadInfo->destination;
139 UINT64* limit = threadInfo->limit;
140 if (destination < limit)
142 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
143 *destination++ = color;
145 PIXCopyEventArgument(destination, limit, formatString);
146 PIXCopyEventArgument(destination, limit, a1);
147 PIXCopyEventArgument(destination, limit, a2);
148 PIXCopyEventArgument(destination, limit, a3);
149 PIXCopyEventArgument(destination, limit, a4);
150 PIXCopyEventArgument(destination, limit, a5);
151 *destination = PIXEventsBlockEndMarker;
152 threadInfo->destination = destination;
157 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
158 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
160 UINT64 time = PIXEventsReplaceBlock(
false);
164 UINT64* destination = threadInfo->destination;
165 UINT64* limit = threadInfo->limit;
166 if (destination < limit)
168 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
169 *destination++ = color;
171 PIXCopyEventArgument(destination, limit, formatString);
172 PIXCopyEventArgument(destination, limit, a1);
173 PIXCopyEventArgument(destination, limit, a2);
174 PIXCopyEventArgument(destination, limit, a3);
175 PIXCopyEventArgument(destination, limit, a4);
176 PIXCopyEventArgument(destination, limit, a5);
177 PIXCopyEventArgument(destination, limit, a6);
178 *destination = PIXEventsBlockEndMarker;
179 threadInfo->destination = destination;
184 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
185 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
187 UINT64 time = PIXEventsReplaceBlock(
false);
191 UINT64* destination = threadInfo->destination;
192 UINT64* limit = threadInfo->limit;
193 if (destination < limit)
195 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
196 *destination++ = color;
198 PIXCopyEventArgument(destination, limit, formatString);
199 PIXCopyEventArgument(destination, limit, a1);
200 PIXCopyEventArgument(destination, limit, a2);
201 PIXCopyEventArgument(destination, limit, a3);
202 PIXCopyEventArgument(destination, limit, a4);
203 PIXCopyEventArgument(destination, limit, a5);
204 PIXCopyEventArgument(destination, limit, a6);
205 PIXCopyEventArgument(destination, limit, a7);
206 *destination = PIXEventsBlockEndMarker;
207 threadInfo->destination = destination;
212 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
213 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
215 UINT64 time = PIXEventsReplaceBlock(
false);
219 UINT64* destination = threadInfo->destination;
220 UINT64* limit = threadInfo->limit;
221 if (destination < limit)
223 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
224 *destination++ = color;
226 PIXCopyEventArgument(destination, limit, formatString);
227 PIXCopyEventArgument(destination, limit, a1);
228 PIXCopyEventArgument(destination, limit, a2);
229 PIXCopyEventArgument(destination, limit, a3);
230 PIXCopyEventArgument(destination, limit, a4);
231 PIXCopyEventArgument(destination, limit, a5);
232 PIXCopyEventArgument(destination, limit, a6);
233 PIXCopyEventArgument(destination, limit, a7);
234 PIXCopyEventArgument(destination, limit, a8);
235 *destination = PIXEventsBlockEndMarker;
236 threadInfo->destination = destination;
241 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
242 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
244 UINT64 time = PIXEventsReplaceBlock(
false);
248 UINT64* destination = threadInfo->destination;
249 UINT64* limit = threadInfo->limit;
250 if (destination < limit)
252 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
253 *destination++ = color;
255 PIXCopyEventArgument(destination, limit, formatString);
256 PIXCopyEventArgument(destination, limit, a1);
257 PIXCopyEventArgument(destination, limit, a2);
258 PIXCopyEventArgument(destination, limit, a3);
259 PIXCopyEventArgument(destination, limit, a4);
260 PIXCopyEventArgument(destination, limit, a5);
261 PIXCopyEventArgument(destination, limit, a6);
262 PIXCopyEventArgument(destination, limit, a7);
263 PIXCopyEventArgument(destination, limit, a8);
264 PIXCopyEventArgument(destination, limit, a9);
265 *destination = PIXEventsBlockEndMarker;
266 threadInfo->destination = destination;
271 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
272 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
274 UINT64 time = PIXEventsReplaceBlock(
false);
278 UINT64* destination = threadInfo->destination;
279 UINT64* limit = threadInfo->limit;
280 if (destination < limit)
282 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
283 *destination++ = color;
285 PIXCopyEventArgument(destination, limit, formatString);
286 PIXCopyEventArgument(destination, limit, a1);
287 PIXCopyEventArgument(destination, limit, a2);
288 PIXCopyEventArgument(destination, limit, a3);
289 PIXCopyEventArgument(destination, limit, a4);
290 PIXCopyEventArgument(destination, limit, a5);
291 PIXCopyEventArgument(destination, limit, a6);
292 PIXCopyEventArgument(destination, limit, a7);
293 PIXCopyEventArgument(destination, limit, a8);
294 PIXCopyEventArgument(destination, limit, a9);
295 PIXCopyEventArgument(destination, limit, a10);
296 *destination = PIXEventsBlockEndMarker;
297 threadInfo->destination = destination;
302 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
303 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
305 UINT64 time = PIXEventsReplaceBlock(
false);
309 UINT64* destination = threadInfo->destination;
310 UINT64* limit = threadInfo->limit;
311 if (destination < limit)
313 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
314 *destination++ = color;
316 PIXCopyEventArgument(destination, limit, formatString);
317 PIXCopyEventArgument(destination, limit, a1);
318 PIXCopyEventArgument(destination, limit, a2);
319 PIXCopyEventArgument(destination, limit, a3);
320 PIXCopyEventArgument(destination, limit, a4);
321 PIXCopyEventArgument(destination, limit, a5);
322 PIXCopyEventArgument(destination, limit, a6);
323 PIXCopyEventArgument(destination, limit, a7);
324 PIXCopyEventArgument(destination, limit, a8);
325 PIXCopyEventArgument(destination, limit, a9);
326 PIXCopyEventArgument(destination, limit, a10);
327 PIXCopyEventArgument(destination, limit, a11);
328 *destination = PIXEventsBlockEndMarker;
329 threadInfo->destination = destination;
334 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
335 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
337 UINT64 time = PIXEventsReplaceBlock(
false);
341 UINT64* destination = threadInfo->destination;
342 UINT64* limit = threadInfo->limit;
343 if (destination < limit)
345 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
346 *destination++ = color;
348 PIXCopyEventArgument(destination, limit, formatString);
349 PIXCopyEventArgument(destination, limit, a1);
350 PIXCopyEventArgument(destination, limit, a2);
351 PIXCopyEventArgument(destination, limit, a3);
352 PIXCopyEventArgument(destination, limit, a4);
353 PIXCopyEventArgument(destination, limit, a5);
354 PIXCopyEventArgument(destination, limit, a6);
355 PIXCopyEventArgument(destination, limit, a7);
356 PIXCopyEventArgument(destination, limit, a8);
357 PIXCopyEventArgument(destination, limit, a9);
358 PIXCopyEventArgument(destination, limit, a10);
359 PIXCopyEventArgument(destination, limit, a11);
360 PIXCopyEventArgument(destination, limit, a12);
361 *destination = PIXEventsBlockEndMarker;
362 threadInfo->destination = destination;
367 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
368 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
370 UINT64 time = PIXEventsReplaceBlock(
false);
374 UINT64* destination = threadInfo->destination;
375 UINT64* limit = threadInfo->limit;
376 if (destination < limit)
378 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
379 *destination++ = color;
381 PIXCopyEventArgument(destination, limit, formatString);
382 PIXCopyEventArgument(destination, limit, a1);
383 PIXCopyEventArgument(destination, limit, a2);
384 PIXCopyEventArgument(destination, limit, a3);
385 PIXCopyEventArgument(destination, limit, a4);
386 PIXCopyEventArgument(destination, limit, a5);
387 PIXCopyEventArgument(destination, limit, a6);
388 PIXCopyEventArgument(destination, limit, a7);
389 PIXCopyEventArgument(destination, limit, a8);
390 PIXCopyEventArgument(destination, limit, a9);
391 PIXCopyEventArgument(destination, limit, a10);
392 PIXCopyEventArgument(destination, limit, a11);
393 PIXCopyEventArgument(destination, limit, a12);
394 PIXCopyEventArgument(destination, limit, a13);
395 *destination = PIXEventsBlockEndMarker;
396 threadInfo->destination = destination;
401 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
402 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
404 UINT64 time = PIXEventsReplaceBlock(
false);
408 UINT64* destination = threadInfo->destination;
409 UINT64* limit = threadInfo->limit;
410 if (destination < limit)
412 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
413 *destination++ = color;
415 PIXCopyEventArgument(destination, limit, formatString);
416 PIXCopyEventArgument(destination, limit, a1);
417 PIXCopyEventArgument(destination, limit, a2);
418 PIXCopyEventArgument(destination, limit, a3);
419 PIXCopyEventArgument(destination, limit, a4);
420 PIXCopyEventArgument(destination, limit, a5);
421 PIXCopyEventArgument(destination, limit, a6);
422 PIXCopyEventArgument(destination, limit, a7);
423 PIXCopyEventArgument(destination, limit, a8);
424 PIXCopyEventArgument(destination, limit, a9);
425 PIXCopyEventArgument(destination, limit, a10);
426 PIXCopyEventArgument(destination, limit, a11);
427 PIXCopyEventArgument(destination, limit, a12);
428 PIXCopyEventArgument(destination, limit, a13);
429 PIXCopyEventArgument(destination, limit, a14);
430 *destination = PIXEventsBlockEndMarker;
431 threadInfo->destination = destination;
436 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
437 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
439 UINT64 time = PIXEventsReplaceBlock(
false);
443 UINT64* destination = threadInfo->destination;
444 UINT64* limit = threadInfo->limit;
445 if (destination < limit)
447 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
448 *destination++ = color;
450 PIXCopyEventArgument(destination, limit, formatString);
451 PIXCopyEventArgument(destination, limit, a1);
452 PIXCopyEventArgument(destination, limit, a2);
453 PIXCopyEventArgument(destination, limit, a3);
454 PIXCopyEventArgument(destination, limit, a4);
455 PIXCopyEventArgument(destination, limit, a5);
456 PIXCopyEventArgument(destination, limit, a6);
457 PIXCopyEventArgument(destination, limit, a7);
458 PIXCopyEventArgument(destination, limit, a8);
459 PIXCopyEventArgument(destination, limit, a9);
460 PIXCopyEventArgument(destination, limit, a10);
461 PIXCopyEventArgument(destination, limit, a11);
462 PIXCopyEventArgument(destination, limit, a12);
463 PIXCopyEventArgument(destination, limit, a13);
464 PIXCopyEventArgument(destination, limit, a14);
465 PIXCopyEventArgument(destination, limit, a15);
466 *destination = PIXEventsBlockEndMarker;
467 threadInfo->destination = destination;
472 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
473 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
475 UINT64 time = PIXEventsReplaceBlock(
false);
479 UINT64* destination = threadInfo->destination;
480 UINT64* limit = threadInfo->limit;
481 if (destination < limit)
483 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
484 *destination++ = color;
486 PIXCopyEventArgument(destination, limit, formatString);
487 PIXCopyEventArgument(destination, limit, a1);
488 PIXCopyEventArgument(destination, limit, a2);
489 PIXCopyEventArgument(destination, limit, a3);
490 PIXCopyEventArgument(destination, limit, a4);
491 PIXCopyEventArgument(destination, limit, a5);
492 PIXCopyEventArgument(destination, limit, a6);
493 PIXCopyEventArgument(destination, limit, a7);
494 PIXCopyEventArgument(destination, limit, a8);
495 PIXCopyEventArgument(destination, limit, a9);
496 PIXCopyEventArgument(destination, limit, a10);
497 PIXCopyEventArgument(destination, limit, a11);
498 PIXCopyEventArgument(destination, limit, a12);
499 PIXCopyEventArgument(destination, limit, a13);
500 PIXCopyEventArgument(destination, limit, a14);
501 PIXCopyEventArgument(destination, limit, a15);
502 PIXCopyEventArgument(destination, limit, a16);
503 *destination = PIXEventsBlockEndMarker;
504 threadInfo->destination = destination;
509 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString)
511 UINT64 time = PIXEventsReplaceBlock(
false);
515 UINT64* destination = threadInfo->destination;
516 UINT64* limit = threadInfo->limit;
517 if (destination < limit)
519 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);
520 *destination++ = color;
522 PIXCopyEventArgument(destination, limit, formatString);
523 *destination = PIXEventsBlockEndMarker;
524 threadInfo->destination = destination;
530 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1)
532 UINT64 time = PIXEventsReplaceBlock(
false);
536 UINT64* destination = threadInfo->destination;
537 UINT64* limit = threadInfo->limit;
538 if (destination < limit)
540 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
541 *destination++ = color;
543 PIXCopyEventArgument(destination, limit, formatString);
544 PIXCopyEventArgument(destination, limit, a1);
545 *destination = PIXEventsBlockEndMarker;
546 threadInfo->destination = destination;
551 template<
class T1,
class T2>
552 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
554 UINT64 time = PIXEventsReplaceBlock(
false);
558 UINT64* destination = threadInfo->destination;
559 UINT64* limit = threadInfo->limit;
560 if (destination < limit)
562 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
563 *destination++ = color;
565 PIXCopyEventArgument(destination, limit, formatString);
566 PIXCopyEventArgument(destination, limit, a1);
567 PIXCopyEventArgument(destination, limit, a2);
568 *destination = PIXEventsBlockEndMarker;
569 threadInfo->destination = destination;
574 template<
class T1,
class T2,
class T3>
575 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
577 UINT64 time = PIXEventsReplaceBlock(
false);
581 UINT64* destination = threadInfo->destination;
582 UINT64* limit = threadInfo->limit;
583 if (destination < limit)
585 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
586 *destination++ = color;
588 PIXCopyEventArgument(destination, limit, formatString);
589 PIXCopyEventArgument(destination, limit, a1);
590 PIXCopyEventArgument(destination, limit, a2);
591 PIXCopyEventArgument(destination, limit, a3);
592 *destination = PIXEventsBlockEndMarker;
593 threadInfo->destination = destination;
598 template<
class T1,
class T2,
class T3,
class T4>
599 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
601 UINT64 time = PIXEventsReplaceBlock(
false);
605 UINT64* destination = threadInfo->destination;
606 UINT64* limit = threadInfo->limit;
607 if (destination < limit)
609 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
610 *destination++ = color;
612 PIXCopyEventArgument(destination, limit, formatString);
613 PIXCopyEventArgument(destination, limit, a1);
614 PIXCopyEventArgument(destination, limit, a2);
615 PIXCopyEventArgument(destination, limit, a3);
616 PIXCopyEventArgument(destination, limit, a4);
617 *destination = PIXEventsBlockEndMarker;
618 threadInfo->destination = destination;
623 template<
class T1,
class T2,
class T3,
class T4,
class T5>
624 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
626 UINT64 time = PIXEventsReplaceBlock(
false);
630 UINT64* destination = threadInfo->destination;
631 UINT64* limit = threadInfo->limit;
632 if (destination < limit)
634 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
635 *destination++ = color;
637 PIXCopyEventArgument(destination, limit, formatString);
638 PIXCopyEventArgument(destination, limit, a1);
639 PIXCopyEventArgument(destination, limit, a2);
640 PIXCopyEventArgument(destination, limit, a3);
641 PIXCopyEventArgument(destination, limit, a4);
642 PIXCopyEventArgument(destination, limit, a5);
643 *destination = PIXEventsBlockEndMarker;
644 threadInfo->destination = destination;
649 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
650 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
652 UINT64 time = PIXEventsReplaceBlock(
false);
656 UINT64* destination = threadInfo->destination;
657 UINT64* limit = threadInfo->limit;
658 if (destination < limit)
660 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
661 *destination++ = color;
663 PIXCopyEventArgument(destination, limit, formatString);
664 PIXCopyEventArgument(destination, limit, a1);
665 PIXCopyEventArgument(destination, limit, a2);
666 PIXCopyEventArgument(destination, limit, a3);
667 PIXCopyEventArgument(destination, limit, a4);
668 PIXCopyEventArgument(destination, limit, a5);
669 PIXCopyEventArgument(destination, limit, a6);
670 *destination = PIXEventsBlockEndMarker;
671 threadInfo->destination = destination;
676 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
677 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
679 UINT64 time = PIXEventsReplaceBlock(
false);
683 UINT64* destination = threadInfo->destination;
684 UINT64* limit = threadInfo->limit;
685 if (destination < limit)
687 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
688 *destination++ = color;
690 PIXCopyEventArgument(destination, limit, formatString);
691 PIXCopyEventArgument(destination, limit, a1);
692 PIXCopyEventArgument(destination, limit, a2);
693 PIXCopyEventArgument(destination, limit, a3);
694 PIXCopyEventArgument(destination, limit, a4);
695 PIXCopyEventArgument(destination, limit, a5);
696 PIXCopyEventArgument(destination, limit, a6);
697 PIXCopyEventArgument(destination, limit, a7);
698 *destination = PIXEventsBlockEndMarker;
699 threadInfo->destination = destination;
704 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
705 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
707 UINT64 time = PIXEventsReplaceBlock(
false);
711 UINT64* destination = threadInfo->destination;
712 UINT64* limit = threadInfo->limit;
713 if (destination < limit)
715 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
716 *destination++ = color;
718 PIXCopyEventArgument(destination, limit, formatString);
719 PIXCopyEventArgument(destination, limit, a1);
720 PIXCopyEventArgument(destination, limit, a2);
721 PIXCopyEventArgument(destination, limit, a3);
722 PIXCopyEventArgument(destination, limit, a4);
723 PIXCopyEventArgument(destination, limit, a5);
724 PIXCopyEventArgument(destination, limit, a6);
725 PIXCopyEventArgument(destination, limit, a7);
726 PIXCopyEventArgument(destination, limit, a8);
727 *destination = PIXEventsBlockEndMarker;
728 threadInfo->destination = destination;
733 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
734 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
736 UINT64 time = PIXEventsReplaceBlock(
false);
740 UINT64* destination = threadInfo->destination;
741 UINT64* limit = threadInfo->limit;
742 if (destination < limit)
744 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
745 *destination++ = color;
747 PIXCopyEventArgument(destination, limit, formatString);
748 PIXCopyEventArgument(destination, limit, a1);
749 PIXCopyEventArgument(destination, limit, a2);
750 PIXCopyEventArgument(destination, limit, a3);
751 PIXCopyEventArgument(destination, limit, a4);
752 PIXCopyEventArgument(destination, limit, a5);
753 PIXCopyEventArgument(destination, limit, a6);
754 PIXCopyEventArgument(destination, limit, a7);
755 PIXCopyEventArgument(destination, limit, a8);
756 PIXCopyEventArgument(destination, limit, a9);
757 *destination = PIXEventsBlockEndMarker;
758 threadInfo->destination = destination;
763 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
764 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
766 UINT64 time = PIXEventsReplaceBlock(
false);
770 UINT64* destination = threadInfo->destination;
771 UINT64* limit = threadInfo->limit;
772 if (destination < limit)
774 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
775 *destination++ = color;
777 PIXCopyEventArgument(destination, limit, formatString);
778 PIXCopyEventArgument(destination, limit, a1);
779 PIXCopyEventArgument(destination, limit, a2);
780 PIXCopyEventArgument(destination, limit, a3);
781 PIXCopyEventArgument(destination, limit, a4);
782 PIXCopyEventArgument(destination, limit, a5);
783 PIXCopyEventArgument(destination, limit, a6);
784 PIXCopyEventArgument(destination, limit, a7);
785 PIXCopyEventArgument(destination, limit, a8);
786 PIXCopyEventArgument(destination, limit, a9);
787 PIXCopyEventArgument(destination, limit, a10);
788 *destination = PIXEventsBlockEndMarker;
789 threadInfo->destination = destination;
794 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
795 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
797 UINT64 time = PIXEventsReplaceBlock(
false);
801 UINT64* destination = threadInfo->destination;
802 UINT64* limit = threadInfo->limit;
803 if (destination < limit)
805 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
806 *destination++ = color;
808 PIXCopyEventArgument(destination, limit, formatString);
809 PIXCopyEventArgument(destination, limit, a1);
810 PIXCopyEventArgument(destination, limit, a2);
811 PIXCopyEventArgument(destination, limit, a3);
812 PIXCopyEventArgument(destination, limit, a4);
813 PIXCopyEventArgument(destination, limit, a5);
814 PIXCopyEventArgument(destination, limit, a6);
815 PIXCopyEventArgument(destination, limit, a7);
816 PIXCopyEventArgument(destination, limit, a8);
817 PIXCopyEventArgument(destination, limit, a9);
818 PIXCopyEventArgument(destination, limit, a10);
819 PIXCopyEventArgument(destination, limit, a11);
820 *destination = PIXEventsBlockEndMarker;
821 threadInfo->destination = destination;
826 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
827 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
829 UINT64 time = PIXEventsReplaceBlock(
false);
833 UINT64* destination = threadInfo->destination;
834 UINT64* limit = threadInfo->limit;
835 if (destination < limit)
837 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
838 *destination++ = color;
840 PIXCopyEventArgument(destination, limit, formatString);
841 PIXCopyEventArgument(destination, limit, a1);
842 PIXCopyEventArgument(destination, limit, a2);
843 PIXCopyEventArgument(destination, limit, a3);
844 PIXCopyEventArgument(destination, limit, a4);
845 PIXCopyEventArgument(destination, limit, a5);
846 PIXCopyEventArgument(destination, limit, a6);
847 PIXCopyEventArgument(destination, limit, a7);
848 PIXCopyEventArgument(destination, limit, a8);
849 PIXCopyEventArgument(destination, limit, a9);
850 PIXCopyEventArgument(destination, limit, a10);
851 PIXCopyEventArgument(destination, limit, a11);
852 PIXCopyEventArgument(destination, limit, a12);
853 *destination = PIXEventsBlockEndMarker;
854 threadInfo->destination = destination;
859 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
860 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
862 UINT64 time = PIXEventsReplaceBlock(
false);
866 UINT64* destination = threadInfo->destination;
867 UINT64* limit = threadInfo->limit;
868 if (destination < limit)
870 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
871 *destination++ = color;
873 PIXCopyEventArgument(destination, limit, formatString);
874 PIXCopyEventArgument(destination, limit, a1);
875 PIXCopyEventArgument(destination, limit, a2);
876 PIXCopyEventArgument(destination, limit, a3);
877 PIXCopyEventArgument(destination, limit, a4);
878 PIXCopyEventArgument(destination, limit, a5);
879 PIXCopyEventArgument(destination, limit, a6);
880 PIXCopyEventArgument(destination, limit, a7);
881 PIXCopyEventArgument(destination, limit, a8);
882 PIXCopyEventArgument(destination, limit, a9);
883 PIXCopyEventArgument(destination, limit, a10);
884 PIXCopyEventArgument(destination, limit, a11);
885 PIXCopyEventArgument(destination, limit, a12);
886 PIXCopyEventArgument(destination, limit, a13);
887 *destination = PIXEventsBlockEndMarker;
888 threadInfo->destination = destination;
893 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
894 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
896 UINT64 time = PIXEventsReplaceBlock(
false);
900 UINT64* destination = threadInfo->destination;
901 UINT64* limit = threadInfo->limit;
902 if (destination < limit)
904 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
905 *destination++ = color;
907 PIXCopyEventArgument(destination, limit, formatString);
908 PIXCopyEventArgument(destination, limit, a1);
909 PIXCopyEventArgument(destination, limit, a2);
910 PIXCopyEventArgument(destination, limit, a3);
911 PIXCopyEventArgument(destination, limit, a4);
912 PIXCopyEventArgument(destination, limit, a5);
913 PIXCopyEventArgument(destination, limit, a6);
914 PIXCopyEventArgument(destination, limit, a7);
915 PIXCopyEventArgument(destination, limit, a8);
916 PIXCopyEventArgument(destination, limit, a9);
917 PIXCopyEventArgument(destination, limit, a10);
918 PIXCopyEventArgument(destination, limit, a11);
919 PIXCopyEventArgument(destination, limit, a12);
920 PIXCopyEventArgument(destination, limit, a13);
921 PIXCopyEventArgument(destination, limit, a14);
922 *destination = PIXEventsBlockEndMarker;
923 threadInfo->destination = destination;
928 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
929 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
931 UINT64 time = PIXEventsReplaceBlock(
false);
935 UINT64* destination = threadInfo->destination;
936 UINT64* limit = threadInfo->limit;
937 if (destination < limit)
939 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
940 *destination++ = color;
942 PIXCopyEventArgument(destination, limit, formatString);
943 PIXCopyEventArgument(destination, limit, a1);
944 PIXCopyEventArgument(destination, limit, a2);
945 PIXCopyEventArgument(destination, limit, a3);
946 PIXCopyEventArgument(destination, limit, a4);
947 PIXCopyEventArgument(destination, limit, a5);
948 PIXCopyEventArgument(destination, limit, a6);
949 PIXCopyEventArgument(destination, limit, a7);
950 PIXCopyEventArgument(destination, limit, a8);
951 PIXCopyEventArgument(destination, limit, a9);
952 PIXCopyEventArgument(destination, limit, a10);
953 PIXCopyEventArgument(destination, limit, a11);
954 PIXCopyEventArgument(destination, limit, a12);
955 PIXCopyEventArgument(destination, limit, a13);
956 PIXCopyEventArgument(destination, limit, a14);
957 PIXCopyEventArgument(destination, limit, a15);
958 *destination = PIXEventsBlockEndMarker;
959 threadInfo->destination = destination;
964 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
965 __declspec(noinline) inline
void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
967 UINT64 time = PIXEventsReplaceBlock(
false);
971 UINT64* destination = threadInfo->destination;
972 UINT64* limit = threadInfo->limit;
973 if (destination < limit)
975 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
976 *destination++ = color;
978 PIXCopyEventArgument(destination, limit, formatString);
979 PIXCopyEventArgument(destination, limit, a1);
980 PIXCopyEventArgument(destination, limit, a2);
981 PIXCopyEventArgument(destination, limit, a3);
982 PIXCopyEventArgument(destination, limit, a4);
983 PIXCopyEventArgument(destination, limit, a5);
984 PIXCopyEventArgument(destination, limit, a6);
985 PIXCopyEventArgument(destination, limit, a7);
986 PIXCopyEventArgument(destination, limit, a8);
987 PIXCopyEventArgument(destination, limit, a9);
988 PIXCopyEventArgument(destination, limit, a10);
989 PIXCopyEventArgument(destination, limit, a11);
990 PIXCopyEventArgument(destination, limit, a12);
991 PIXCopyEventArgument(destination, limit, a13);
992 PIXCopyEventArgument(destination, limit, a14);
993 PIXCopyEventArgument(destination, limit, a15);
994 PIXCopyEventArgument(destination, limit, a16);
995 *destination = PIXEventsBlockEndMarker;
996 threadInfo->destination = destination;
1001 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString)
1004 UINT64* destination = threadInfo->destination;
1005 UINT64* limit = threadInfo->biasedLimit;
1006 if (destination < limit)
1008 limit += PIXEventsSafeFastCopySpaceQwords;
1009 UINT64 time = PIXGetTimestampCounter();
1010 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);
1011 *destination++ = color;
1013 PIXCopyEventArgument(destination, limit, formatString);
1015 *destination = PIXEventsBlockEndMarker;
1016 threadInfo->destination = destination;
1018 else if (limit !=
nullptr)
1020 PIXBeginEventAllocate(color, formatString);
1025 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1)
1028 UINT64* destination = threadInfo->destination;
1029 UINT64* limit = threadInfo->biasedLimit;
1030 if (destination < limit)
1032 limit += PIXEventsSafeFastCopySpaceQwords;
1033 UINT64 time = PIXGetTimestampCounter();
1034 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1035 *destination++ = color;
1037 PIXCopyEventArgument(destination, limit, formatString);
1038 PIXCopyEventArgument(destination, limit, a1);
1040 *destination = PIXEventsBlockEndMarker;
1041 threadInfo->destination = destination;
1043 else if (limit !=
nullptr)
1045 PIXBeginEventAllocate(color, formatString, a1);
1049 template<
class T1,
class T2>
1050 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
1053 UINT64* destination = threadInfo->destination;
1054 UINT64* limit = threadInfo->biasedLimit;
1055 if (destination < limit)
1057 limit += PIXEventsSafeFastCopySpaceQwords;
1058 UINT64 time = PIXGetTimestampCounter();
1059 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1060 *destination++ = color;
1062 PIXCopyEventArgument(destination, limit, formatString);
1063 PIXCopyEventArgument(destination, limit, a1);
1064 PIXCopyEventArgument(destination, limit, a2);
1066 *destination = PIXEventsBlockEndMarker;
1067 threadInfo->destination = destination;
1069 else if (limit !=
nullptr)
1071 PIXBeginEventAllocate(color, formatString, a1, a2);
1075 template<
class T1,
class T2,
class T3>
1076 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
1079 UINT64* destination = threadInfo->destination;
1080 UINT64* limit = threadInfo->biasedLimit;
1081 if (destination < limit)
1083 limit += PIXEventsSafeFastCopySpaceQwords;
1084 UINT64 time = PIXGetTimestampCounter();
1085 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1086 *destination++ = color;
1088 PIXCopyEventArgument(destination, limit, formatString);
1089 PIXCopyEventArgument(destination, limit, a1);
1090 PIXCopyEventArgument(destination, limit, a2);
1091 PIXCopyEventArgument(destination, limit, a3);
1093 *destination = PIXEventsBlockEndMarker;
1094 threadInfo->destination = destination;
1096 else if (limit !=
nullptr)
1098 PIXBeginEventAllocate(color, formatString, a1, a2, a3);
1102 template<
class T1,
class T2,
class T3,
class T4>
1103 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
1106 UINT64* destination = threadInfo->destination;
1107 UINT64* limit = threadInfo->biasedLimit;
1108 if (destination < limit)
1110 limit += PIXEventsSafeFastCopySpaceQwords;
1111 UINT64 time = PIXGetTimestampCounter();
1112 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1113 *destination++ = color;
1115 PIXCopyEventArgument(destination, limit, formatString);
1116 PIXCopyEventArgument(destination, limit, a1);
1117 PIXCopyEventArgument(destination, limit, a2);
1118 PIXCopyEventArgument(destination, limit, a3);
1119 PIXCopyEventArgument(destination, limit, a4);
1121 *destination = PIXEventsBlockEndMarker;
1122 threadInfo->destination = destination;
1124 else if (limit !=
nullptr)
1126 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4);
1130 template<
class T1,
class T2,
class T3,
class T4,
class T5>
1131 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1134 UINT64* destination = threadInfo->destination;
1135 UINT64* limit = threadInfo->biasedLimit;
1136 if (destination < limit)
1138 limit += PIXEventsSafeFastCopySpaceQwords;
1139 UINT64 time = PIXGetTimestampCounter();
1140 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1141 *destination++ = color;
1143 PIXCopyEventArgument(destination, limit, formatString);
1144 PIXCopyEventArgument(destination, limit, a1);
1145 PIXCopyEventArgument(destination, limit, a2);
1146 PIXCopyEventArgument(destination, limit, a3);
1147 PIXCopyEventArgument(destination, limit, a4);
1148 PIXCopyEventArgument(destination, limit, a5);
1150 *destination = PIXEventsBlockEndMarker;
1151 threadInfo->destination = destination;
1153 else if (limit !=
nullptr)
1155 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5);
1159 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
1160 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
1163 UINT64* destination = threadInfo->destination;
1164 UINT64* limit = threadInfo->biasedLimit;
1165 if (destination < limit)
1167 limit += PIXEventsSafeFastCopySpaceQwords;
1168 UINT64 time = PIXGetTimestampCounter();
1169 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1170 *destination++ = color;
1172 PIXCopyEventArgument(destination, limit, formatString);
1173 PIXCopyEventArgument(destination, limit, a1);
1174 PIXCopyEventArgument(destination, limit, a2);
1175 PIXCopyEventArgument(destination, limit, a3);
1176 PIXCopyEventArgument(destination, limit, a4);
1177 PIXCopyEventArgument(destination, limit, a5);
1178 PIXCopyEventArgument(destination, limit, a6);
1180 *destination = PIXEventsBlockEndMarker;
1181 threadInfo->destination = destination;
1183 else if (limit !=
nullptr)
1185 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6);
1189 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
1190 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
1193 UINT64* destination = threadInfo->destination;
1194 UINT64* limit = threadInfo->biasedLimit;
1195 if (destination < limit)
1197 limit += PIXEventsSafeFastCopySpaceQwords;
1198 UINT64 time = PIXGetTimestampCounter();
1199 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1200 *destination++ = color;
1202 PIXCopyEventArgument(destination, limit, formatString);
1203 PIXCopyEventArgument(destination, limit, a1);
1204 PIXCopyEventArgument(destination, limit, a2);
1205 PIXCopyEventArgument(destination, limit, a3);
1206 PIXCopyEventArgument(destination, limit, a4);
1207 PIXCopyEventArgument(destination, limit, a5);
1208 PIXCopyEventArgument(destination, limit, a6);
1209 PIXCopyEventArgument(destination, limit, a7);
1211 *destination = PIXEventsBlockEndMarker;
1212 threadInfo->destination = destination;
1214 else if (limit !=
nullptr)
1216 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);
1220 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
1221 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
1224 UINT64* destination = threadInfo->destination;
1225 UINT64* limit = threadInfo->biasedLimit;
1226 if (destination < limit)
1228 limit += PIXEventsSafeFastCopySpaceQwords;
1229 UINT64 time = PIXGetTimestampCounter();
1230 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1231 *destination++ = color;
1233 PIXCopyEventArgument(destination, limit, formatString);
1234 PIXCopyEventArgument(destination, limit, a1);
1235 PIXCopyEventArgument(destination, limit, a2);
1236 PIXCopyEventArgument(destination, limit, a3);
1237 PIXCopyEventArgument(destination, limit, a4);
1238 PIXCopyEventArgument(destination, limit, a5);
1239 PIXCopyEventArgument(destination, limit, a6);
1240 PIXCopyEventArgument(destination, limit, a7);
1241 PIXCopyEventArgument(destination, limit, a8);
1243 *destination = PIXEventsBlockEndMarker;
1244 threadInfo->destination = destination;
1246 else if (limit !=
nullptr)
1248 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
1252 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
1253 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
1256 UINT64* destination = threadInfo->destination;
1257 UINT64* limit = threadInfo->biasedLimit;
1258 if (destination < limit)
1260 limit += PIXEventsSafeFastCopySpaceQwords;
1261 UINT64 time = PIXGetTimestampCounter();
1262 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1263 *destination++ = color;
1265 PIXCopyEventArgument(destination, limit, formatString);
1266 PIXCopyEventArgument(destination, limit, a1);
1267 PIXCopyEventArgument(destination, limit, a2);
1268 PIXCopyEventArgument(destination, limit, a3);
1269 PIXCopyEventArgument(destination, limit, a4);
1270 PIXCopyEventArgument(destination, limit, a5);
1271 PIXCopyEventArgument(destination, limit, a6);
1272 PIXCopyEventArgument(destination, limit, a7);
1273 PIXCopyEventArgument(destination, limit, a8);
1274 PIXCopyEventArgument(destination, limit, a9);
1276 *destination = PIXEventsBlockEndMarker;
1277 threadInfo->destination = destination;
1279 else if (limit !=
nullptr)
1281 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1285 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
1286 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
1289 UINT64* destination = threadInfo->destination;
1290 UINT64* limit = threadInfo->biasedLimit;
1291 if (destination < limit)
1293 limit += PIXEventsSafeFastCopySpaceQwords;
1294 UINT64 time = PIXGetTimestampCounter();
1295 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1296 *destination++ = color;
1298 PIXCopyEventArgument(destination, limit, formatString);
1299 PIXCopyEventArgument(destination, limit, a1);
1300 PIXCopyEventArgument(destination, limit, a2);
1301 PIXCopyEventArgument(destination, limit, a3);
1302 PIXCopyEventArgument(destination, limit, a4);
1303 PIXCopyEventArgument(destination, limit, a5);
1304 PIXCopyEventArgument(destination, limit, a6);
1305 PIXCopyEventArgument(destination, limit, a7);
1306 PIXCopyEventArgument(destination, limit, a8);
1307 PIXCopyEventArgument(destination, limit, a9);
1308 PIXCopyEventArgument(destination, limit, a10);
1310 *destination = PIXEventsBlockEndMarker;
1311 threadInfo->destination = destination;
1313 else if (limit !=
nullptr)
1315 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1319 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
1320 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
1323 UINT64* destination = threadInfo->destination;
1324 UINT64* limit = threadInfo->biasedLimit;
1325 if (destination < limit)
1327 limit += PIXEventsSafeFastCopySpaceQwords;
1328 UINT64 time = PIXGetTimestampCounter();
1329 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1330 *destination++ = color;
1332 PIXCopyEventArgument(destination, limit, formatString);
1333 PIXCopyEventArgument(destination, limit, a1);
1334 PIXCopyEventArgument(destination, limit, a2);
1335 PIXCopyEventArgument(destination, limit, a3);
1336 PIXCopyEventArgument(destination, limit, a4);
1337 PIXCopyEventArgument(destination, limit, a5);
1338 PIXCopyEventArgument(destination, limit, a6);
1339 PIXCopyEventArgument(destination, limit, a7);
1340 PIXCopyEventArgument(destination, limit, a8);
1341 PIXCopyEventArgument(destination, limit, a9);
1342 PIXCopyEventArgument(destination, limit, a10);
1343 PIXCopyEventArgument(destination, limit, a11);
1345 *destination = PIXEventsBlockEndMarker;
1346 threadInfo->destination = destination;
1348 else if (limit !=
nullptr)
1350 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
1354 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
1355 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
1358 UINT64* destination = threadInfo->destination;
1359 UINT64* limit = threadInfo->biasedLimit;
1360 if (destination < limit)
1362 limit += PIXEventsSafeFastCopySpaceQwords;
1363 UINT64 time = PIXGetTimestampCounter();
1364 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1365 *destination++ = color;
1367 PIXCopyEventArgument(destination, limit, formatString);
1368 PIXCopyEventArgument(destination, limit, a1);
1369 PIXCopyEventArgument(destination, limit, a2);
1370 PIXCopyEventArgument(destination, limit, a3);
1371 PIXCopyEventArgument(destination, limit, a4);
1372 PIXCopyEventArgument(destination, limit, a5);
1373 PIXCopyEventArgument(destination, limit, a6);
1374 PIXCopyEventArgument(destination, limit, a7);
1375 PIXCopyEventArgument(destination, limit, a8);
1376 PIXCopyEventArgument(destination, limit, a9);
1377 PIXCopyEventArgument(destination, limit, a10);
1378 PIXCopyEventArgument(destination, limit, a11);
1379 PIXCopyEventArgument(destination, limit, a12);
1381 *destination = PIXEventsBlockEndMarker;
1382 threadInfo->destination = destination;
1384 else if (limit !=
nullptr)
1386 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
1390 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
1391 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
1394 UINT64* destination = threadInfo->destination;
1395 UINT64* limit = threadInfo->biasedLimit;
1396 if (destination < limit)
1398 limit += PIXEventsSafeFastCopySpaceQwords;
1399 UINT64 time = PIXGetTimestampCounter();
1400 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1401 *destination++ = color;
1403 PIXCopyEventArgument(destination, limit, formatString);
1404 PIXCopyEventArgument(destination, limit, a1);
1405 PIXCopyEventArgument(destination, limit, a2);
1406 PIXCopyEventArgument(destination, limit, a3);
1407 PIXCopyEventArgument(destination, limit, a4);
1408 PIXCopyEventArgument(destination, limit, a5);
1409 PIXCopyEventArgument(destination, limit, a6);
1410 PIXCopyEventArgument(destination, limit, a7);
1411 PIXCopyEventArgument(destination, limit, a8);
1412 PIXCopyEventArgument(destination, limit, a9);
1413 PIXCopyEventArgument(destination, limit, a10);
1414 PIXCopyEventArgument(destination, limit, a11);
1415 PIXCopyEventArgument(destination, limit, a12);
1416 PIXCopyEventArgument(destination, limit, a13);
1418 *destination = PIXEventsBlockEndMarker;
1419 threadInfo->destination = destination;
1421 else if (limit !=
nullptr)
1423 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
1427 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
1428 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
1431 UINT64* destination = threadInfo->destination;
1432 UINT64* limit = threadInfo->biasedLimit;
1433 if (destination < limit)
1435 limit += PIXEventsSafeFastCopySpaceQwords;
1436 UINT64 time = PIXGetTimestampCounter();
1437 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1438 *destination++ = color;
1440 PIXCopyEventArgument(destination, limit, formatString);
1441 PIXCopyEventArgument(destination, limit, a1);
1442 PIXCopyEventArgument(destination, limit, a2);
1443 PIXCopyEventArgument(destination, limit, a3);
1444 PIXCopyEventArgument(destination, limit, a4);
1445 PIXCopyEventArgument(destination, limit, a5);
1446 PIXCopyEventArgument(destination, limit, a6);
1447 PIXCopyEventArgument(destination, limit, a7);
1448 PIXCopyEventArgument(destination, limit, a8);
1449 PIXCopyEventArgument(destination, limit, a9);
1450 PIXCopyEventArgument(destination, limit, a10);
1451 PIXCopyEventArgument(destination, limit, a11);
1452 PIXCopyEventArgument(destination, limit, a12);
1453 PIXCopyEventArgument(destination, limit, a13);
1454 PIXCopyEventArgument(destination, limit, a14);
1456 *destination = PIXEventsBlockEndMarker;
1457 threadInfo->destination = destination;
1459 else if (limit !=
nullptr)
1461 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
1465 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
1466 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
1469 UINT64* destination = threadInfo->destination;
1470 UINT64* limit = threadInfo->biasedLimit;
1471 if (destination < limit)
1473 limit += PIXEventsSafeFastCopySpaceQwords;
1474 UINT64 time = PIXGetTimestampCounter();
1475 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1476 *destination++ = color;
1478 PIXCopyEventArgument(destination, limit, formatString);
1479 PIXCopyEventArgument(destination, limit, a1);
1480 PIXCopyEventArgument(destination, limit, a2);
1481 PIXCopyEventArgument(destination, limit, a3);
1482 PIXCopyEventArgument(destination, limit, a4);
1483 PIXCopyEventArgument(destination, limit, a5);
1484 PIXCopyEventArgument(destination, limit, a6);
1485 PIXCopyEventArgument(destination, limit, a7);
1486 PIXCopyEventArgument(destination, limit, a8);
1487 PIXCopyEventArgument(destination, limit, a9);
1488 PIXCopyEventArgument(destination, limit, a10);
1489 PIXCopyEventArgument(destination, limit, a11);
1490 PIXCopyEventArgument(destination, limit, a12);
1491 PIXCopyEventArgument(destination, limit, a13);
1492 PIXCopyEventArgument(destination, limit, a14);
1493 PIXCopyEventArgument(destination, limit, a15);
1495 *destination = PIXEventsBlockEndMarker;
1496 threadInfo->destination = destination;
1498 else if (limit !=
nullptr)
1500 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
1504 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
1505 inline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
1508 UINT64* destination = threadInfo->destination;
1509 UINT64* limit = threadInfo->biasedLimit;
1510 if (destination < limit)
1512 limit += PIXEventsSafeFastCopySpaceQwords;
1513 UINT64 time = PIXGetTimestampCounter();
1514 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1515 *destination++ = color;
1517 PIXCopyEventArgument(destination, limit, formatString);
1518 PIXCopyEventArgument(destination, limit, a1);
1519 PIXCopyEventArgument(destination, limit, a2);
1520 PIXCopyEventArgument(destination, limit, a3);
1521 PIXCopyEventArgument(destination, limit, a4);
1522 PIXCopyEventArgument(destination, limit, a5);
1523 PIXCopyEventArgument(destination, limit, a6);
1524 PIXCopyEventArgument(destination, limit, a7);
1525 PIXCopyEventArgument(destination, limit, a8);
1526 PIXCopyEventArgument(destination, limit, a9);
1527 PIXCopyEventArgument(destination, limit, a10);
1528 PIXCopyEventArgument(destination, limit, a11);
1529 PIXCopyEventArgument(destination, limit, a12);
1530 PIXCopyEventArgument(destination, limit, a13);
1531 PIXCopyEventArgument(destination, limit, a14);
1532 PIXCopyEventArgument(destination, limit, a15);
1533 PIXCopyEventArgument(destination, limit, a16);
1535 *destination = PIXEventsBlockEndMarker;
1536 threadInfo->destination = destination;
1538 else if (limit !=
nullptr)
1540 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
1544 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString)
1547 UINT64* destination = threadInfo->destination;
1548 UINT64* limit = threadInfo->biasedLimit;
1549 if (destination < limit)
1551 limit += PIXEventsSafeFastCopySpaceQwords;
1552 UINT64 time = PIXGetTimestampCounter();
1553 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);
1554 *destination++ = color;
1556 PIXCopyEventArgument(destination, limit, formatString);
1558 *destination = PIXEventsBlockEndMarker;
1559 threadInfo->destination = destination;
1561 else if (limit !=
nullptr)
1563 PIXBeginEventAllocate(color, formatString);
1568 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1)
1571 UINT64* destination = threadInfo->destination;
1572 UINT64* limit = threadInfo->biasedLimit;
1573 if (destination < limit)
1575 limit += PIXEventsSafeFastCopySpaceQwords;
1576 UINT64 time = PIXGetTimestampCounter();
1577 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1578 *destination++ = color;
1580 PIXCopyEventArgument(destination, limit, formatString);
1581 PIXCopyEventArgument(destination, limit, a1);
1583 *destination = PIXEventsBlockEndMarker;
1584 threadInfo->destination = destination;
1586 else if (limit !=
nullptr)
1588 PIXBeginEventAllocate(color, formatString, a1);
1592 template<
class T1,
class T2>
1593 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
1596 UINT64* destination = threadInfo->destination;
1597 UINT64* limit = threadInfo->biasedLimit;
1598 if (destination < limit)
1600 limit += PIXEventsSafeFastCopySpaceQwords;
1601 UINT64 time = PIXGetTimestampCounter();
1602 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1603 *destination++ = color;
1605 PIXCopyEventArgument(destination, limit, formatString);
1606 PIXCopyEventArgument(destination, limit, a1);
1607 PIXCopyEventArgument(destination, limit, a2);
1609 *destination = PIXEventsBlockEndMarker;
1610 threadInfo->destination = destination;
1612 else if (limit !=
nullptr)
1614 PIXBeginEventAllocate(color, formatString, a1, a2);
1618 template<
class T1,
class T2,
class T3>
1619 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
1622 UINT64* destination = threadInfo->destination;
1623 UINT64* limit = threadInfo->biasedLimit;
1624 if (destination < limit)
1626 limit += PIXEventsSafeFastCopySpaceQwords;
1627 UINT64 time = PIXGetTimestampCounter();
1628 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1629 *destination++ = color;
1631 PIXCopyEventArgument(destination, limit, formatString);
1632 PIXCopyEventArgument(destination, limit, a1);
1633 PIXCopyEventArgument(destination, limit, a2);
1634 PIXCopyEventArgument(destination, limit, a3);
1636 *destination = PIXEventsBlockEndMarker;
1637 threadInfo->destination = destination;
1639 else if (limit !=
nullptr)
1641 PIXBeginEventAllocate(color, formatString, a1, a2, a3);
1645 template<
class T1,
class T2,
class T3,
class T4>
1646 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
1649 UINT64* destination = threadInfo->destination;
1650 UINT64* limit = threadInfo->biasedLimit;
1651 if (destination < limit)
1653 limit += PIXEventsSafeFastCopySpaceQwords;
1654 UINT64 time = PIXGetTimestampCounter();
1655 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1656 *destination++ = color;
1658 PIXCopyEventArgument(destination, limit, formatString);
1659 PIXCopyEventArgument(destination, limit, a1);
1660 PIXCopyEventArgument(destination, limit, a2);
1661 PIXCopyEventArgument(destination, limit, a3);
1662 PIXCopyEventArgument(destination, limit, a4);
1664 *destination = PIXEventsBlockEndMarker;
1665 threadInfo->destination = destination;
1667 else if (limit !=
nullptr)
1669 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4);
1673 template<
class T1,
class T2,
class T3,
class T4,
class T5>
1674 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1677 UINT64* destination = threadInfo->destination;
1678 UINT64* limit = threadInfo->biasedLimit;
1679 if (destination < limit)
1681 limit += PIXEventsSafeFastCopySpaceQwords;
1682 UINT64 time = PIXGetTimestampCounter();
1683 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1684 *destination++ = color;
1686 PIXCopyEventArgument(destination, limit, formatString);
1687 PIXCopyEventArgument(destination, limit, a1);
1688 PIXCopyEventArgument(destination, limit, a2);
1689 PIXCopyEventArgument(destination, limit, a3);
1690 PIXCopyEventArgument(destination, limit, a4);
1691 PIXCopyEventArgument(destination, limit, a5);
1693 *destination = PIXEventsBlockEndMarker;
1694 threadInfo->destination = destination;
1696 else if (limit !=
nullptr)
1698 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5);
1702 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
1703 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
1706 UINT64* destination = threadInfo->destination;
1707 UINT64* limit = threadInfo->biasedLimit;
1708 if (destination < limit)
1710 limit += PIXEventsSafeFastCopySpaceQwords;
1711 UINT64 time = PIXGetTimestampCounter();
1712 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1713 *destination++ = color;
1715 PIXCopyEventArgument(destination, limit, formatString);
1716 PIXCopyEventArgument(destination, limit, a1);
1717 PIXCopyEventArgument(destination, limit, a2);
1718 PIXCopyEventArgument(destination, limit, a3);
1719 PIXCopyEventArgument(destination, limit, a4);
1720 PIXCopyEventArgument(destination, limit, a5);
1721 PIXCopyEventArgument(destination, limit, a6);
1723 *destination = PIXEventsBlockEndMarker;
1724 threadInfo->destination = destination;
1726 else if (limit !=
nullptr)
1728 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6);
1732 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
1733 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
1736 UINT64* destination = threadInfo->destination;
1737 UINT64* limit = threadInfo->biasedLimit;
1738 if (destination < limit)
1740 limit += PIXEventsSafeFastCopySpaceQwords;
1741 UINT64 time = PIXGetTimestampCounter();
1742 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1743 *destination++ = color;
1745 PIXCopyEventArgument(destination, limit, formatString);
1746 PIXCopyEventArgument(destination, limit, a1);
1747 PIXCopyEventArgument(destination, limit, a2);
1748 PIXCopyEventArgument(destination, limit, a3);
1749 PIXCopyEventArgument(destination, limit, a4);
1750 PIXCopyEventArgument(destination, limit, a5);
1751 PIXCopyEventArgument(destination, limit, a6);
1752 PIXCopyEventArgument(destination, limit, a7);
1754 *destination = PIXEventsBlockEndMarker;
1755 threadInfo->destination = destination;
1757 else if (limit !=
nullptr)
1759 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);
1763 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
1764 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
1767 UINT64* destination = threadInfo->destination;
1768 UINT64* limit = threadInfo->biasedLimit;
1769 if (destination < limit)
1771 limit += PIXEventsSafeFastCopySpaceQwords;
1772 UINT64 time = PIXGetTimestampCounter();
1773 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1774 *destination++ = color;
1776 PIXCopyEventArgument(destination, limit, formatString);
1777 PIXCopyEventArgument(destination, limit, a1);
1778 PIXCopyEventArgument(destination, limit, a2);
1779 PIXCopyEventArgument(destination, limit, a3);
1780 PIXCopyEventArgument(destination, limit, a4);
1781 PIXCopyEventArgument(destination, limit, a5);
1782 PIXCopyEventArgument(destination, limit, a6);
1783 PIXCopyEventArgument(destination, limit, a7);
1784 PIXCopyEventArgument(destination, limit, a8);
1786 *destination = PIXEventsBlockEndMarker;
1787 threadInfo->destination = destination;
1789 else if (limit !=
nullptr)
1791 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
1795 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
1796 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
1799 UINT64* destination = threadInfo->destination;
1800 UINT64* limit = threadInfo->biasedLimit;
1801 if (destination < limit)
1803 limit += PIXEventsSafeFastCopySpaceQwords;
1804 UINT64 time = PIXGetTimestampCounter();
1805 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1806 *destination++ = color;
1808 PIXCopyEventArgument(destination, limit, formatString);
1809 PIXCopyEventArgument(destination, limit, a1);
1810 PIXCopyEventArgument(destination, limit, a2);
1811 PIXCopyEventArgument(destination, limit, a3);
1812 PIXCopyEventArgument(destination, limit, a4);
1813 PIXCopyEventArgument(destination, limit, a5);
1814 PIXCopyEventArgument(destination, limit, a6);
1815 PIXCopyEventArgument(destination, limit, a7);
1816 PIXCopyEventArgument(destination, limit, a8);
1817 PIXCopyEventArgument(destination, limit, a9);
1819 *destination = PIXEventsBlockEndMarker;
1820 threadInfo->destination = destination;
1822 else if (limit !=
nullptr)
1824 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1828 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
1829 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
1832 UINT64* destination = threadInfo->destination;
1833 UINT64* limit = threadInfo->biasedLimit;
1834 if (destination < limit)
1836 limit += PIXEventsSafeFastCopySpaceQwords;
1837 UINT64 time = PIXGetTimestampCounter();
1838 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1839 *destination++ = color;
1841 PIXCopyEventArgument(destination, limit, formatString);
1842 PIXCopyEventArgument(destination, limit, a1);
1843 PIXCopyEventArgument(destination, limit, a2);
1844 PIXCopyEventArgument(destination, limit, a3);
1845 PIXCopyEventArgument(destination, limit, a4);
1846 PIXCopyEventArgument(destination, limit, a5);
1847 PIXCopyEventArgument(destination, limit, a6);
1848 PIXCopyEventArgument(destination, limit, a7);
1849 PIXCopyEventArgument(destination, limit, a8);
1850 PIXCopyEventArgument(destination, limit, a9);
1851 PIXCopyEventArgument(destination, limit, a10);
1853 *destination = PIXEventsBlockEndMarker;
1854 threadInfo->destination = destination;
1856 else if (limit !=
nullptr)
1858 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1862 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
1863 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
1866 UINT64* destination = threadInfo->destination;
1867 UINT64* limit = threadInfo->biasedLimit;
1868 if (destination < limit)
1870 limit += PIXEventsSafeFastCopySpaceQwords;
1871 UINT64 time = PIXGetTimestampCounter();
1872 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1873 *destination++ = color;
1875 PIXCopyEventArgument(destination, limit, formatString);
1876 PIXCopyEventArgument(destination, limit, a1);
1877 PIXCopyEventArgument(destination, limit, a2);
1878 PIXCopyEventArgument(destination, limit, a3);
1879 PIXCopyEventArgument(destination, limit, a4);
1880 PIXCopyEventArgument(destination, limit, a5);
1881 PIXCopyEventArgument(destination, limit, a6);
1882 PIXCopyEventArgument(destination, limit, a7);
1883 PIXCopyEventArgument(destination, limit, a8);
1884 PIXCopyEventArgument(destination, limit, a9);
1885 PIXCopyEventArgument(destination, limit, a10);
1886 PIXCopyEventArgument(destination, limit, a11);
1888 *destination = PIXEventsBlockEndMarker;
1889 threadInfo->destination = destination;
1891 else if (limit !=
nullptr)
1893 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
1897 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
1898 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
1901 UINT64* destination = threadInfo->destination;
1902 UINT64* limit = threadInfo->biasedLimit;
1903 if (destination < limit)
1905 limit += PIXEventsSafeFastCopySpaceQwords;
1906 UINT64 time = PIXGetTimestampCounter();
1907 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1908 *destination++ = color;
1910 PIXCopyEventArgument(destination, limit, formatString);
1911 PIXCopyEventArgument(destination, limit, a1);
1912 PIXCopyEventArgument(destination, limit, a2);
1913 PIXCopyEventArgument(destination, limit, a3);
1914 PIXCopyEventArgument(destination, limit, a4);
1915 PIXCopyEventArgument(destination, limit, a5);
1916 PIXCopyEventArgument(destination, limit, a6);
1917 PIXCopyEventArgument(destination, limit, a7);
1918 PIXCopyEventArgument(destination, limit, a8);
1919 PIXCopyEventArgument(destination, limit, a9);
1920 PIXCopyEventArgument(destination, limit, a10);
1921 PIXCopyEventArgument(destination, limit, a11);
1922 PIXCopyEventArgument(destination, limit, a12);
1924 *destination = PIXEventsBlockEndMarker;
1925 threadInfo->destination = destination;
1927 else if (limit !=
nullptr)
1929 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
1933 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
1934 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
1937 UINT64* destination = threadInfo->destination;
1938 UINT64* limit = threadInfo->biasedLimit;
1939 if (destination < limit)
1941 limit += PIXEventsSafeFastCopySpaceQwords;
1942 UINT64 time = PIXGetTimestampCounter();
1943 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1944 *destination++ = color;
1946 PIXCopyEventArgument(destination, limit, formatString);
1947 PIXCopyEventArgument(destination, limit, a1);
1948 PIXCopyEventArgument(destination, limit, a2);
1949 PIXCopyEventArgument(destination, limit, a3);
1950 PIXCopyEventArgument(destination, limit, a4);
1951 PIXCopyEventArgument(destination, limit, a5);
1952 PIXCopyEventArgument(destination, limit, a6);
1953 PIXCopyEventArgument(destination, limit, a7);
1954 PIXCopyEventArgument(destination, limit, a8);
1955 PIXCopyEventArgument(destination, limit, a9);
1956 PIXCopyEventArgument(destination, limit, a10);
1957 PIXCopyEventArgument(destination, limit, a11);
1958 PIXCopyEventArgument(destination, limit, a12);
1959 PIXCopyEventArgument(destination, limit, a13);
1961 *destination = PIXEventsBlockEndMarker;
1962 threadInfo->destination = destination;
1964 else if (limit !=
nullptr)
1966 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
1970 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
1971 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
1974 UINT64* destination = threadInfo->destination;
1975 UINT64* limit = threadInfo->biasedLimit;
1976 if (destination < limit)
1978 limit += PIXEventsSafeFastCopySpaceQwords;
1979 UINT64 time = PIXGetTimestampCounter();
1980 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
1981 *destination++ = color;
1983 PIXCopyEventArgument(destination, limit, formatString);
1984 PIXCopyEventArgument(destination, limit, a1);
1985 PIXCopyEventArgument(destination, limit, a2);
1986 PIXCopyEventArgument(destination, limit, a3);
1987 PIXCopyEventArgument(destination, limit, a4);
1988 PIXCopyEventArgument(destination, limit, a5);
1989 PIXCopyEventArgument(destination, limit, a6);
1990 PIXCopyEventArgument(destination, limit, a7);
1991 PIXCopyEventArgument(destination, limit, a8);
1992 PIXCopyEventArgument(destination, limit, a9);
1993 PIXCopyEventArgument(destination, limit, a10);
1994 PIXCopyEventArgument(destination, limit, a11);
1995 PIXCopyEventArgument(destination, limit, a12);
1996 PIXCopyEventArgument(destination, limit, a13);
1997 PIXCopyEventArgument(destination, limit, a14);
1999 *destination = PIXEventsBlockEndMarker;
2000 threadInfo->destination = destination;
2002 else if (limit !=
nullptr)
2004 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
2008 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
2009 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
2012 UINT64* destination = threadInfo->destination;
2013 UINT64* limit = threadInfo->biasedLimit;
2014 if (destination < limit)
2016 limit += PIXEventsSafeFastCopySpaceQwords;
2017 UINT64 time = PIXGetTimestampCounter();
2018 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
2019 *destination++ = color;
2021 PIXCopyEventArgument(destination, limit, formatString);
2022 PIXCopyEventArgument(destination, limit, a1);
2023 PIXCopyEventArgument(destination, limit, a2);
2024 PIXCopyEventArgument(destination, limit, a3);
2025 PIXCopyEventArgument(destination, limit, a4);
2026 PIXCopyEventArgument(destination, limit, a5);
2027 PIXCopyEventArgument(destination, limit, a6);
2028 PIXCopyEventArgument(destination, limit, a7);
2029 PIXCopyEventArgument(destination, limit, a8);
2030 PIXCopyEventArgument(destination, limit, a9);
2031 PIXCopyEventArgument(destination, limit, a10);
2032 PIXCopyEventArgument(destination, limit, a11);
2033 PIXCopyEventArgument(destination, limit, a12);
2034 PIXCopyEventArgument(destination, limit, a13);
2035 PIXCopyEventArgument(destination, limit, a14);
2036 PIXCopyEventArgument(destination, limit, a15);
2038 *destination = PIXEventsBlockEndMarker;
2039 threadInfo->destination = destination;
2041 else if (limit !=
nullptr)
2043 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
2047 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
2048 inline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
2051 UINT64* destination = threadInfo->destination;
2052 UINT64* limit = threadInfo->biasedLimit;
2053 if (destination < limit)
2055 limit += PIXEventsSafeFastCopySpaceQwords;
2056 UINT64 time = PIXGetTimestampCounter();
2057 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);
2058 *destination++ = color;
2060 PIXCopyEventArgument(destination, limit, formatString);
2061 PIXCopyEventArgument(destination, limit, a1);
2062 PIXCopyEventArgument(destination, limit, a2);
2063 PIXCopyEventArgument(destination, limit, a3);
2064 PIXCopyEventArgument(destination, limit, a4);
2065 PIXCopyEventArgument(destination, limit, a5);
2066 PIXCopyEventArgument(destination, limit, a6);
2067 PIXCopyEventArgument(destination, limit, a7);
2068 PIXCopyEventArgument(destination, limit, a8);
2069 PIXCopyEventArgument(destination, limit, a9);
2070 PIXCopyEventArgument(destination, limit, a10);
2071 PIXCopyEventArgument(destination, limit, a11);
2072 PIXCopyEventArgument(destination, limit, a12);
2073 PIXCopyEventArgument(destination, limit, a13);
2074 PIXCopyEventArgument(destination, limit, a14);
2075 PIXCopyEventArgument(destination, limit, a15);
2076 PIXCopyEventArgument(destination, limit, a16);
2078 *destination = PIXEventsBlockEndMarker;
2079 threadInfo->destination = destination;
2081 else if (limit !=
nullptr)
2083 PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
2087 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString)
2089 UINT64 time = PIXEventsReplaceBlock(
false);
2093 UINT64* destination = threadInfo->destination;
2094 UINT64* limit = threadInfo->limit;
2095 if (destination < limit)
2097 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);
2098 *destination++ = color;
2100 PIXCopyEventArgument(destination, limit, formatString);
2102 *destination = PIXEventsBlockEndMarker;
2103 threadInfo->destination = destination;
2109 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1)
2111 UINT64 time = PIXEventsReplaceBlock(
false);
2115 UINT64* destination = threadInfo->destination;
2116 UINT64* limit = threadInfo->limit;
2117 if (destination < limit)
2119 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2120 *destination++ = color;
2122 PIXCopyEventArgument(destination, limit, formatString);
2123 PIXCopyEventArgument(destination, limit, a1);
2125 *destination = PIXEventsBlockEndMarker;
2126 threadInfo->destination = destination;
2131 template<
class T1,
class T2>
2132 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
2134 UINT64 time = PIXEventsReplaceBlock(
false);
2138 UINT64* destination = threadInfo->destination;
2139 UINT64* limit = threadInfo->limit;
2140 if (destination < limit)
2142 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2143 *destination++ = color;
2145 PIXCopyEventArgument(destination, limit, formatString);
2146 PIXCopyEventArgument(destination, limit, a1);
2147 PIXCopyEventArgument(destination, limit, a2);
2149 *destination = PIXEventsBlockEndMarker;
2150 threadInfo->destination = destination;
2155 template<
class T1,
class T2,
class T3>
2156 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
2158 UINT64 time = PIXEventsReplaceBlock(
false);
2162 UINT64* destination = threadInfo->destination;
2163 UINT64* limit = threadInfo->limit;
2164 if (destination < limit)
2166 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2167 *destination++ = color;
2169 PIXCopyEventArgument(destination, limit, formatString);
2170 PIXCopyEventArgument(destination, limit, a1);
2171 PIXCopyEventArgument(destination, limit, a2);
2172 PIXCopyEventArgument(destination, limit, a3);
2174 *destination = PIXEventsBlockEndMarker;
2175 threadInfo->destination = destination;
2180 template<
class T1,
class T2,
class T3,
class T4>
2181 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
2183 UINT64 time = PIXEventsReplaceBlock(
false);
2187 UINT64* destination = threadInfo->destination;
2188 UINT64* limit = threadInfo->limit;
2189 if (destination < limit)
2191 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2192 *destination++ = color;
2194 PIXCopyEventArgument(destination, limit, formatString);
2195 PIXCopyEventArgument(destination, limit, a1);
2196 PIXCopyEventArgument(destination, limit, a2);
2197 PIXCopyEventArgument(destination, limit, a3);
2198 PIXCopyEventArgument(destination, limit, a4);
2200 *destination = PIXEventsBlockEndMarker;
2201 threadInfo->destination = destination;
2206 template<
class T1,
class T2,
class T3,
class T4,
class T5>
2207 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
2209 UINT64 time = PIXEventsReplaceBlock(
false);
2213 UINT64* destination = threadInfo->destination;
2214 UINT64* limit = threadInfo->limit;
2215 if (destination < limit)
2217 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2218 *destination++ = color;
2220 PIXCopyEventArgument(destination, limit, formatString);
2221 PIXCopyEventArgument(destination, limit, a1);
2222 PIXCopyEventArgument(destination, limit, a2);
2223 PIXCopyEventArgument(destination, limit, a3);
2224 PIXCopyEventArgument(destination, limit, a4);
2225 PIXCopyEventArgument(destination, limit, a5);
2227 *destination = PIXEventsBlockEndMarker;
2228 threadInfo->destination = destination;
2233 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
2234 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
2236 UINT64 time = PIXEventsReplaceBlock(
false);
2240 UINT64* destination = threadInfo->destination;
2241 UINT64* limit = threadInfo->limit;
2242 if (destination < limit)
2244 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2245 *destination++ = color;
2247 PIXCopyEventArgument(destination, limit, formatString);
2248 PIXCopyEventArgument(destination, limit, a1);
2249 PIXCopyEventArgument(destination, limit, a2);
2250 PIXCopyEventArgument(destination, limit, a3);
2251 PIXCopyEventArgument(destination, limit, a4);
2252 PIXCopyEventArgument(destination, limit, a5);
2253 PIXCopyEventArgument(destination, limit, a6);
2255 *destination = PIXEventsBlockEndMarker;
2256 threadInfo->destination = destination;
2261 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
2262 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
2264 UINT64 time = PIXEventsReplaceBlock(
false);
2268 UINT64* destination = threadInfo->destination;
2269 UINT64* limit = threadInfo->limit;
2270 if (destination < limit)
2272 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2273 *destination++ = color;
2275 PIXCopyEventArgument(destination, limit, formatString);
2276 PIXCopyEventArgument(destination, limit, a1);
2277 PIXCopyEventArgument(destination, limit, a2);
2278 PIXCopyEventArgument(destination, limit, a3);
2279 PIXCopyEventArgument(destination, limit, a4);
2280 PIXCopyEventArgument(destination, limit, a5);
2281 PIXCopyEventArgument(destination, limit, a6);
2282 PIXCopyEventArgument(destination, limit, a7);
2284 *destination = PIXEventsBlockEndMarker;
2285 threadInfo->destination = destination;
2290 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
2291 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
2293 UINT64 time = PIXEventsReplaceBlock(
false);
2297 UINT64* destination = threadInfo->destination;
2298 UINT64* limit = threadInfo->limit;
2299 if (destination < limit)
2301 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2302 *destination++ = color;
2304 PIXCopyEventArgument(destination, limit, formatString);
2305 PIXCopyEventArgument(destination, limit, a1);
2306 PIXCopyEventArgument(destination, limit, a2);
2307 PIXCopyEventArgument(destination, limit, a3);
2308 PIXCopyEventArgument(destination, limit, a4);
2309 PIXCopyEventArgument(destination, limit, a5);
2310 PIXCopyEventArgument(destination, limit, a6);
2311 PIXCopyEventArgument(destination, limit, a7);
2312 PIXCopyEventArgument(destination, limit, a8);
2314 *destination = PIXEventsBlockEndMarker;
2315 threadInfo->destination = destination;
2320 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
2321 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
2323 UINT64 time = PIXEventsReplaceBlock(
false);
2327 UINT64* destination = threadInfo->destination;
2328 UINT64* limit = threadInfo->limit;
2329 if (destination < limit)
2331 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2332 *destination++ = color;
2334 PIXCopyEventArgument(destination, limit, formatString);
2335 PIXCopyEventArgument(destination, limit, a1);
2336 PIXCopyEventArgument(destination, limit, a2);
2337 PIXCopyEventArgument(destination, limit, a3);
2338 PIXCopyEventArgument(destination, limit, a4);
2339 PIXCopyEventArgument(destination, limit, a5);
2340 PIXCopyEventArgument(destination, limit, a6);
2341 PIXCopyEventArgument(destination, limit, a7);
2342 PIXCopyEventArgument(destination, limit, a8);
2343 PIXCopyEventArgument(destination, limit, a9);
2345 *destination = PIXEventsBlockEndMarker;
2346 threadInfo->destination = destination;
2351 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
2352 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
2354 UINT64 time = PIXEventsReplaceBlock(
false);
2358 UINT64* destination = threadInfo->destination;
2359 UINT64* limit = threadInfo->limit;
2360 if (destination < limit)
2362 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2363 *destination++ = color;
2365 PIXCopyEventArgument(destination, limit, formatString);
2366 PIXCopyEventArgument(destination, limit, a1);
2367 PIXCopyEventArgument(destination, limit, a2);
2368 PIXCopyEventArgument(destination, limit, a3);
2369 PIXCopyEventArgument(destination, limit, a4);
2370 PIXCopyEventArgument(destination, limit, a5);
2371 PIXCopyEventArgument(destination, limit, a6);
2372 PIXCopyEventArgument(destination, limit, a7);
2373 PIXCopyEventArgument(destination, limit, a8);
2374 PIXCopyEventArgument(destination, limit, a9);
2375 PIXCopyEventArgument(destination, limit, a10);
2377 *destination = PIXEventsBlockEndMarker;
2378 threadInfo->destination = destination;
2383 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
2384 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
2386 UINT64 time = PIXEventsReplaceBlock(
false);
2390 UINT64* destination = threadInfo->destination;
2391 UINT64* limit = threadInfo->limit;
2392 if (destination < limit)
2394 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2395 *destination++ = color;
2397 PIXCopyEventArgument(destination, limit, formatString);
2398 PIXCopyEventArgument(destination, limit, a1);
2399 PIXCopyEventArgument(destination, limit, a2);
2400 PIXCopyEventArgument(destination, limit, a3);
2401 PIXCopyEventArgument(destination, limit, a4);
2402 PIXCopyEventArgument(destination, limit, a5);
2403 PIXCopyEventArgument(destination, limit, a6);
2404 PIXCopyEventArgument(destination, limit, a7);
2405 PIXCopyEventArgument(destination, limit, a8);
2406 PIXCopyEventArgument(destination, limit, a9);
2407 PIXCopyEventArgument(destination, limit, a10);
2408 PIXCopyEventArgument(destination, limit, a11);
2410 *destination = PIXEventsBlockEndMarker;
2411 threadInfo->destination = destination;
2416 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
2417 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
2419 UINT64 time = PIXEventsReplaceBlock(
false);
2423 UINT64* destination = threadInfo->destination;
2424 UINT64* limit = threadInfo->limit;
2425 if (destination < limit)
2427 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2428 *destination++ = color;
2430 PIXCopyEventArgument(destination, limit, formatString);
2431 PIXCopyEventArgument(destination, limit, a1);
2432 PIXCopyEventArgument(destination, limit, a2);
2433 PIXCopyEventArgument(destination, limit, a3);
2434 PIXCopyEventArgument(destination, limit, a4);
2435 PIXCopyEventArgument(destination, limit, a5);
2436 PIXCopyEventArgument(destination, limit, a6);
2437 PIXCopyEventArgument(destination, limit, a7);
2438 PIXCopyEventArgument(destination, limit, a8);
2439 PIXCopyEventArgument(destination, limit, a9);
2440 PIXCopyEventArgument(destination, limit, a10);
2441 PIXCopyEventArgument(destination, limit, a11);
2442 PIXCopyEventArgument(destination, limit, a12);
2444 *destination = PIXEventsBlockEndMarker;
2445 threadInfo->destination = destination;
2450 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
2451 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
2453 UINT64 time = PIXEventsReplaceBlock(
false);
2457 UINT64* destination = threadInfo->destination;
2458 UINT64* limit = threadInfo->limit;
2459 if (destination < limit)
2461 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2462 *destination++ = color;
2464 PIXCopyEventArgument(destination, limit, formatString);
2465 PIXCopyEventArgument(destination, limit, a1);
2466 PIXCopyEventArgument(destination, limit, a2);
2467 PIXCopyEventArgument(destination, limit, a3);
2468 PIXCopyEventArgument(destination, limit, a4);
2469 PIXCopyEventArgument(destination, limit, a5);
2470 PIXCopyEventArgument(destination, limit, a6);
2471 PIXCopyEventArgument(destination, limit, a7);
2472 PIXCopyEventArgument(destination, limit, a8);
2473 PIXCopyEventArgument(destination, limit, a9);
2474 PIXCopyEventArgument(destination, limit, a10);
2475 PIXCopyEventArgument(destination, limit, a11);
2476 PIXCopyEventArgument(destination, limit, a12);
2477 PIXCopyEventArgument(destination, limit, a13);
2479 *destination = PIXEventsBlockEndMarker;
2480 threadInfo->destination = destination;
2485 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
2486 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
2488 UINT64 time = PIXEventsReplaceBlock(
false);
2492 UINT64* destination = threadInfo->destination;
2493 UINT64* limit = threadInfo->limit;
2494 if (destination < limit)
2496 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2497 *destination++ = color;
2499 PIXCopyEventArgument(destination, limit, formatString);
2500 PIXCopyEventArgument(destination, limit, a1);
2501 PIXCopyEventArgument(destination, limit, a2);
2502 PIXCopyEventArgument(destination, limit, a3);
2503 PIXCopyEventArgument(destination, limit, a4);
2504 PIXCopyEventArgument(destination, limit, a5);
2505 PIXCopyEventArgument(destination, limit, a6);
2506 PIXCopyEventArgument(destination, limit, a7);
2507 PIXCopyEventArgument(destination, limit, a8);
2508 PIXCopyEventArgument(destination, limit, a9);
2509 PIXCopyEventArgument(destination, limit, a10);
2510 PIXCopyEventArgument(destination, limit, a11);
2511 PIXCopyEventArgument(destination, limit, a12);
2512 PIXCopyEventArgument(destination, limit, a13);
2513 PIXCopyEventArgument(destination, limit, a14);
2515 *destination = PIXEventsBlockEndMarker;
2516 threadInfo->destination = destination;
2521 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
2522 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
2524 UINT64 time = PIXEventsReplaceBlock(
false);
2528 UINT64* destination = threadInfo->destination;
2529 UINT64* limit = threadInfo->limit;
2530 if (destination < limit)
2532 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2533 *destination++ = color;
2535 PIXCopyEventArgument(destination, limit, formatString);
2536 PIXCopyEventArgument(destination, limit, a1);
2537 PIXCopyEventArgument(destination, limit, a2);
2538 PIXCopyEventArgument(destination, limit, a3);
2539 PIXCopyEventArgument(destination, limit, a4);
2540 PIXCopyEventArgument(destination, limit, a5);
2541 PIXCopyEventArgument(destination, limit, a6);
2542 PIXCopyEventArgument(destination, limit, a7);
2543 PIXCopyEventArgument(destination, limit, a8);
2544 PIXCopyEventArgument(destination, limit, a9);
2545 PIXCopyEventArgument(destination, limit, a10);
2546 PIXCopyEventArgument(destination, limit, a11);
2547 PIXCopyEventArgument(destination, limit, a12);
2548 PIXCopyEventArgument(destination, limit, a13);
2549 PIXCopyEventArgument(destination, limit, a14);
2550 PIXCopyEventArgument(destination, limit, a15);
2552 *destination = PIXEventsBlockEndMarker;
2553 threadInfo->destination = destination;
2558 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
2559 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
2561 UINT64 time = PIXEventsReplaceBlock(
false);
2565 UINT64* destination = threadInfo->destination;
2566 UINT64* limit = threadInfo->limit;
2567 if (destination < limit)
2569 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2570 *destination++ = color;
2572 PIXCopyEventArgument(destination, limit, formatString);
2573 PIXCopyEventArgument(destination, limit, a1);
2574 PIXCopyEventArgument(destination, limit, a2);
2575 PIXCopyEventArgument(destination, limit, a3);
2576 PIXCopyEventArgument(destination, limit, a4);
2577 PIXCopyEventArgument(destination, limit, a5);
2578 PIXCopyEventArgument(destination, limit, a6);
2579 PIXCopyEventArgument(destination, limit, a7);
2580 PIXCopyEventArgument(destination, limit, a8);
2581 PIXCopyEventArgument(destination, limit, a9);
2582 PIXCopyEventArgument(destination, limit, a10);
2583 PIXCopyEventArgument(destination, limit, a11);
2584 PIXCopyEventArgument(destination, limit, a12);
2585 PIXCopyEventArgument(destination, limit, a13);
2586 PIXCopyEventArgument(destination, limit, a14);
2587 PIXCopyEventArgument(destination, limit, a15);
2588 PIXCopyEventArgument(destination, limit, a16);
2590 *destination = PIXEventsBlockEndMarker;
2591 threadInfo->destination = destination;
2596 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString)
2598 UINT64 time = PIXEventsReplaceBlock(
false);
2602 UINT64* destination = threadInfo->destination;
2603 UINT64* limit = threadInfo->limit;
2604 if (destination < limit)
2606 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);
2607 *destination++ = color;
2609 PIXCopyEventArgument(destination, limit, formatString);
2611 *destination = PIXEventsBlockEndMarker;
2612 threadInfo->destination = destination;
2618 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1)
2620 UINT64 time = PIXEventsReplaceBlock(
false);
2624 UINT64* destination = threadInfo->destination;
2625 UINT64* limit = threadInfo->limit;
2626 if (destination < limit)
2628 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2629 *destination++ = color;
2631 PIXCopyEventArgument(destination, limit, formatString);
2632 PIXCopyEventArgument(destination, limit, a1);
2634 *destination = PIXEventsBlockEndMarker;
2635 threadInfo->destination = destination;
2640 template<
class T1,
class T2>
2641 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
2643 UINT64 time = PIXEventsReplaceBlock(
false);
2647 UINT64* destination = threadInfo->destination;
2648 UINT64* limit = threadInfo->limit;
2649 if (destination < limit)
2651 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2652 *destination++ = color;
2654 PIXCopyEventArgument(destination, limit, formatString);
2655 PIXCopyEventArgument(destination, limit, a1);
2656 PIXCopyEventArgument(destination, limit, a2);
2658 *destination = PIXEventsBlockEndMarker;
2659 threadInfo->destination = destination;
2664 template<
class T1,
class T2,
class T3>
2665 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
2667 UINT64 time = PIXEventsReplaceBlock(
false);
2671 UINT64* destination = threadInfo->destination;
2672 UINT64* limit = threadInfo->limit;
2673 if (destination < limit)
2675 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2676 *destination++ = color;
2678 PIXCopyEventArgument(destination, limit, formatString);
2679 PIXCopyEventArgument(destination, limit, a1);
2680 PIXCopyEventArgument(destination, limit, a2);
2681 PIXCopyEventArgument(destination, limit, a3);
2683 *destination = PIXEventsBlockEndMarker;
2684 threadInfo->destination = destination;
2689 template<
class T1,
class T2,
class T3,
class T4>
2690 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
2692 UINT64 time = PIXEventsReplaceBlock(
false);
2696 UINT64* destination = threadInfo->destination;
2697 UINT64* limit = threadInfo->limit;
2698 if (destination < limit)
2700 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2701 *destination++ = color;
2703 PIXCopyEventArgument(destination, limit, formatString);
2704 PIXCopyEventArgument(destination, limit, a1);
2705 PIXCopyEventArgument(destination, limit, a2);
2706 PIXCopyEventArgument(destination, limit, a3);
2707 PIXCopyEventArgument(destination, limit, a4);
2709 *destination = PIXEventsBlockEndMarker;
2710 threadInfo->destination = destination;
2715 template<
class T1,
class T2,
class T3,
class T4,
class T5>
2716 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
2718 UINT64 time = PIXEventsReplaceBlock(
false);
2722 UINT64* destination = threadInfo->destination;
2723 UINT64* limit = threadInfo->limit;
2724 if (destination < limit)
2726 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2727 *destination++ = color;
2729 PIXCopyEventArgument(destination, limit, formatString);
2730 PIXCopyEventArgument(destination, limit, a1);
2731 PIXCopyEventArgument(destination, limit, a2);
2732 PIXCopyEventArgument(destination, limit, a3);
2733 PIXCopyEventArgument(destination, limit, a4);
2734 PIXCopyEventArgument(destination, limit, a5);
2736 *destination = PIXEventsBlockEndMarker;
2737 threadInfo->destination = destination;
2742 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
2743 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
2745 UINT64 time = PIXEventsReplaceBlock(
false);
2749 UINT64* destination = threadInfo->destination;
2750 UINT64* limit = threadInfo->limit;
2751 if (destination < limit)
2753 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2754 *destination++ = color;
2756 PIXCopyEventArgument(destination, limit, formatString);
2757 PIXCopyEventArgument(destination, limit, a1);
2758 PIXCopyEventArgument(destination, limit, a2);
2759 PIXCopyEventArgument(destination, limit, a3);
2760 PIXCopyEventArgument(destination, limit, a4);
2761 PIXCopyEventArgument(destination, limit, a5);
2762 PIXCopyEventArgument(destination, limit, a6);
2764 *destination = PIXEventsBlockEndMarker;
2765 threadInfo->destination = destination;
2770 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
2771 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
2773 UINT64 time = PIXEventsReplaceBlock(
false);
2777 UINT64* destination = threadInfo->destination;
2778 UINT64* limit = threadInfo->limit;
2779 if (destination < limit)
2781 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2782 *destination++ = color;
2784 PIXCopyEventArgument(destination, limit, formatString);
2785 PIXCopyEventArgument(destination, limit, a1);
2786 PIXCopyEventArgument(destination, limit, a2);
2787 PIXCopyEventArgument(destination, limit, a3);
2788 PIXCopyEventArgument(destination, limit, a4);
2789 PIXCopyEventArgument(destination, limit, a5);
2790 PIXCopyEventArgument(destination, limit, a6);
2791 PIXCopyEventArgument(destination, limit, a7);
2793 *destination = PIXEventsBlockEndMarker;
2794 threadInfo->destination = destination;
2799 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
2800 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
2802 UINT64 time = PIXEventsReplaceBlock(
false);
2806 UINT64* destination = threadInfo->destination;
2807 UINT64* limit = threadInfo->limit;
2808 if (destination < limit)
2810 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2811 *destination++ = color;
2813 PIXCopyEventArgument(destination, limit, formatString);
2814 PIXCopyEventArgument(destination, limit, a1);
2815 PIXCopyEventArgument(destination, limit, a2);
2816 PIXCopyEventArgument(destination, limit, a3);
2817 PIXCopyEventArgument(destination, limit, a4);
2818 PIXCopyEventArgument(destination, limit, a5);
2819 PIXCopyEventArgument(destination, limit, a6);
2820 PIXCopyEventArgument(destination, limit, a7);
2821 PIXCopyEventArgument(destination, limit, a8);
2823 *destination = PIXEventsBlockEndMarker;
2824 threadInfo->destination = destination;
2829 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
2830 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
2832 UINT64 time = PIXEventsReplaceBlock(
false);
2836 UINT64* destination = threadInfo->destination;
2837 UINT64* limit = threadInfo->limit;
2838 if (destination < limit)
2840 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2841 *destination++ = color;
2843 PIXCopyEventArgument(destination, limit, formatString);
2844 PIXCopyEventArgument(destination, limit, a1);
2845 PIXCopyEventArgument(destination, limit, a2);
2846 PIXCopyEventArgument(destination, limit, a3);
2847 PIXCopyEventArgument(destination, limit, a4);
2848 PIXCopyEventArgument(destination, limit, a5);
2849 PIXCopyEventArgument(destination, limit, a6);
2850 PIXCopyEventArgument(destination, limit, a7);
2851 PIXCopyEventArgument(destination, limit, a8);
2852 PIXCopyEventArgument(destination, limit, a9);
2854 *destination = PIXEventsBlockEndMarker;
2855 threadInfo->destination = destination;
2860 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
2861 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
2863 UINT64 time = PIXEventsReplaceBlock(
false);
2867 UINT64* destination = threadInfo->destination;
2868 UINT64* limit = threadInfo->limit;
2869 if (destination < limit)
2871 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2872 *destination++ = color;
2874 PIXCopyEventArgument(destination, limit, formatString);
2875 PIXCopyEventArgument(destination, limit, a1);
2876 PIXCopyEventArgument(destination, limit, a2);
2877 PIXCopyEventArgument(destination, limit, a3);
2878 PIXCopyEventArgument(destination, limit, a4);
2879 PIXCopyEventArgument(destination, limit, a5);
2880 PIXCopyEventArgument(destination, limit, a6);
2881 PIXCopyEventArgument(destination, limit, a7);
2882 PIXCopyEventArgument(destination, limit, a8);
2883 PIXCopyEventArgument(destination, limit, a9);
2884 PIXCopyEventArgument(destination, limit, a10);
2886 *destination = PIXEventsBlockEndMarker;
2887 threadInfo->destination = destination;
2892 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
2893 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
2895 UINT64 time = PIXEventsReplaceBlock(
false);
2899 UINT64* destination = threadInfo->destination;
2900 UINT64* limit = threadInfo->limit;
2901 if (destination < limit)
2903 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2904 *destination++ = color;
2906 PIXCopyEventArgument(destination, limit, formatString);
2907 PIXCopyEventArgument(destination, limit, a1);
2908 PIXCopyEventArgument(destination, limit, a2);
2909 PIXCopyEventArgument(destination, limit, a3);
2910 PIXCopyEventArgument(destination, limit, a4);
2911 PIXCopyEventArgument(destination, limit, a5);
2912 PIXCopyEventArgument(destination, limit, a6);
2913 PIXCopyEventArgument(destination, limit, a7);
2914 PIXCopyEventArgument(destination, limit, a8);
2915 PIXCopyEventArgument(destination, limit, a9);
2916 PIXCopyEventArgument(destination, limit, a10);
2917 PIXCopyEventArgument(destination, limit, a11);
2919 *destination = PIXEventsBlockEndMarker;
2920 threadInfo->destination = destination;
2925 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
2926 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
2928 UINT64 time = PIXEventsReplaceBlock(
false);
2932 UINT64* destination = threadInfo->destination;
2933 UINT64* limit = threadInfo->limit;
2934 if (destination < limit)
2936 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2937 *destination++ = color;
2939 PIXCopyEventArgument(destination, limit, formatString);
2940 PIXCopyEventArgument(destination, limit, a1);
2941 PIXCopyEventArgument(destination, limit, a2);
2942 PIXCopyEventArgument(destination, limit, a3);
2943 PIXCopyEventArgument(destination, limit, a4);
2944 PIXCopyEventArgument(destination, limit, a5);
2945 PIXCopyEventArgument(destination, limit, a6);
2946 PIXCopyEventArgument(destination, limit, a7);
2947 PIXCopyEventArgument(destination, limit, a8);
2948 PIXCopyEventArgument(destination, limit, a9);
2949 PIXCopyEventArgument(destination, limit, a10);
2950 PIXCopyEventArgument(destination, limit, a11);
2951 PIXCopyEventArgument(destination, limit, a12);
2953 *destination = PIXEventsBlockEndMarker;
2954 threadInfo->destination = destination;
2959 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
2960 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
2962 UINT64 time = PIXEventsReplaceBlock(
false);
2966 UINT64* destination = threadInfo->destination;
2967 UINT64* limit = threadInfo->limit;
2968 if (destination < limit)
2970 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
2971 *destination++ = color;
2973 PIXCopyEventArgument(destination, limit, formatString);
2974 PIXCopyEventArgument(destination, limit, a1);
2975 PIXCopyEventArgument(destination, limit, a2);
2976 PIXCopyEventArgument(destination, limit, a3);
2977 PIXCopyEventArgument(destination, limit, a4);
2978 PIXCopyEventArgument(destination, limit, a5);
2979 PIXCopyEventArgument(destination, limit, a6);
2980 PIXCopyEventArgument(destination, limit, a7);
2981 PIXCopyEventArgument(destination, limit, a8);
2982 PIXCopyEventArgument(destination, limit, a9);
2983 PIXCopyEventArgument(destination, limit, a10);
2984 PIXCopyEventArgument(destination, limit, a11);
2985 PIXCopyEventArgument(destination, limit, a12);
2986 PIXCopyEventArgument(destination, limit, a13);
2988 *destination = PIXEventsBlockEndMarker;
2989 threadInfo->destination = destination;
2994 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
2995 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
2997 UINT64 time = PIXEventsReplaceBlock(
false);
3001 UINT64* destination = threadInfo->destination;
3002 UINT64* limit = threadInfo->limit;
3003 if (destination < limit)
3005 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3006 *destination++ = color;
3008 PIXCopyEventArgument(destination, limit, formatString);
3009 PIXCopyEventArgument(destination, limit, a1);
3010 PIXCopyEventArgument(destination, limit, a2);
3011 PIXCopyEventArgument(destination, limit, a3);
3012 PIXCopyEventArgument(destination, limit, a4);
3013 PIXCopyEventArgument(destination, limit, a5);
3014 PIXCopyEventArgument(destination, limit, a6);
3015 PIXCopyEventArgument(destination, limit, a7);
3016 PIXCopyEventArgument(destination, limit, a8);
3017 PIXCopyEventArgument(destination, limit, a9);
3018 PIXCopyEventArgument(destination, limit, a10);
3019 PIXCopyEventArgument(destination, limit, a11);
3020 PIXCopyEventArgument(destination, limit, a12);
3021 PIXCopyEventArgument(destination, limit, a13);
3022 PIXCopyEventArgument(destination, limit, a14);
3024 *destination = PIXEventsBlockEndMarker;
3025 threadInfo->destination = destination;
3030 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
3031 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
3033 UINT64 time = PIXEventsReplaceBlock(
false);
3037 UINT64* destination = threadInfo->destination;
3038 UINT64* limit = threadInfo->limit;
3039 if (destination < limit)
3041 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3042 *destination++ = color;
3044 PIXCopyEventArgument(destination, limit, formatString);
3045 PIXCopyEventArgument(destination, limit, a1);
3046 PIXCopyEventArgument(destination, limit, a2);
3047 PIXCopyEventArgument(destination, limit, a3);
3048 PIXCopyEventArgument(destination, limit, a4);
3049 PIXCopyEventArgument(destination, limit, a5);
3050 PIXCopyEventArgument(destination, limit, a6);
3051 PIXCopyEventArgument(destination, limit, a7);
3052 PIXCopyEventArgument(destination, limit, a8);
3053 PIXCopyEventArgument(destination, limit, a9);
3054 PIXCopyEventArgument(destination, limit, a10);
3055 PIXCopyEventArgument(destination, limit, a11);
3056 PIXCopyEventArgument(destination, limit, a12);
3057 PIXCopyEventArgument(destination, limit, a13);
3058 PIXCopyEventArgument(destination, limit, a14);
3059 PIXCopyEventArgument(destination, limit, a15);
3061 *destination = PIXEventsBlockEndMarker;
3062 threadInfo->destination = destination;
3067 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
3068 __declspec(noinline) inline
void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
3070 UINT64 time = PIXEventsReplaceBlock(
false);
3074 UINT64* destination = threadInfo->destination;
3075 UINT64* limit = threadInfo->limit;
3076 if (destination < limit)
3078 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3079 *destination++ = color;
3081 PIXCopyEventArgument(destination, limit, formatString);
3082 PIXCopyEventArgument(destination, limit, a1);
3083 PIXCopyEventArgument(destination, limit, a2);
3084 PIXCopyEventArgument(destination, limit, a3);
3085 PIXCopyEventArgument(destination, limit, a4);
3086 PIXCopyEventArgument(destination, limit, a5);
3087 PIXCopyEventArgument(destination, limit, a6);
3088 PIXCopyEventArgument(destination, limit, a7);
3089 PIXCopyEventArgument(destination, limit, a8);
3090 PIXCopyEventArgument(destination, limit, a9);
3091 PIXCopyEventArgument(destination, limit, a10);
3092 PIXCopyEventArgument(destination, limit, a11);
3093 PIXCopyEventArgument(destination, limit, a12);
3094 PIXCopyEventArgument(destination, limit, a13);
3095 PIXCopyEventArgument(destination, limit, a14);
3096 PIXCopyEventArgument(destination, limit, a15);
3097 PIXCopyEventArgument(destination, limit, a16);
3099 *destination = PIXEventsBlockEndMarker;
3100 threadInfo->destination = destination;
3105 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString)
3108 UINT64* destination = threadInfo->destination;
3109 UINT64* limit = threadInfo->biasedLimit;
3110 if (destination < limit)
3112 limit += PIXEventsSafeFastCopySpaceQwords;
3113 UINT64 time = PIXGetTimestampCounter();
3114 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);
3115 *destination++ = color;
3117 PIXCopyEventArgument(destination, limit, formatString);
3119 *destination = PIXEventsBlockEndMarker;
3120 threadInfo->destination = destination;
3122 else if (limit !=
nullptr)
3124 PIXSetMarkerAllocate(color, formatString);
3129 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1)
3132 UINT64* destination = threadInfo->destination;
3133 UINT64* limit = threadInfo->biasedLimit;
3134 if (destination < limit)
3136 limit += PIXEventsSafeFastCopySpaceQwords;
3137 UINT64 time = PIXGetTimestampCounter();
3138 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3139 *destination++ = color;
3141 PIXCopyEventArgument(destination, limit, formatString);
3142 PIXCopyEventArgument(destination, limit, a1);
3144 *destination = PIXEventsBlockEndMarker;
3145 threadInfo->destination = destination;
3147 else if (limit !=
nullptr)
3149 PIXSetMarkerAllocate(color, formatString, a1);
3153 template<
class T1,
class T2>
3154 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
3157 UINT64* destination = threadInfo->destination;
3158 UINT64* limit = threadInfo->biasedLimit;
3159 if (destination < limit)
3161 limit += PIXEventsSafeFastCopySpaceQwords;
3162 UINT64 time = PIXGetTimestampCounter();
3163 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3164 *destination++ = color;
3166 PIXCopyEventArgument(destination, limit, formatString);
3167 PIXCopyEventArgument(destination, limit, a1);
3168 PIXCopyEventArgument(destination, limit, a2);
3170 *destination = PIXEventsBlockEndMarker;
3171 threadInfo->destination = destination;
3173 else if (limit !=
nullptr)
3175 PIXSetMarkerAllocate(color, formatString, a1, a2);
3179 template<
class T1,
class T2,
class T3>
3180 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
3183 UINT64* destination = threadInfo->destination;
3184 UINT64* limit = threadInfo->biasedLimit;
3185 if (destination < limit)
3187 limit += PIXEventsSafeFastCopySpaceQwords;
3188 UINT64 time = PIXGetTimestampCounter();
3189 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3190 *destination++ = color;
3192 PIXCopyEventArgument(destination, limit, formatString);
3193 PIXCopyEventArgument(destination, limit, a1);
3194 PIXCopyEventArgument(destination, limit, a2);
3195 PIXCopyEventArgument(destination, limit, a3);
3197 *destination = PIXEventsBlockEndMarker;
3198 threadInfo->destination = destination;
3200 else if (limit !=
nullptr)
3202 PIXSetMarkerAllocate(color, formatString, a1, a2, a3);
3206 template<
class T1,
class T2,
class T3,
class T4>
3207 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
3210 UINT64* destination = threadInfo->destination;
3211 UINT64* limit = threadInfo->biasedLimit;
3212 if (destination < limit)
3214 limit += PIXEventsSafeFastCopySpaceQwords;
3215 UINT64 time = PIXGetTimestampCounter();
3216 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3217 *destination++ = color;
3219 PIXCopyEventArgument(destination, limit, formatString);
3220 PIXCopyEventArgument(destination, limit, a1);
3221 PIXCopyEventArgument(destination, limit, a2);
3222 PIXCopyEventArgument(destination, limit, a3);
3223 PIXCopyEventArgument(destination, limit, a4);
3225 *destination = PIXEventsBlockEndMarker;
3226 threadInfo->destination = destination;
3228 else if (limit !=
nullptr)
3230 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4);
3234 template<
class T1,
class T2,
class T3,
class T4,
class T5>
3235 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
3238 UINT64* destination = threadInfo->destination;
3239 UINT64* limit = threadInfo->biasedLimit;
3240 if (destination < limit)
3242 limit += PIXEventsSafeFastCopySpaceQwords;
3243 UINT64 time = PIXGetTimestampCounter();
3244 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3245 *destination++ = color;
3247 PIXCopyEventArgument(destination, limit, formatString);
3248 PIXCopyEventArgument(destination, limit, a1);
3249 PIXCopyEventArgument(destination, limit, a2);
3250 PIXCopyEventArgument(destination, limit, a3);
3251 PIXCopyEventArgument(destination, limit, a4);
3252 PIXCopyEventArgument(destination, limit, a5);
3254 *destination = PIXEventsBlockEndMarker;
3255 threadInfo->destination = destination;
3257 else if (limit !=
nullptr)
3259 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5);
3263 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
3264 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
3267 UINT64* destination = threadInfo->destination;
3268 UINT64* limit = threadInfo->biasedLimit;
3269 if (destination < limit)
3271 limit += PIXEventsSafeFastCopySpaceQwords;
3272 UINT64 time = PIXGetTimestampCounter();
3273 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3274 *destination++ = color;
3276 PIXCopyEventArgument(destination, limit, formatString);
3277 PIXCopyEventArgument(destination, limit, a1);
3278 PIXCopyEventArgument(destination, limit, a2);
3279 PIXCopyEventArgument(destination, limit, a3);
3280 PIXCopyEventArgument(destination, limit, a4);
3281 PIXCopyEventArgument(destination, limit, a5);
3282 PIXCopyEventArgument(destination, limit, a6);
3284 *destination = PIXEventsBlockEndMarker;
3285 threadInfo->destination = destination;
3287 else if (limit !=
nullptr)
3289 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6);
3293 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
3294 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
3297 UINT64* destination = threadInfo->destination;
3298 UINT64* limit = threadInfo->biasedLimit;
3299 if (destination < limit)
3301 limit += PIXEventsSafeFastCopySpaceQwords;
3302 UINT64 time = PIXGetTimestampCounter();
3303 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3304 *destination++ = color;
3306 PIXCopyEventArgument(destination, limit, formatString);
3307 PIXCopyEventArgument(destination, limit, a1);
3308 PIXCopyEventArgument(destination, limit, a2);
3309 PIXCopyEventArgument(destination, limit, a3);
3310 PIXCopyEventArgument(destination, limit, a4);
3311 PIXCopyEventArgument(destination, limit, a5);
3312 PIXCopyEventArgument(destination, limit, a6);
3313 PIXCopyEventArgument(destination, limit, a7);
3315 *destination = PIXEventsBlockEndMarker;
3316 threadInfo->destination = destination;
3318 else if (limit !=
nullptr)
3320 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);
3324 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
3325 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
3328 UINT64* destination = threadInfo->destination;
3329 UINT64* limit = threadInfo->biasedLimit;
3330 if (destination < limit)
3332 limit += PIXEventsSafeFastCopySpaceQwords;
3333 UINT64 time = PIXGetTimestampCounter();
3334 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3335 *destination++ = color;
3337 PIXCopyEventArgument(destination, limit, formatString);
3338 PIXCopyEventArgument(destination, limit, a1);
3339 PIXCopyEventArgument(destination, limit, a2);
3340 PIXCopyEventArgument(destination, limit, a3);
3341 PIXCopyEventArgument(destination, limit, a4);
3342 PIXCopyEventArgument(destination, limit, a5);
3343 PIXCopyEventArgument(destination, limit, a6);
3344 PIXCopyEventArgument(destination, limit, a7);
3345 PIXCopyEventArgument(destination, limit, a8);
3347 *destination = PIXEventsBlockEndMarker;
3348 threadInfo->destination = destination;
3350 else if (limit !=
nullptr)
3352 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
3356 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
3357 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
3360 UINT64* destination = threadInfo->destination;
3361 UINT64* limit = threadInfo->biasedLimit;
3362 if (destination < limit)
3364 limit += PIXEventsSafeFastCopySpaceQwords;
3365 UINT64 time = PIXGetTimestampCounter();
3366 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3367 *destination++ = color;
3369 PIXCopyEventArgument(destination, limit, formatString);
3370 PIXCopyEventArgument(destination, limit, a1);
3371 PIXCopyEventArgument(destination, limit, a2);
3372 PIXCopyEventArgument(destination, limit, a3);
3373 PIXCopyEventArgument(destination, limit, a4);
3374 PIXCopyEventArgument(destination, limit, a5);
3375 PIXCopyEventArgument(destination, limit, a6);
3376 PIXCopyEventArgument(destination, limit, a7);
3377 PIXCopyEventArgument(destination, limit, a8);
3378 PIXCopyEventArgument(destination, limit, a9);
3380 *destination = PIXEventsBlockEndMarker;
3381 threadInfo->destination = destination;
3383 else if (limit !=
nullptr)
3385 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
3389 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
3390 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
3393 UINT64* destination = threadInfo->destination;
3394 UINT64* limit = threadInfo->biasedLimit;
3395 if (destination < limit)
3397 limit += PIXEventsSafeFastCopySpaceQwords;
3398 UINT64 time = PIXGetTimestampCounter();
3399 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3400 *destination++ = color;
3402 PIXCopyEventArgument(destination, limit, formatString);
3403 PIXCopyEventArgument(destination, limit, a1);
3404 PIXCopyEventArgument(destination, limit, a2);
3405 PIXCopyEventArgument(destination, limit, a3);
3406 PIXCopyEventArgument(destination, limit, a4);
3407 PIXCopyEventArgument(destination, limit, a5);
3408 PIXCopyEventArgument(destination, limit, a6);
3409 PIXCopyEventArgument(destination, limit, a7);
3410 PIXCopyEventArgument(destination, limit, a8);
3411 PIXCopyEventArgument(destination, limit, a9);
3412 PIXCopyEventArgument(destination, limit, a10);
3414 *destination = PIXEventsBlockEndMarker;
3415 threadInfo->destination = destination;
3417 else if (limit !=
nullptr)
3419 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
3423 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
3424 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
3427 UINT64* destination = threadInfo->destination;
3428 UINT64* limit = threadInfo->biasedLimit;
3429 if (destination < limit)
3431 limit += PIXEventsSafeFastCopySpaceQwords;
3432 UINT64 time = PIXGetTimestampCounter();
3433 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3434 *destination++ = color;
3436 PIXCopyEventArgument(destination, limit, formatString);
3437 PIXCopyEventArgument(destination, limit, a1);
3438 PIXCopyEventArgument(destination, limit, a2);
3439 PIXCopyEventArgument(destination, limit, a3);
3440 PIXCopyEventArgument(destination, limit, a4);
3441 PIXCopyEventArgument(destination, limit, a5);
3442 PIXCopyEventArgument(destination, limit, a6);
3443 PIXCopyEventArgument(destination, limit, a7);
3444 PIXCopyEventArgument(destination, limit, a8);
3445 PIXCopyEventArgument(destination, limit, a9);
3446 PIXCopyEventArgument(destination, limit, a10);
3447 PIXCopyEventArgument(destination, limit, a11);
3449 *destination = PIXEventsBlockEndMarker;
3450 threadInfo->destination = destination;
3452 else if (limit !=
nullptr)
3454 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
3458 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
3459 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
3462 UINT64* destination = threadInfo->destination;
3463 UINT64* limit = threadInfo->biasedLimit;
3464 if (destination < limit)
3466 limit += PIXEventsSafeFastCopySpaceQwords;
3467 UINT64 time = PIXGetTimestampCounter();
3468 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3469 *destination++ = color;
3471 PIXCopyEventArgument(destination, limit, formatString);
3472 PIXCopyEventArgument(destination, limit, a1);
3473 PIXCopyEventArgument(destination, limit, a2);
3474 PIXCopyEventArgument(destination, limit, a3);
3475 PIXCopyEventArgument(destination, limit, a4);
3476 PIXCopyEventArgument(destination, limit, a5);
3477 PIXCopyEventArgument(destination, limit, a6);
3478 PIXCopyEventArgument(destination, limit, a7);
3479 PIXCopyEventArgument(destination, limit, a8);
3480 PIXCopyEventArgument(destination, limit, a9);
3481 PIXCopyEventArgument(destination, limit, a10);
3482 PIXCopyEventArgument(destination, limit, a11);
3483 PIXCopyEventArgument(destination, limit, a12);
3485 *destination = PIXEventsBlockEndMarker;
3486 threadInfo->destination = destination;
3488 else if (limit !=
nullptr)
3490 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
3494 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
3495 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
3498 UINT64* destination = threadInfo->destination;
3499 UINT64* limit = threadInfo->biasedLimit;
3500 if (destination < limit)
3502 limit += PIXEventsSafeFastCopySpaceQwords;
3503 UINT64 time = PIXGetTimestampCounter();
3504 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3505 *destination++ = color;
3507 PIXCopyEventArgument(destination, limit, formatString);
3508 PIXCopyEventArgument(destination, limit, a1);
3509 PIXCopyEventArgument(destination, limit, a2);
3510 PIXCopyEventArgument(destination, limit, a3);
3511 PIXCopyEventArgument(destination, limit, a4);
3512 PIXCopyEventArgument(destination, limit, a5);
3513 PIXCopyEventArgument(destination, limit, a6);
3514 PIXCopyEventArgument(destination, limit, a7);
3515 PIXCopyEventArgument(destination, limit, a8);
3516 PIXCopyEventArgument(destination, limit, a9);
3517 PIXCopyEventArgument(destination, limit, a10);
3518 PIXCopyEventArgument(destination, limit, a11);
3519 PIXCopyEventArgument(destination, limit, a12);
3520 PIXCopyEventArgument(destination, limit, a13);
3522 *destination = PIXEventsBlockEndMarker;
3523 threadInfo->destination = destination;
3525 else if (limit !=
nullptr)
3527 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
3531 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
3532 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
3535 UINT64* destination = threadInfo->destination;
3536 UINT64* limit = threadInfo->biasedLimit;
3537 if (destination < limit)
3539 limit += PIXEventsSafeFastCopySpaceQwords;
3540 UINT64 time = PIXGetTimestampCounter();
3541 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3542 *destination++ = color;
3544 PIXCopyEventArgument(destination, limit, formatString);
3545 PIXCopyEventArgument(destination, limit, a1);
3546 PIXCopyEventArgument(destination, limit, a2);
3547 PIXCopyEventArgument(destination, limit, a3);
3548 PIXCopyEventArgument(destination, limit, a4);
3549 PIXCopyEventArgument(destination, limit, a5);
3550 PIXCopyEventArgument(destination, limit, a6);
3551 PIXCopyEventArgument(destination, limit, a7);
3552 PIXCopyEventArgument(destination, limit, a8);
3553 PIXCopyEventArgument(destination, limit, a9);
3554 PIXCopyEventArgument(destination, limit, a10);
3555 PIXCopyEventArgument(destination, limit, a11);
3556 PIXCopyEventArgument(destination, limit, a12);
3557 PIXCopyEventArgument(destination, limit, a13);
3558 PIXCopyEventArgument(destination, limit, a14);
3560 *destination = PIXEventsBlockEndMarker;
3561 threadInfo->destination = destination;
3563 else if (limit !=
nullptr)
3565 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
3569 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
3570 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
3573 UINT64* destination = threadInfo->destination;
3574 UINT64* limit = threadInfo->biasedLimit;
3575 if (destination < limit)
3577 limit += PIXEventsSafeFastCopySpaceQwords;
3578 UINT64 time = PIXGetTimestampCounter();
3579 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3580 *destination++ = color;
3582 PIXCopyEventArgument(destination, limit, formatString);
3583 PIXCopyEventArgument(destination, limit, a1);
3584 PIXCopyEventArgument(destination, limit, a2);
3585 PIXCopyEventArgument(destination, limit, a3);
3586 PIXCopyEventArgument(destination, limit, a4);
3587 PIXCopyEventArgument(destination, limit, a5);
3588 PIXCopyEventArgument(destination, limit, a6);
3589 PIXCopyEventArgument(destination, limit, a7);
3590 PIXCopyEventArgument(destination, limit, a8);
3591 PIXCopyEventArgument(destination, limit, a9);
3592 PIXCopyEventArgument(destination, limit, a10);
3593 PIXCopyEventArgument(destination, limit, a11);
3594 PIXCopyEventArgument(destination, limit, a12);
3595 PIXCopyEventArgument(destination, limit, a13);
3596 PIXCopyEventArgument(destination, limit, a14);
3597 PIXCopyEventArgument(destination, limit, a15);
3599 *destination = PIXEventsBlockEndMarker;
3600 threadInfo->destination = destination;
3602 else if (limit !=
nullptr)
3604 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
3608 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
3609 inline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
3612 UINT64* destination = threadInfo->destination;
3613 UINT64* limit = threadInfo->biasedLimit;
3614 if (destination < limit)
3616 limit += PIXEventsSafeFastCopySpaceQwords;
3617 UINT64 time = PIXGetTimestampCounter();
3618 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3619 *destination++ = color;
3621 PIXCopyEventArgument(destination, limit, formatString);
3622 PIXCopyEventArgument(destination, limit, a1);
3623 PIXCopyEventArgument(destination, limit, a2);
3624 PIXCopyEventArgument(destination, limit, a3);
3625 PIXCopyEventArgument(destination, limit, a4);
3626 PIXCopyEventArgument(destination, limit, a5);
3627 PIXCopyEventArgument(destination, limit, a6);
3628 PIXCopyEventArgument(destination, limit, a7);
3629 PIXCopyEventArgument(destination, limit, a8);
3630 PIXCopyEventArgument(destination, limit, a9);
3631 PIXCopyEventArgument(destination, limit, a10);
3632 PIXCopyEventArgument(destination, limit, a11);
3633 PIXCopyEventArgument(destination, limit, a12);
3634 PIXCopyEventArgument(destination, limit, a13);
3635 PIXCopyEventArgument(destination, limit, a14);
3636 PIXCopyEventArgument(destination, limit, a15);
3637 PIXCopyEventArgument(destination, limit, a16);
3639 *destination = PIXEventsBlockEndMarker;
3640 threadInfo->destination = destination;
3642 else if (limit !=
nullptr)
3644 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
3648 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString)
3651 UINT64* destination = threadInfo->destination;
3652 UINT64* limit = threadInfo->biasedLimit;
3653 if (destination < limit)
3655 limit += PIXEventsSafeFastCopySpaceQwords;
3656 UINT64 time = PIXGetTimestampCounter();
3657 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);
3658 *destination++ = color;
3660 PIXCopyEventArgument(destination, limit, formatString);
3662 *destination = PIXEventsBlockEndMarker;
3663 threadInfo->destination = destination;
3665 else if (limit !=
nullptr)
3667 PIXSetMarkerAllocate(color, formatString);
3672 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1)
3675 UINT64* destination = threadInfo->destination;
3676 UINT64* limit = threadInfo->biasedLimit;
3677 if (destination < limit)
3679 limit += PIXEventsSafeFastCopySpaceQwords;
3680 UINT64 time = PIXGetTimestampCounter();
3681 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3682 *destination++ = color;
3684 PIXCopyEventArgument(destination, limit, formatString);
3685 PIXCopyEventArgument(destination, limit, a1);
3687 *destination = PIXEventsBlockEndMarker;
3688 threadInfo->destination = destination;
3690 else if (limit !=
nullptr)
3692 PIXSetMarkerAllocate(color, formatString, a1);
3696 template<
class T1,
class T2>
3697 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
3700 UINT64* destination = threadInfo->destination;
3701 UINT64* limit = threadInfo->biasedLimit;
3702 if (destination < limit)
3704 limit += PIXEventsSafeFastCopySpaceQwords;
3705 UINT64 time = PIXGetTimestampCounter();
3706 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3707 *destination++ = color;
3709 PIXCopyEventArgument(destination, limit, formatString);
3710 PIXCopyEventArgument(destination, limit, a1);
3711 PIXCopyEventArgument(destination, limit, a2);
3713 *destination = PIXEventsBlockEndMarker;
3714 threadInfo->destination = destination;
3716 else if (limit !=
nullptr)
3718 PIXSetMarkerAllocate(color, formatString, a1, a2);
3722 template<
class T1,
class T2,
class T3>
3723 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
3726 UINT64* destination = threadInfo->destination;
3727 UINT64* limit = threadInfo->biasedLimit;
3728 if (destination < limit)
3730 limit += PIXEventsSafeFastCopySpaceQwords;
3731 UINT64 time = PIXGetTimestampCounter();
3732 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3733 *destination++ = color;
3735 PIXCopyEventArgument(destination, limit, formatString);
3736 PIXCopyEventArgument(destination, limit, a1);
3737 PIXCopyEventArgument(destination, limit, a2);
3738 PIXCopyEventArgument(destination, limit, a3);
3740 *destination = PIXEventsBlockEndMarker;
3741 threadInfo->destination = destination;
3743 else if (limit !=
nullptr)
3745 PIXSetMarkerAllocate(color, formatString, a1, a2, a3);
3749 template<
class T1,
class T2,
class T3,
class T4>
3750 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
3753 UINT64* destination = threadInfo->destination;
3754 UINT64* limit = threadInfo->biasedLimit;
3755 if (destination < limit)
3757 limit += PIXEventsSafeFastCopySpaceQwords;
3758 UINT64 time = PIXGetTimestampCounter();
3759 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3760 *destination++ = color;
3762 PIXCopyEventArgument(destination, limit, formatString);
3763 PIXCopyEventArgument(destination, limit, a1);
3764 PIXCopyEventArgument(destination, limit, a2);
3765 PIXCopyEventArgument(destination, limit, a3);
3766 PIXCopyEventArgument(destination, limit, a4);
3768 *destination = PIXEventsBlockEndMarker;
3769 threadInfo->destination = destination;
3771 else if (limit !=
nullptr)
3773 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4);
3777 template<
class T1,
class T2,
class T3,
class T4,
class T5>
3778 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
3781 UINT64* destination = threadInfo->destination;
3782 UINT64* limit = threadInfo->biasedLimit;
3783 if (destination < limit)
3785 limit += PIXEventsSafeFastCopySpaceQwords;
3786 UINT64 time = PIXGetTimestampCounter();
3787 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3788 *destination++ = color;
3790 PIXCopyEventArgument(destination, limit, formatString);
3791 PIXCopyEventArgument(destination, limit, a1);
3792 PIXCopyEventArgument(destination, limit, a2);
3793 PIXCopyEventArgument(destination, limit, a3);
3794 PIXCopyEventArgument(destination, limit, a4);
3795 PIXCopyEventArgument(destination, limit, a5);
3797 *destination = PIXEventsBlockEndMarker;
3798 threadInfo->destination = destination;
3800 else if (limit !=
nullptr)
3802 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5);
3806 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
3807 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
3810 UINT64* destination = threadInfo->destination;
3811 UINT64* limit = threadInfo->biasedLimit;
3812 if (destination < limit)
3814 limit += PIXEventsSafeFastCopySpaceQwords;
3815 UINT64 time = PIXGetTimestampCounter();
3816 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3817 *destination++ = color;
3819 PIXCopyEventArgument(destination, limit, formatString);
3820 PIXCopyEventArgument(destination, limit, a1);
3821 PIXCopyEventArgument(destination, limit, a2);
3822 PIXCopyEventArgument(destination, limit, a3);
3823 PIXCopyEventArgument(destination, limit, a4);
3824 PIXCopyEventArgument(destination, limit, a5);
3825 PIXCopyEventArgument(destination, limit, a6);
3827 *destination = PIXEventsBlockEndMarker;
3828 threadInfo->destination = destination;
3830 else if (limit !=
nullptr)
3832 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6);
3836 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
3837 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
3840 UINT64* destination = threadInfo->destination;
3841 UINT64* limit = threadInfo->biasedLimit;
3842 if (destination < limit)
3844 limit += PIXEventsSafeFastCopySpaceQwords;
3845 UINT64 time = PIXGetTimestampCounter();
3846 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3847 *destination++ = color;
3849 PIXCopyEventArgument(destination, limit, formatString);
3850 PIXCopyEventArgument(destination, limit, a1);
3851 PIXCopyEventArgument(destination, limit, a2);
3852 PIXCopyEventArgument(destination, limit, a3);
3853 PIXCopyEventArgument(destination, limit, a4);
3854 PIXCopyEventArgument(destination, limit, a5);
3855 PIXCopyEventArgument(destination, limit, a6);
3856 PIXCopyEventArgument(destination, limit, a7);
3858 *destination = PIXEventsBlockEndMarker;
3859 threadInfo->destination = destination;
3861 else if (limit !=
nullptr)
3863 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);
3867 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
3868 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
3871 UINT64* destination = threadInfo->destination;
3872 UINT64* limit = threadInfo->biasedLimit;
3873 if (destination < limit)
3875 limit += PIXEventsSafeFastCopySpaceQwords;
3876 UINT64 time = PIXGetTimestampCounter();
3877 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3878 *destination++ = color;
3880 PIXCopyEventArgument(destination, limit, formatString);
3881 PIXCopyEventArgument(destination, limit, a1);
3882 PIXCopyEventArgument(destination, limit, a2);
3883 PIXCopyEventArgument(destination, limit, a3);
3884 PIXCopyEventArgument(destination, limit, a4);
3885 PIXCopyEventArgument(destination, limit, a5);
3886 PIXCopyEventArgument(destination, limit, a6);
3887 PIXCopyEventArgument(destination, limit, a7);
3888 PIXCopyEventArgument(destination, limit, a8);
3890 *destination = PIXEventsBlockEndMarker;
3891 threadInfo->destination = destination;
3893 else if (limit !=
nullptr)
3895 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
3899 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
3900 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
3903 UINT64* destination = threadInfo->destination;
3904 UINT64* limit = threadInfo->biasedLimit;
3905 if (destination < limit)
3907 limit += PIXEventsSafeFastCopySpaceQwords;
3908 UINT64 time = PIXGetTimestampCounter();
3909 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3910 *destination++ = color;
3912 PIXCopyEventArgument(destination, limit, formatString);
3913 PIXCopyEventArgument(destination, limit, a1);
3914 PIXCopyEventArgument(destination, limit, a2);
3915 PIXCopyEventArgument(destination, limit, a3);
3916 PIXCopyEventArgument(destination, limit, a4);
3917 PIXCopyEventArgument(destination, limit, a5);
3918 PIXCopyEventArgument(destination, limit, a6);
3919 PIXCopyEventArgument(destination, limit, a7);
3920 PIXCopyEventArgument(destination, limit, a8);
3921 PIXCopyEventArgument(destination, limit, a9);
3923 *destination = PIXEventsBlockEndMarker;
3924 threadInfo->destination = destination;
3926 else if (limit !=
nullptr)
3928 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
3932 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
3933 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
3936 UINT64* destination = threadInfo->destination;
3937 UINT64* limit = threadInfo->biasedLimit;
3938 if (destination < limit)
3940 limit += PIXEventsSafeFastCopySpaceQwords;
3941 UINT64 time = PIXGetTimestampCounter();
3942 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3943 *destination++ = color;
3945 PIXCopyEventArgument(destination, limit, formatString);
3946 PIXCopyEventArgument(destination, limit, a1);
3947 PIXCopyEventArgument(destination, limit, a2);
3948 PIXCopyEventArgument(destination, limit, a3);
3949 PIXCopyEventArgument(destination, limit, a4);
3950 PIXCopyEventArgument(destination, limit, a5);
3951 PIXCopyEventArgument(destination, limit, a6);
3952 PIXCopyEventArgument(destination, limit, a7);
3953 PIXCopyEventArgument(destination, limit, a8);
3954 PIXCopyEventArgument(destination, limit, a9);
3955 PIXCopyEventArgument(destination, limit, a10);
3957 *destination = PIXEventsBlockEndMarker;
3958 threadInfo->destination = destination;
3960 else if (limit !=
nullptr)
3962 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
3966 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
3967 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
3970 UINT64* destination = threadInfo->destination;
3971 UINT64* limit = threadInfo->biasedLimit;
3972 if (destination < limit)
3974 limit += PIXEventsSafeFastCopySpaceQwords;
3975 UINT64 time = PIXGetTimestampCounter();
3976 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
3977 *destination++ = color;
3979 PIXCopyEventArgument(destination, limit, formatString);
3980 PIXCopyEventArgument(destination, limit, a1);
3981 PIXCopyEventArgument(destination, limit, a2);
3982 PIXCopyEventArgument(destination, limit, a3);
3983 PIXCopyEventArgument(destination, limit, a4);
3984 PIXCopyEventArgument(destination, limit, a5);
3985 PIXCopyEventArgument(destination, limit, a6);
3986 PIXCopyEventArgument(destination, limit, a7);
3987 PIXCopyEventArgument(destination, limit, a8);
3988 PIXCopyEventArgument(destination, limit, a9);
3989 PIXCopyEventArgument(destination, limit, a10);
3990 PIXCopyEventArgument(destination, limit, a11);
3992 *destination = PIXEventsBlockEndMarker;
3993 threadInfo->destination = destination;
3995 else if (limit !=
nullptr)
3997 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
4001 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
4002 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
4005 UINT64* destination = threadInfo->destination;
4006 UINT64* limit = threadInfo->biasedLimit;
4007 if (destination < limit)
4009 limit += PIXEventsSafeFastCopySpaceQwords;
4010 UINT64 time = PIXGetTimestampCounter();
4011 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
4012 *destination++ = color;
4014 PIXCopyEventArgument(destination, limit, formatString);
4015 PIXCopyEventArgument(destination, limit, a1);
4016 PIXCopyEventArgument(destination, limit, a2);
4017 PIXCopyEventArgument(destination, limit, a3);
4018 PIXCopyEventArgument(destination, limit, a4);
4019 PIXCopyEventArgument(destination, limit, a5);
4020 PIXCopyEventArgument(destination, limit, a6);
4021 PIXCopyEventArgument(destination, limit, a7);
4022 PIXCopyEventArgument(destination, limit, a8);
4023 PIXCopyEventArgument(destination, limit, a9);
4024 PIXCopyEventArgument(destination, limit, a10);
4025 PIXCopyEventArgument(destination, limit, a11);
4026 PIXCopyEventArgument(destination, limit, a12);
4028 *destination = PIXEventsBlockEndMarker;
4029 threadInfo->destination = destination;
4031 else if (limit !=
nullptr)
4033 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
4037 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
4038 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
4041 UINT64* destination = threadInfo->destination;
4042 UINT64* limit = threadInfo->biasedLimit;
4043 if (destination < limit)
4045 limit += PIXEventsSafeFastCopySpaceQwords;
4046 UINT64 time = PIXGetTimestampCounter();
4047 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
4048 *destination++ = color;
4050 PIXCopyEventArgument(destination, limit, formatString);
4051 PIXCopyEventArgument(destination, limit, a1);
4052 PIXCopyEventArgument(destination, limit, a2);
4053 PIXCopyEventArgument(destination, limit, a3);
4054 PIXCopyEventArgument(destination, limit, a4);
4055 PIXCopyEventArgument(destination, limit, a5);
4056 PIXCopyEventArgument(destination, limit, a6);
4057 PIXCopyEventArgument(destination, limit, a7);
4058 PIXCopyEventArgument(destination, limit, a8);
4059 PIXCopyEventArgument(destination, limit, a9);
4060 PIXCopyEventArgument(destination, limit, a10);
4061 PIXCopyEventArgument(destination, limit, a11);
4062 PIXCopyEventArgument(destination, limit, a12);
4063 PIXCopyEventArgument(destination, limit, a13);
4065 *destination = PIXEventsBlockEndMarker;
4066 threadInfo->destination = destination;
4068 else if (limit !=
nullptr)
4070 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
4074 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
4075 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
4078 UINT64* destination = threadInfo->destination;
4079 UINT64* limit = threadInfo->biasedLimit;
4080 if (destination < limit)
4082 limit += PIXEventsSafeFastCopySpaceQwords;
4083 UINT64 time = PIXGetTimestampCounter();
4084 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
4085 *destination++ = color;
4087 PIXCopyEventArgument(destination, limit, formatString);
4088 PIXCopyEventArgument(destination, limit, a1);
4089 PIXCopyEventArgument(destination, limit, a2);
4090 PIXCopyEventArgument(destination, limit, a3);
4091 PIXCopyEventArgument(destination, limit, a4);
4092 PIXCopyEventArgument(destination, limit, a5);
4093 PIXCopyEventArgument(destination, limit, a6);
4094 PIXCopyEventArgument(destination, limit, a7);
4095 PIXCopyEventArgument(destination, limit, a8);
4096 PIXCopyEventArgument(destination, limit, a9);
4097 PIXCopyEventArgument(destination, limit, a10);
4098 PIXCopyEventArgument(destination, limit, a11);
4099 PIXCopyEventArgument(destination, limit, a12);
4100 PIXCopyEventArgument(destination, limit, a13);
4101 PIXCopyEventArgument(destination, limit, a14);
4103 *destination = PIXEventsBlockEndMarker;
4104 threadInfo->destination = destination;
4106 else if (limit !=
nullptr)
4108 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
4112 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
4113 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
4116 UINT64* destination = threadInfo->destination;
4117 UINT64* limit = threadInfo->biasedLimit;
4118 if (destination < limit)
4120 limit += PIXEventsSafeFastCopySpaceQwords;
4121 UINT64 time = PIXGetTimestampCounter();
4122 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
4123 *destination++ = color;
4125 PIXCopyEventArgument(destination, limit, formatString);
4126 PIXCopyEventArgument(destination, limit, a1);
4127 PIXCopyEventArgument(destination, limit, a2);
4128 PIXCopyEventArgument(destination, limit, a3);
4129 PIXCopyEventArgument(destination, limit, a4);
4130 PIXCopyEventArgument(destination, limit, a5);
4131 PIXCopyEventArgument(destination, limit, a6);
4132 PIXCopyEventArgument(destination, limit, a7);
4133 PIXCopyEventArgument(destination, limit, a8);
4134 PIXCopyEventArgument(destination, limit, a9);
4135 PIXCopyEventArgument(destination, limit, a10);
4136 PIXCopyEventArgument(destination, limit, a11);
4137 PIXCopyEventArgument(destination, limit, a12);
4138 PIXCopyEventArgument(destination, limit, a13);
4139 PIXCopyEventArgument(destination, limit, a14);
4140 PIXCopyEventArgument(destination, limit, a15);
4142 *destination = PIXEventsBlockEndMarker;
4143 threadInfo->destination = destination;
4145 else if (limit !=
nullptr)
4147 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
4151 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
4152 inline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
4155 UINT64* destination = threadInfo->destination;
4156 UINT64* limit = threadInfo->biasedLimit;
4157 if (destination < limit)
4159 limit += PIXEventsSafeFastCopySpaceQwords;
4160 UINT64 time = PIXGetTimestampCounter();
4161 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);
4162 *destination++ = color;
4164 PIXCopyEventArgument(destination, limit, formatString);
4165 PIXCopyEventArgument(destination, limit, a1);
4166 PIXCopyEventArgument(destination, limit, a2);
4167 PIXCopyEventArgument(destination, limit, a3);
4168 PIXCopyEventArgument(destination, limit, a4);
4169 PIXCopyEventArgument(destination, limit, a5);
4170 PIXCopyEventArgument(destination, limit, a6);
4171 PIXCopyEventArgument(destination, limit, a7);
4172 PIXCopyEventArgument(destination, limit, a8);
4173 PIXCopyEventArgument(destination, limit, a9);
4174 PIXCopyEventArgument(destination, limit, a10);
4175 PIXCopyEventArgument(destination, limit, a11);
4176 PIXCopyEventArgument(destination, limit, a12);
4177 PIXCopyEventArgument(destination, limit, a13);
4178 PIXCopyEventArgument(destination, limit, a14);
4179 PIXCopyEventArgument(destination, limit, a15);
4180 PIXCopyEventArgument(destination, limit, a16);
4182 *destination = PIXEventsBlockEndMarker;
4183 threadInfo->destination = destination;
4185 else if (limit !=
nullptr)
4187 PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
4191 template<
class TContext>
4192 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString)
4194 PIXBeginCPUEventOnContext(context, color, formatString);
4196 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4197 UINT64* destination = buffer;
4198 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4200 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_NoArgs);
4201 *destination++ = color;
4203 PIXCopyEventArgument(destination, limit, formatString);
4204 *destination = 0ull;
4205 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4208 template<
class TContext,
class T1>
4209 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1)
4211 PIXBeginCPUEventOnContext(context, color, formatString, a1);
4213 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4214 UINT64* destination = buffer;
4215 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4217 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4218 *destination++ = color;
4220 PIXCopyEventArgument(destination, limit, formatString);
4221 PIXCopyEventArgument(destination, limit, a1);
4222 *destination = 0ull;
4223 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4226 template<
class TContext,
class T1,
class T2>
4227 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
4229 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2);
4231 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4232 UINT64* destination = buffer;
4233 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4235 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4236 *destination++ = color;
4238 PIXCopyEventArgument(destination, limit, formatString);
4239 PIXCopyEventArgument(destination, limit, a1);
4240 PIXCopyEventArgument(destination, limit, a2);
4241 *destination = 0ull;
4242 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4245 template<
class TContext,
class T1,
class T2,
class T3>
4246 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
4248 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3);
4250 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4251 UINT64* destination = buffer;
4252 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4254 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4255 *destination++ = color;
4257 PIXCopyEventArgument(destination, limit, formatString);
4258 PIXCopyEventArgument(destination, limit, a1);
4259 PIXCopyEventArgument(destination, limit, a2);
4260 PIXCopyEventArgument(destination, limit, a3);
4261 *destination = 0ull;
4262 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4265 template<
class TContext,
class T1,
class T2,
class T3,
class T4>
4266 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
4268 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4);
4270 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4271 UINT64* destination = buffer;
4272 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4274 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4275 *destination++ = color;
4277 PIXCopyEventArgument(destination, limit, formatString);
4278 PIXCopyEventArgument(destination, limit, a1);
4279 PIXCopyEventArgument(destination, limit, a2);
4280 PIXCopyEventArgument(destination, limit, a3);
4281 PIXCopyEventArgument(destination, limit, a4);
4282 *destination = 0ull;
4283 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4286 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5>
4287 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
4289 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5);
4291 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4292 UINT64* destination = buffer;
4293 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4295 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4296 *destination++ = color;
4298 PIXCopyEventArgument(destination, limit, formatString);
4299 PIXCopyEventArgument(destination, limit, a1);
4300 PIXCopyEventArgument(destination, limit, a2);
4301 PIXCopyEventArgument(destination, limit, a3);
4302 PIXCopyEventArgument(destination, limit, a4);
4303 PIXCopyEventArgument(destination, limit, a5);
4304 *destination = 0ull;
4305 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4308 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
4309 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
4311 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);
4313 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4314 UINT64* destination = buffer;
4315 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4317 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4318 *destination++ = color;
4320 PIXCopyEventArgument(destination, limit, formatString);
4321 PIXCopyEventArgument(destination, limit, a1);
4322 PIXCopyEventArgument(destination, limit, a2);
4323 PIXCopyEventArgument(destination, limit, a3);
4324 PIXCopyEventArgument(destination, limit, a4);
4325 PIXCopyEventArgument(destination, limit, a5);
4326 PIXCopyEventArgument(destination, limit, a6);
4327 *destination = 0ull;
4328 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4331 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
4332 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
4334 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
4336 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4337 UINT64* destination = buffer;
4338 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4340 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4341 *destination++ = color;
4343 PIXCopyEventArgument(destination, limit, formatString);
4344 PIXCopyEventArgument(destination, limit, a1);
4345 PIXCopyEventArgument(destination, limit, a2);
4346 PIXCopyEventArgument(destination, limit, a3);
4347 PIXCopyEventArgument(destination, limit, a4);
4348 PIXCopyEventArgument(destination, limit, a5);
4349 PIXCopyEventArgument(destination, limit, a6);
4350 PIXCopyEventArgument(destination, limit, a7);
4351 *destination = 0ull;
4352 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4355 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
4356 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
4358 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
4360 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4361 UINT64* destination = buffer;
4362 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4364 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4365 *destination++ = color;
4367 PIXCopyEventArgument(destination, limit, formatString);
4368 PIXCopyEventArgument(destination, limit, a1);
4369 PIXCopyEventArgument(destination, limit, a2);
4370 PIXCopyEventArgument(destination, limit, a3);
4371 PIXCopyEventArgument(destination, limit, a4);
4372 PIXCopyEventArgument(destination, limit, a5);
4373 PIXCopyEventArgument(destination, limit, a6);
4374 PIXCopyEventArgument(destination, limit, a7);
4375 PIXCopyEventArgument(destination, limit, a8);
4376 *destination = 0ull;
4377 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4380 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
4381 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
4383 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
4385 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4386 UINT64* destination = buffer;
4387 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4389 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4390 *destination++ = color;
4392 PIXCopyEventArgument(destination, limit, formatString);
4393 PIXCopyEventArgument(destination, limit, a1);
4394 PIXCopyEventArgument(destination, limit, a2);
4395 PIXCopyEventArgument(destination, limit, a3);
4396 PIXCopyEventArgument(destination, limit, a4);
4397 PIXCopyEventArgument(destination, limit, a5);
4398 PIXCopyEventArgument(destination, limit, a6);
4399 PIXCopyEventArgument(destination, limit, a7);
4400 PIXCopyEventArgument(destination, limit, a8);
4401 PIXCopyEventArgument(destination, limit, a9);
4402 *destination = 0ull;
4403 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4406 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
4407 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
4409 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
4411 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4412 UINT64* destination = buffer;
4413 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4415 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4416 *destination++ = color;
4418 PIXCopyEventArgument(destination, limit, formatString);
4419 PIXCopyEventArgument(destination, limit, a1);
4420 PIXCopyEventArgument(destination, limit, a2);
4421 PIXCopyEventArgument(destination, limit, a3);
4422 PIXCopyEventArgument(destination, limit, a4);
4423 PIXCopyEventArgument(destination, limit, a5);
4424 PIXCopyEventArgument(destination, limit, a6);
4425 PIXCopyEventArgument(destination, limit, a7);
4426 PIXCopyEventArgument(destination, limit, a8);
4427 PIXCopyEventArgument(destination, limit, a9);
4428 PIXCopyEventArgument(destination, limit, a10);
4429 *destination = 0ull;
4430 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4433 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
4434 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
4436 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
4438 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4439 UINT64* destination = buffer;
4440 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4442 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4443 *destination++ = color;
4445 PIXCopyEventArgument(destination, limit, formatString);
4446 PIXCopyEventArgument(destination, limit, a1);
4447 PIXCopyEventArgument(destination, limit, a2);
4448 PIXCopyEventArgument(destination, limit, a3);
4449 PIXCopyEventArgument(destination, limit, a4);
4450 PIXCopyEventArgument(destination, limit, a5);
4451 PIXCopyEventArgument(destination, limit, a6);
4452 PIXCopyEventArgument(destination, limit, a7);
4453 PIXCopyEventArgument(destination, limit, a8);
4454 PIXCopyEventArgument(destination, limit, a9);
4455 PIXCopyEventArgument(destination, limit, a10);
4456 PIXCopyEventArgument(destination, limit, a11);
4457 *destination = 0ull;
4458 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4461 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
4462 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
4464 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
4466 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4467 UINT64* destination = buffer;
4468 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4470 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4471 *destination++ = color;
4473 PIXCopyEventArgument(destination, limit, formatString);
4474 PIXCopyEventArgument(destination, limit, a1);
4475 PIXCopyEventArgument(destination, limit, a2);
4476 PIXCopyEventArgument(destination, limit, a3);
4477 PIXCopyEventArgument(destination, limit, a4);
4478 PIXCopyEventArgument(destination, limit, a5);
4479 PIXCopyEventArgument(destination, limit, a6);
4480 PIXCopyEventArgument(destination, limit, a7);
4481 PIXCopyEventArgument(destination, limit, a8);
4482 PIXCopyEventArgument(destination, limit, a9);
4483 PIXCopyEventArgument(destination, limit, a10);
4484 PIXCopyEventArgument(destination, limit, a11);
4485 PIXCopyEventArgument(destination, limit, a12);
4486 *destination = 0ull;
4487 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4490 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
4491 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
4493 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
4495 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4496 UINT64* destination = buffer;
4497 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4499 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4500 *destination++ = color;
4502 PIXCopyEventArgument(destination, limit, formatString);
4503 PIXCopyEventArgument(destination, limit, a1);
4504 PIXCopyEventArgument(destination, limit, a2);
4505 PIXCopyEventArgument(destination, limit, a3);
4506 PIXCopyEventArgument(destination, limit, a4);
4507 PIXCopyEventArgument(destination, limit, a5);
4508 PIXCopyEventArgument(destination, limit, a6);
4509 PIXCopyEventArgument(destination, limit, a7);
4510 PIXCopyEventArgument(destination, limit, a8);
4511 PIXCopyEventArgument(destination, limit, a9);
4512 PIXCopyEventArgument(destination, limit, a10);
4513 PIXCopyEventArgument(destination, limit, a11);
4514 PIXCopyEventArgument(destination, limit, a12);
4515 PIXCopyEventArgument(destination, limit, a13);
4516 *destination = 0ull;
4517 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4520 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
4521 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
4523 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
4525 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4526 UINT64* destination = buffer;
4527 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4529 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4530 *destination++ = color;
4532 PIXCopyEventArgument(destination, limit, formatString);
4533 PIXCopyEventArgument(destination, limit, a1);
4534 PIXCopyEventArgument(destination, limit, a2);
4535 PIXCopyEventArgument(destination, limit, a3);
4536 PIXCopyEventArgument(destination, limit, a4);
4537 PIXCopyEventArgument(destination, limit, a5);
4538 PIXCopyEventArgument(destination, limit, a6);
4539 PIXCopyEventArgument(destination, limit, a7);
4540 PIXCopyEventArgument(destination, limit, a8);
4541 PIXCopyEventArgument(destination, limit, a9);
4542 PIXCopyEventArgument(destination, limit, a10);
4543 PIXCopyEventArgument(destination, limit, a11);
4544 PIXCopyEventArgument(destination, limit, a12);
4545 PIXCopyEventArgument(destination, limit, a13);
4546 PIXCopyEventArgument(destination, limit, a14);
4547 *destination = 0ull;
4548 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4551 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
4552 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
4554 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
4556 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4557 UINT64* destination = buffer;
4558 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4560 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4561 *destination++ = color;
4563 PIXCopyEventArgument(destination, limit, formatString);
4564 PIXCopyEventArgument(destination, limit, a1);
4565 PIXCopyEventArgument(destination, limit, a2);
4566 PIXCopyEventArgument(destination, limit, a3);
4567 PIXCopyEventArgument(destination, limit, a4);
4568 PIXCopyEventArgument(destination, limit, a5);
4569 PIXCopyEventArgument(destination, limit, a6);
4570 PIXCopyEventArgument(destination, limit, a7);
4571 PIXCopyEventArgument(destination, limit, a8);
4572 PIXCopyEventArgument(destination, limit, a9);
4573 PIXCopyEventArgument(destination, limit, a10);
4574 PIXCopyEventArgument(destination, limit, a11);
4575 PIXCopyEventArgument(destination, limit, a12);
4576 PIXCopyEventArgument(destination, limit, a13);
4577 PIXCopyEventArgument(destination, limit, a14);
4578 PIXCopyEventArgument(destination, limit, a15);
4579 *destination = 0ull;
4580 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4583 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
4584 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
4586 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
4588 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4589 UINT64* destination = buffer;
4590 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4592 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4593 *destination++ = color;
4595 PIXCopyEventArgument(destination, limit, formatString);
4596 PIXCopyEventArgument(destination, limit, a1);
4597 PIXCopyEventArgument(destination, limit, a2);
4598 PIXCopyEventArgument(destination, limit, a3);
4599 PIXCopyEventArgument(destination, limit, a4);
4600 PIXCopyEventArgument(destination, limit, a5);
4601 PIXCopyEventArgument(destination, limit, a6);
4602 PIXCopyEventArgument(destination, limit, a7);
4603 PIXCopyEventArgument(destination, limit, a8);
4604 PIXCopyEventArgument(destination, limit, a9);
4605 PIXCopyEventArgument(destination, limit, a10);
4606 PIXCopyEventArgument(destination, limit, a11);
4607 PIXCopyEventArgument(destination, limit, a12);
4608 PIXCopyEventArgument(destination, limit, a13);
4609 PIXCopyEventArgument(destination, limit, a14);
4610 PIXCopyEventArgument(destination, limit, a15);
4611 PIXCopyEventArgument(destination, limit, a16);
4612 *destination = 0ull;
4613 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4616 template<
class TContext>
4617 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString)
4619 PIXBeginCPUEventOnContext(context, color, formatString);
4621 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4622 UINT64* destination = buffer;
4623 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4625 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_NoArgs);
4626 *destination++ = color;
4628 PIXCopyEventArgument(destination, limit, formatString);
4629 *destination = 0ull;
4630 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4633 template<
class TContext,
class T1>
4634 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1)
4636 PIXBeginCPUEventOnContext(context, color, formatString, a1);
4638 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4639 UINT64* destination = buffer;
4640 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4642 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4643 *destination++ = color;
4645 PIXCopyEventArgument(destination, limit, formatString);
4646 PIXCopyEventArgument(destination, limit, a1);
4647 *destination = 0ull;
4648 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4651 template<
class TContext,
class T1,
class T2>
4652 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
4654 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2);
4656 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4657 UINT64* destination = buffer;
4658 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4660 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4661 *destination++ = color;
4663 PIXCopyEventArgument(destination, limit, formatString);
4664 PIXCopyEventArgument(destination, limit, a1);
4665 PIXCopyEventArgument(destination, limit, a2);
4666 *destination = 0ull;
4667 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4670 template<
class TContext,
class T1,
class T2,
class T3>
4671 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
4673 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3);
4675 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4676 UINT64* destination = buffer;
4677 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4679 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4680 *destination++ = color;
4682 PIXCopyEventArgument(destination, limit, formatString);
4683 PIXCopyEventArgument(destination, limit, a1);
4684 PIXCopyEventArgument(destination, limit, a2);
4685 PIXCopyEventArgument(destination, limit, a3);
4686 *destination = 0ull;
4687 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4690 template<
class TContext,
class T1,
class T2,
class T3,
class T4>
4691 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
4693 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4);
4695 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4696 UINT64* destination = buffer;
4697 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4699 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4700 *destination++ = color;
4702 PIXCopyEventArgument(destination, limit, formatString);
4703 PIXCopyEventArgument(destination, limit, a1);
4704 PIXCopyEventArgument(destination, limit, a2);
4705 PIXCopyEventArgument(destination, limit, a3);
4706 PIXCopyEventArgument(destination, limit, a4);
4707 *destination = 0ull;
4708 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4711 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5>
4712 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
4714 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5);
4716 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4717 UINT64* destination = buffer;
4718 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4720 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4721 *destination++ = color;
4723 PIXCopyEventArgument(destination, limit, formatString);
4724 PIXCopyEventArgument(destination, limit, a1);
4725 PIXCopyEventArgument(destination, limit, a2);
4726 PIXCopyEventArgument(destination, limit, a3);
4727 PIXCopyEventArgument(destination, limit, a4);
4728 PIXCopyEventArgument(destination, limit, a5);
4729 *destination = 0ull;
4730 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4733 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
4734 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
4736 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);
4738 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4739 UINT64* destination = buffer;
4740 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4742 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4743 *destination++ = color;
4745 PIXCopyEventArgument(destination, limit, formatString);
4746 PIXCopyEventArgument(destination, limit, a1);
4747 PIXCopyEventArgument(destination, limit, a2);
4748 PIXCopyEventArgument(destination, limit, a3);
4749 PIXCopyEventArgument(destination, limit, a4);
4750 PIXCopyEventArgument(destination, limit, a5);
4751 PIXCopyEventArgument(destination, limit, a6);
4752 *destination = 0ull;
4753 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4756 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
4757 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
4759 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
4761 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4762 UINT64* destination = buffer;
4763 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4765 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4766 *destination++ = color;
4768 PIXCopyEventArgument(destination, limit, formatString);
4769 PIXCopyEventArgument(destination, limit, a1);
4770 PIXCopyEventArgument(destination, limit, a2);
4771 PIXCopyEventArgument(destination, limit, a3);
4772 PIXCopyEventArgument(destination, limit, a4);
4773 PIXCopyEventArgument(destination, limit, a5);
4774 PIXCopyEventArgument(destination, limit, a6);
4775 PIXCopyEventArgument(destination, limit, a7);
4776 *destination = 0ull;
4777 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4780 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
4781 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
4783 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
4785 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4786 UINT64* destination = buffer;
4787 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4789 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4790 *destination++ = color;
4792 PIXCopyEventArgument(destination, limit, formatString);
4793 PIXCopyEventArgument(destination, limit, a1);
4794 PIXCopyEventArgument(destination, limit, a2);
4795 PIXCopyEventArgument(destination, limit, a3);
4796 PIXCopyEventArgument(destination, limit, a4);
4797 PIXCopyEventArgument(destination, limit, a5);
4798 PIXCopyEventArgument(destination, limit, a6);
4799 PIXCopyEventArgument(destination, limit, a7);
4800 PIXCopyEventArgument(destination, limit, a8);
4801 *destination = 0ull;
4802 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4805 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
4806 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
4808 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
4810 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4811 UINT64* destination = buffer;
4812 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4814 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4815 *destination++ = color;
4817 PIXCopyEventArgument(destination, limit, formatString);
4818 PIXCopyEventArgument(destination, limit, a1);
4819 PIXCopyEventArgument(destination, limit, a2);
4820 PIXCopyEventArgument(destination, limit, a3);
4821 PIXCopyEventArgument(destination, limit, a4);
4822 PIXCopyEventArgument(destination, limit, a5);
4823 PIXCopyEventArgument(destination, limit, a6);
4824 PIXCopyEventArgument(destination, limit, a7);
4825 PIXCopyEventArgument(destination, limit, a8);
4826 PIXCopyEventArgument(destination, limit, a9);
4827 *destination = 0ull;
4828 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4831 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
4832 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
4834 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
4836 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4837 UINT64* destination = buffer;
4838 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4840 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4841 *destination++ = color;
4843 PIXCopyEventArgument(destination, limit, formatString);
4844 PIXCopyEventArgument(destination, limit, a1);
4845 PIXCopyEventArgument(destination, limit, a2);
4846 PIXCopyEventArgument(destination, limit, a3);
4847 PIXCopyEventArgument(destination, limit, a4);
4848 PIXCopyEventArgument(destination, limit, a5);
4849 PIXCopyEventArgument(destination, limit, a6);
4850 PIXCopyEventArgument(destination, limit, a7);
4851 PIXCopyEventArgument(destination, limit, a8);
4852 PIXCopyEventArgument(destination, limit, a9);
4853 PIXCopyEventArgument(destination, limit, a10);
4854 *destination = 0ull;
4855 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4858 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
4859 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
4861 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
4863 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4864 UINT64* destination = buffer;
4865 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4867 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4868 *destination++ = color;
4870 PIXCopyEventArgument(destination, limit, formatString);
4871 PIXCopyEventArgument(destination, limit, a1);
4872 PIXCopyEventArgument(destination, limit, a2);
4873 PIXCopyEventArgument(destination, limit, a3);
4874 PIXCopyEventArgument(destination, limit, a4);
4875 PIXCopyEventArgument(destination, limit, a5);
4876 PIXCopyEventArgument(destination, limit, a6);
4877 PIXCopyEventArgument(destination, limit, a7);
4878 PIXCopyEventArgument(destination, limit, a8);
4879 PIXCopyEventArgument(destination, limit, a9);
4880 PIXCopyEventArgument(destination, limit, a10);
4881 PIXCopyEventArgument(destination, limit, a11);
4882 *destination = 0ull;
4883 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4886 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
4887 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
4889 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
4891 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4892 UINT64* destination = buffer;
4893 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4895 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4896 *destination++ = color;
4898 PIXCopyEventArgument(destination, limit, formatString);
4899 PIXCopyEventArgument(destination, limit, a1);
4900 PIXCopyEventArgument(destination, limit, a2);
4901 PIXCopyEventArgument(destination, limit, a3);
4902 PIXCopyEventArgument(destination, limit, a4);
4903 PIXCopyEventArgument(destination, limit, a5);
4904 PIXCopyEventArgument(destination, limit, a6);
4905 PIXCopyEventArgument(destination, limit, a7);
4906 PIXCopyEventArgument(destination, limit, a8);
4907 PIXCopyEventArgument(destination, limit, a9);
4908 PIXCopyEventArgument(destination, limit, a10);
4909 PIXCopyEventArgument(destination, limit, a11);
4910 PIXCopyEventArgument(destination, limit, a12);
4911 *destination = 0ull;
4912 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4915 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
4916 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
4918 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
4920 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4921 UINT64* destination = buffer;
4922 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4924 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4925 *destination++ = color;
4927 PIXCopyEventArgument(destination, limit, formatString);
4928 PIXCopyEventArgument(destination, limit, a1);
4929 PIXCopyEventArgument(destination, limit, a2);
4930 PIXCopyEventArgument(destination, limit, a3);
4931 PIXCopyEventArgument(destination, limit, a4);
4932 PIXCopyEventArgument(destination, limit, a5);
4933 PIXCopyEventArgument(destination, limit, a6);
4934 PIXCopyEventArgument(destination, limit, a7);
4935 PIXCopyEventArgument(destination, limit, a8);
4936 PIXCopyEventArgument(destination, limit, a9);
4937 PIXCopyEventArgument(destination, limit, a10);
4938 PIXCopyEventArgument(destination, limit, a11);
4939 PIXCopyEventArgument(destination, limit, a12);
4940 PIXCopyEventArgument(destination, limit, a13);
4941 *destination = 0ull;
4942 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4945 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
4946 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
4948 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
4950 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4951 UINT64* destination = buffer;
4952 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4954 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4955 *destination++ = color;
4957 PIXCopyEventArgument(destination, limit, formatString);
4958 PIXCopyEventArgument(destination, limit, a1);
4959 PIXCopyEventArgument(destination, limit, a2);
4960 PIXCopyEventArgument(destination, limit, a3);
4961 PIXCopyEventArgument(destination, limit, a4);
4962 PIXCopyEventArgument(destination, limit, a5);
4963 PIXCopyEventArgument(destination, limit, a6);
4964 PIXCopyEventArgument(destination, limit, a7);
4965 PIXCopyEventArgument(destination, limit, a8);
4966 PIXCopyEventArgument(destination, limit, a9);
4967 PIXCopyEventArgument(destination, limit, a10);
4968 PIXCopyEventArgument(destination, limit, a11);
4969 PIXCopyEventArgument(destination, limit, a12);
4970 PIXCopyEventArgument(destination, limit, a13);
4971 PIXCopyEventArgument(destination, limit, a14);
4972 *destination = 0ull;
4973 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
4976 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
4977 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
4979 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
4981 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
4982 UINT64* destination = buffer;
4983 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
4985 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
4986 *destination++ = color;
4988 PIXCopyEventArgument(destination, limit, formatString);
4989 PIXCopyEventArgument(destination, limit, a1);
4990 PIXCopyEventArgument(destination, limit, a2);
4991 PIXCopyEventArgument(destination, limit, a3);
4992 PIXCopyEventArgument(destination, limit, a4);
4993 PIXCopyEventArgument(destination, limit, a5);
4994 PIXCopyEventArgument(destination, limit, a6);
4995 PIXCopyEventArgument(destination, limit, a7);
4996 PIXCopyEventArgument(destination, limit, a8);
4997 PIXCopyEventArgument(destination, limit, a9);
4998 PIXCopyEventArgument(destination, limit, a10);
4999 PIXCopyEventArgument(destination, limit, a11);
5000 PIXCopyEventArgument(destination, limit, a12);
5001 PIXCopyEventArgument(destination, limit, a13);
5002 PIXCopyEventArgument(destination, limit, a14);
5003 PIXCopyEventArgument(destination, limit, a15);
5004 *destination = 0ull;
5005 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5008 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
5009 inline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
5011 PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
5013 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5014 UINT64* destination = buffer;
5015 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5017 *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);
5018 *destination++ = color;
5020 PIXCopyEventArgument(destination, limit, formatString);
5021 PIXCopyEventArgument(destination, limit, a1);
5022 PIXCopyEventArgument(destination, limit, a2);
5023 PIXCopyEventArgument(destination, limit, a3);
5024 PIXCopyEventArgument(destination, limit, a4);
5025 PIXCopyEventArgument(destination, limit, a5);
5026 PIXCopyEventArgument(destination, limit, a6);
5027 PIXCopyEventArgument(destination, limit, a7);
5028 PIXCopyEventArgument(destination, limit, a8);
5029 PIXCopyEventArgument(destination, limit, a9);
5030 PIXCopyEventArgument(destination, limit, a10);
5031 PIXCopyEventArgument(destination, limit, a11);
5032 PIXCopyEventArgument(destination, limit, a12);
5033 PIXCopyEventArgument(destination, limit, a13);
5034 PIXCopyEventArgument(destination, limit, a14);
5035 PIXCopyEventArgument(destination, limit, a15);
5036 PIXCopyEventArgument(destination, limit, a16);
5037 *destination = 0ull;
5038 PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5041 template<
class TContext>
5042 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString)
5044 PIXSetCPUMarkerOnContext(context, color, formatString);
5046 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5047 UINT64* destination = buffer;
5048 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5050 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_NoArgs);
5051 *destination++ = color;
5053 PIXCopyEventArgument(destination, limit, formatString);
5054 *destination = 0ull;
5055 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5058 template<
class TContext,
class T1>
5059 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1)
5061 PIXSetCPUMarkerOnContext(context, color, formatString, a1);
5063 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5064 UINT64* destination = buffer;
5065 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5067 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5068 *destination++ = color;
5070 PIXCopyEventArgument(destination, limit, formatString);
5071 PIXCopyEventArgument(destination, limit, a1);
5072 *destination = 0ull;
5073 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5076 template<
class TContext,
class T1,
class T2>
5077 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)
5079 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2);
5081 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5082 UINT64* destination = buffer;
5083 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5085 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5086 *destination++ = color;
5088 PIXCopyEventArgument(destination, limit, formatString);
5089 PIXCopyEventArgument(destination, limit, a1);
5090 PIXCopyEventArgument(destination, limit, a2);
5091 *destination = 0ull;
5092 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5095 template<
class TContext,
class T1,
class T2,
class T3>
5096 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
5098 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3);
5100 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5101 UINT64* destination = buffer;
5102 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5104 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5105 *destination++ = color;
5107 PIXCopyEventArgument(destination, limit, formatString);
5108 PIXCopyEventArgument(destination, limit, a1);
5109 PIXCopyEventArgument(destination, limit, a2);
5110 PIXCopyEventArgument(destination, limit, a3);
5111 *destination = 0ull;
5112 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5115 template<
class TContext,
class T1,
class T2,
class T3,
class T4>
5116 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
5118 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4);
5120 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5121 UINT64* destination = buffer;
5122 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5124 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5125 *destination++ = color;
5127 PIXCopyEventArgument(destination, limit, formatString);
5128 PIXCopyEventArgument(destination, limit, a1);
5129 PIXCopyEventArgument(destination, limit, a2);
5130 PIXCopyEventArgument(destination, limit, a3);
5131 PIXCopyEventArgument(destination, limit, a4);
5132 *destination = 0ull;
5133 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5136 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5>
5137 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
5139 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5);
5141 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5142 UINT64* destination = buffer;
5143 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5145 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5146 *destination++ = color;
5148 PIXCopyEventArgument(destination, limit, formatString);
5149 PIXCopyEventArgument(destination, limit, a1);
5150 PIXCopyEventArgument(destination, limit, a2);
5151 PIXCopyEventArgument(destination, limit, a3);
5152 PIXCopyEventArgument(destination, limit, a4);
5153 PIXCopyEventArgument(destination, limit, a5);
5154 *destination = 0ull;
5155 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5158 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
5159 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
5161 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);
5163 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5164 UINT64* destination = buffer;
5165 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5167 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5168 *destination++ = color;
5170 PIXCopyEventArgument(destination, limit, formatString);
5171 PIXCopyEventArgument(destination, limit, a1);
5172 PIXCopyEventArgument(destination, limit, a2);
5173 PIXCopyEventArgument(destination, limit, a3);
5174 PIXCopyEventArgument(destination, limit, a4);
5175 PIXCopyEventArgument(destination, limit, a5);
5176 PIXCopyEventArgument(destination, limit, a6);
5177 *destination = 0ull;
5178 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5181 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
5182 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
5184 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
5186 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5187 UINT64* destination = buffer;
5188 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5190 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5191 *destination++ = color;
5193 PIXCopyEventArgument(destination, limit, formatString);
5194 PIXCopyEventArgument(destination, limit, a1);
5195 PIXCopyEventArgument(destination, limit, a2);
5196 PIXCopyEventArgument(destination, limit, a3);
5197 PIXCopyEventArgument(destination, limit, a4);
5198 PIXCopyEventArgument(destination, limit, a5);
5199 PIXCopyEventArgument(destination, limit, a6);
5200 PIXCopyEventArgument(destination, limit, a7);
5201 *destination = 0ull;
5202 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5205 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
5206 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
5208 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
5210 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5211 UINT64* destination = buffer;
5212 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5214 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5215 *destination++ = color;
5217 PIXCopyEventArgument(destination, limit, formatString);
5218 PIXCopyEventArgument(destination, limit, a1);
5219 PIXCopyEventArgument(destination, limit, a2);
5220 PIXCopyEventArgument(destination, limit, a3);
5221 PIXCopyEventArgument(destination, limit, a4);
5222 PIXCopyEventArgument(destination, limit, a5);
5223 PIXCopyEventArgument(destination, limit, a6);
5224 PIXCopyEventArgument(destination, limit, a7);
5225 PIXCopyEventArgument(destination, limit, a8);
5226 *destination = 0ull;
5227 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5230 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
5231 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
5233 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
5235 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5236 UINT64* destination = buffer;
5237 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5239 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5240 *destination++ = color;
5242 PIXCopyEventArgument(destination, limit, formatString);
5243 PIXCopyEventArgument(destination, limit, a1);
5244 PIXCopyEventArgument(destination, limit, a2);
5245 PIXCopyEventArgument(destination, limit, a3);
5246 PIXCopyEventArgument(destination, limit, a4);
5247 PIXCopyEventArgument(destination, limit, a5);
5248 PIXCopyEventArgument(destination, limit, a6);
5249 PIXCopyEventArgument(destination, limit, a7);
5250 PIXCopyEventArgument(destination, limit, a8);
5251 PIXCopyEventArgument(destination, limit, a9);
5252 *destination = 0ull;
5253 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5256 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
5257 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
5259 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5261 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5262 UINT64* destination = buffer;
5263 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5265 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5266 *destination++ = color;
5268 PIXCopyEventArgument(destination, limit, formatString);
5269 PIXCopyEventArgument(destination, limit, a1);
5270 PIXCopyEventArgument(destination, limit, a2);
5271 PIXCopyEventArgument(destination, limit, a3);
5272 PIXCopyEventArgument(destination, limit, a4);
5273 PIXCopyEventArgument(destination, limit, a5);
5274 PIXCopyEventArgument(destination, limit, a6);
5275 PIXCopyEventArgument(destination, limit, a7);
5276 PIXCopyEventArgument(destination, limit, a8);
5277 PIXCopyEventArgument(destination, limit, a9);
5278 PIXCopyEventArgument(destination, limit, a10);
5279 *destination = 0ull;
5280 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5283 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
5284 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
5286 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5288 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5289 UINT64* destination = buffer;
5290 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5292 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5293 *destination++ = color;
5295 PIXCopyEventArgument(destination, limit, formatString);
5296 PIXCopyEventArgument(destination, limit, a1);
5297 PIXCopyEventArgument(destination, limit, a2);
5298 PIXCopyEventArgument(destination, limit, a3);
5299 PIXCopyEventArgument(destination, limit, a4);
5300 PIXCopyEventArgument(destination, limit, a5);
5301 PIXCopyEventArgument(destination, limit, a6);
5302 PIXCopyEventArgument(destination, limit, a7);
5303 PIXCopyEventArgument(destination, limit, a8);
5304 PIXCopyEventArgument(destination, limit, a9);
5305 PIXCopyEventArgument(destination, limit, a10);
5306 PIXCopyEventArgument(destination, limit, a11);
5307 *destination = 0ull;
5308 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5311 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
5312 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
5314 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5316 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5317 UINT64* destination = buffer;
5318 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5320 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5321 *destination++ = color;
5323 PIXCopyEventArgument(destination, limit, formatString);
5324 PIXCopyEventArgument(destination, limit, a1);
5325 PIXCopyEventArgument(destination, limit, a2);
5326 PIXCopyEventArgument(destination, limit, a3);
5327 PIXCopyEventArgument(destination, limit, a4);
5328 PIXCopyEventArgument(destination, limit, a5);
5329 PIXCopyEventArgument(destination, limit, a6);
5330 PIXCopyEventArgument(destination, limit, a7);
5331 PIXCopyEventArgument(destination, limit, a8);
5332 PIXCopyEventArgument(destination, limit, a9);
5333 PIXCopyEventArgument(destination, limit, a10);
5334 PIXCopyEventArgument(destination, limit, a11);
5335 PIXCopyEventArgument(destination, limit, a12);
5336 *destination = 0ull;
5337 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5340 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
5341 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
5343 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
5345 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5346 UINT64* destination = buffer;
5347 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5349 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5350 *destination++ = color;
5352 PIXCopyEventArgument(destination, limit, formatString);
5353 PIXCopyEventArgument(destination, limit, a1);
5354 PIXCopyEventArgument(destination, limit, a2);
5355 PIXCopyEventArgument(destination, limit, a3);
5356 PIXCopyEventArgument(destination, limit, a4);
5357 PIXCopyEventArgument(destination, limit, a5);
5358 PIXCopyEventArgument(destination, limit, a6);
5359 PIXCopyEventArgument(destination, limit, a7);
5360 PIXCopyEventArgument(destination, limit, a8);
5361 PIXCopyEventArgument(destination, limit, a9);
5362 PIXCopyEventArgument(destination, limit, a10);
5363 PIXCopyEventArgument(destination, limit, a11);
5364 PIXCopyEventArgument(destination, limit, a12);
5365 PIXCopyEventArgument(destination, limit, a13);
5366 *destination = 0ull;
5367 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5370 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
5371 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
5373 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5375 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5376 UINT64* destination = buffer;
5377 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5379 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5380 *destination++ = color;
5382 PIXCopyEventArgument(destination, limit, formatString);
5383 PIXCopyEventArgument(destination, limit, a1);
5384 PIXCopyEventArgument(destination, limit, a2);
5385 PIXCopyEventArgument(destination, limit, a3);
5386 PIXCopyEventArgument(destination, limit, a4);
5387 PIXCopyEventArgument(destination, limit, a5);
5388 PIXCopyEventArgument(destination, limit, a6);
5389 PIXCopyEventArgument(destination, limit, a7);
5390 PIXCopyEventArgument(destination, limit, a8);
5391 PIXCopyEventArgument(destination, limit, a9);
5392 PIXCopyEventArgument(destination, limit, a10);
5393 PIXCopyEventArgument(destination, limit, a11);
5394 PIXCopyEventArgument(destination, limit, a12);
5395 PIXCopyEventArgument(destination, limit, a13);
5396 PIXCopyEventArgument(destination, limit, a14);
5397 *destination = 0ull;
5398 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5401 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
5402 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
5404 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
5406 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5407 UINT64* destination = buffer;
5408 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5410 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5411 *destination++ = color;
5413 PIXCopyEventArgument(destination, limit, formatString);
5414 PIXCopyEventArgument(destination, limit, a1);
5415 PIXCopyEventArgument(destination, limit, a2);
5416 PIXCopyEventArgument(destination, limit, a3);
5417 PIXCopyEventArgument(destination, limit, a4);
5418 PIXCopyEventArgument(destination, limit, a5);
5419 PIXCopyEventArgument(destination, limit, a6);
5420 PIXCopyEventArgument(destination, limit, a7);
5421 PIXCopyEventArgument(destination, limit, a8);
5422 PIXCopyEventArgument(destination, limit, a9);
5423 PIXCopyEventArgument(destination, limit, a10);
5424 PIXCopyEventArgument(destination, limit, a11);
5425 PIXCopyEventArgument(destination, limit, a12);
5426 PIXCopyEventArgument(destination, limit, a13);
5427 PIXCopyEventArgument(destination, limit, a14);
5428 PIXCopyEventArgument(destination, limit, a15);
5429 *destination = 0ull;
5430 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5433 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
5434 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
5436 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
5438 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5439 UINT64* destination = buffer;
5440 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5442 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5443 *destination++ = color;
5445 PIXCopyEventArgument(destination, limit, formatString);
5446 PIXCopyEventArgument(destination, limit, a1);
5447 PIXCopyEventArgument(destination, limit, a2);
5448 PIXCopyEventArgument(destination, limit, a3);
5449 PIXCopyEventArgument(destination, limit, a4);
5450 PIXCopyEventArgument(destination, limit, a5);
5451 PIXCopyEventArgument(destination, limit, a6);
5452 PIXCopyEventArgument(destination, limit, a7);
5453 PIXCopyEventArgument(destination, limit, a8);
5454 PIXCopyEventArgument(destination, limit, a9);
5455 PIXCopyEventArgument(destination, limit, a10);
5456 PIXCopyEventArgument(destination, limit, a11);
5457 PIXCopyEventArgument(destination, limit, a12);
5458 PIXCopyEventArgument(destination, limit, a13);
5459 PIXCopyEventArgument(destination, limit, a14);
5460 PIXCopyEventArgument(destination, limit, a15);
5461 PIXCopyEventArgument(destination, limit, a16);
5462 *destination = 0ull;
5463 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5466 template<
class TContext>
5467 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString)
5469 PIXSetCPUMarkerOnContext(context, color, formatString);
5471 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5472 UINT64* destination = buffer;
5473 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5475 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_NoArgs);
5476 *destination++ = color;
5478 PIXCopyEventArgument(destination, limit, formatString);
5479 *destination = 0ull;
5480 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5483 template<
class TContext,
class T1>
5484 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1)
5486 PIXSetCPUMarkerOnContext(context, color, formatString, a1);
5488 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5489 UINT64* destination = buffer;
5490 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5492 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5493 *destination++ = color;
5495 PIXCopyEventArgument(destination, limit, formatString);
5496 PIXCopyEventArgument(destination, limit, a1);
5497 *destination = 0ull;
5498 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5501 template<
class TContext,
class T1,
class T2>
5502 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)
5504 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2);
5506 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5507 UINT64* destination = buffer;
5508 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5510 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5511 *destination++ = color;
5513 PIXCopyEventArgument(destination, limit, formatString);
5514 PIXCopyEventArgument(destination, limit, a1);
5515 PIXCopyEventArgument(destination, limit, a2);
5516 *destination = 0ull;
5517 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5520 template<
class TContext,
class T1,
class T2,
class T3>
5521 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
5523 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3);
5525 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5526 UINT64* destination = buffer;
5527 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5529 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5530 *destination++ = color;
5532 PIXCopyEventArgument(destination, limit, formatString);
5533 PIXCopyEventArgument(destination, limit, a1);
5534 PIXCopyEventArgument(destination, limit, a2);
5535 PIXCopyEventArgument(destination, limit, a3);
5536 *destination = 0ull;
5537 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5540 template<
class TContext,
class T1,
class T2,
class T3,
class T4>
5541 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
5543 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4);
5545 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5546 UINT64* destination = buffer;
5547 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5549 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5550 *destination++ = color;
5552 PIXCopyEventArgument(destination, limit, formatString);
5553 PIXCopyEventArgument(destination, limit, a1);
5554 PIXCopyEventArgument(destination, limit, a2);
5555 PIXCopyEventArgument(destination, limit, a3);
5556 PIXCopyEventArgument(destination, limit, a4);
5557 *destination = 0ull;
5558 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5561 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5>
5562 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
5564 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5);
5566 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5567 UINT64* destination = buffer;
5568 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5570 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5571 *destination++ = color;
5573 PIXCopyEventArgument(destination, limit, formatString);
5574 PIXCopyEventArgument(destination, limit, a1);
5575 PIXCopyEventArgument(destination, limit, a2);
5576 PIXCopyEventArgument(destination, limit, a3);
5577 PIXCopyEventArgument(destination, limit, a4);
5578 PIXCopyEventArgument(destination, limit, a5);
5579 *destination = 0ull;
5580 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5583 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
5584 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
5586 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);
5588 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5589 UINT64* destination = buffer;
5590 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5592 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5593 *destination++ = color;
5595 PIXCopyEventArgument(destination, limit, formatString);
5596 PIXCopyEventArgument(destination, limit, a1);
5597 PIXCopyEventArgument(destination, limit, a2);
5598 PIXCopyEventArgument(destination, limit, a3);
5599 PIXCopyEventArgument(destination, limit, a4);
5600 PIXCopyEventArgument(destination, limit, a5);
5601 PIXCopyEventArgument(destination, limit, a6);
5602 *destination = 0ull;
5603 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5606 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
5607 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
5609 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
5611 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5612 UINT64* destination = buffer;
5613 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5615 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5616 *destination++ = color;
5618 PIXCopyEventArgument(destination, limit, formatString);
5619 PIXCopyEventArgument(destination, limit, a1);
5620 PIXCopyEventArgument(destination, limit, a2);
5621 PIXCopyEventArgument(destination, limit, a3);
5622 PIXCopyEventArgument(destination, limit, a4);
5623 PIXCopyEventArgument(destination, limit, a5);
5624 PIXCopyEventArgument(destination, limit, a6);
5625 PIXCopyEventArgument(destination, limit, a7);
5626 *destination = 0ull;
5627 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5630 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
5631 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
5633 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
5635 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5636 UINT64* destination = buffer;
5637 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5639 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5640 *destination++ = color;
5642 PIXCopyEventArgument(destination, limit, formatString);
5643 PIXCopyEventArgument(destination, limit, a1);
5644 PIXCopyEventArgument(destination, limit, a2);
5645 PIXCopyEventArgument(destination, limit, a3);
5646 PIXCopyEventArgument(destination, limit, a4);
5647 PIXCopyEventArgument(destination, limit, a5);
5648 PIXCopyEventArgument(destination, limit, a6);
5649 PIXCopyEventArgument(destination, limit, a7);
5650 PIXCopyEventArgument(destination, limit, a8);
5651 *destination = 0ull;
5652 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5655 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
5656 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
5658 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
5660 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5661 UINT64* destination = buffer;
5662 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5664 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5665 *destination++ = color;
5667 PIXCopyEventArgument(destination, limit, formatString);
5668 PIXCopyEventArgument(destination, limit, a1);
5669 PIXCopyEventArgument(destination, limit, a2);
5670 PIXCopyEventArgument(destination, limit, a3);
5671 PIXCopyEventArgument(destination, limit, a4);
5672 PIXCopyEventArgument(destination, limit, a5);
5673 PIXCopyEventArgument(destination, limit, a6);
5674 PIXCopyEventArgument(destination, limit, a7);
5675 PIXCopyEventArgument(destination, limit, a8);
5676 PIXCopyEventArgument(destination, limit, a9);
5677 *destination = 0ull;
5678 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5681 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
5682 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
5684 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5686 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5687 UINT64* destination = buffer;
5688 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5690 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5691 *destination++ = color;
5693 PIXCopyEventArgument(destination, limit, formatString);
5694 PIXCopyEventArgument(destination, limit, a1);
5695 PIXCopyEventArgument(destination, limit, a2);
5696 PIXCopyEventArgument(destination, limit, a3);
5697 PIXCopyEventArgument(destination, limit, a4);
5698 PIXCopyEventArgument(destination, limit, a5);
5699 PIXCopyEventArgument(destination, limit, a6);
5700 PIXCopyEventArgument(destination, limit, a7);
5701 PIXCopyEventArgument(destination, limit, a8);
5702 PIXCopyEventArgument(destination, limit, a9);
5703 PIXCopyEventArgument(destination, limit, a10);
5704 *destination = 0ull;
5705 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5708 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
5709 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
5711 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5713 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5714 UINT64* destination = buffer;
5715 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5717 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5718 *destination++ = color;
5720 PIXCopyEventArgument(destination, limit, formatString);
5721 PIXCopyEventArgument(destination, limit, a1);
5722 PIXCopyEventArgument(destination, limit, a2);
5723 PIXCopyEventArgument(destination, limit, a3);
5724 PIXCopyEventArgument(destination, limit, a4);
5725 PIXCopyEventArgument(destination, limit, a5);
5726 PIXCopyEventArgument(destination, limit, a6);
5727 PIXCopyEventArgument(destination, limit, a7);
5728 PIXCopyEventArgument(destination, limit, a8);
5729 PIXCopyEventArgument(destination, limit, a9);
5730 PIXCopyEventArgument(destination, limit, a10);
5731 PIXCopyEventArgument(destination, limit, a11);
5732 *destination = 0ull;
5733 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5736 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
5737 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
5739 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5741 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5742 UINT64* destination = buffer;
5743 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5745 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5746 *destination++ = color;
5748 PIXCopyEventArgument(destination, limit, formatString);
5749 PIXCopyEventArgument(destination, limit, a1);
5750 PIXCopyEventArgument(destination, limit, a2);
5751 PIXCopyEventArgument(destination, limit, a3);
5752 PIXCopyEventArgument(destination, limit, a4);
5753 PIXCopyEventArgument(destination, limit, a5);
5754 PIXCopyEventArgument(destination, limit, a6);
5755 PIXCopyEventArgument(destination, limit, a7);
5756 PIXCopyEventArgument(destination, limit, a8);
5757 PIXCopyEventArgument(destination, limit, a9);
5758 PIXCopyEventArgument(destination, limit, a10);
5759 PIXCopyEventArgument(destination, limit, a11);
5760 PIXCopyEventArgument(destination, limit, a12);
5761 *destination = 0ull;
5762 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5765 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
5766 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
5768 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
5770 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5771 UINT64* destination = buffer;
5772 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5774 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5775 *destination++ = color;
5777 PIXCopyEventArgument(destination, limit, formatString);
5778 PIXCopyEventArgument(destination, limit, a1);
5779 PIXCopyEventArgument(destination, limit, a2);
5780 PIXCopyEventArgument(destination, limit, a3);
5781 PIXCopyEventArgument(destination, limit, a4);
5782 PIXCopyEventArgument(destination, limit, a5);
5783 PIXCopyEventArgument(destination, limit, a6);
5784 PIXCopyEventArgument(destination, limit, a7);
5785 PIXCopyEventArgument(destination, limit, a8);
5786 PIXCopyEventArgument(destination, limit, a9);
5787 PIXCopyEventArgument(destination, limit, a10);
5788 PIXCopyEventArgument(destination, limit, a11);
5789 PIXCopyEventArgument(destination, limit, a12);
5790 PIXCopyEventArgument(destination, limit, a13);
5791 *destination = 0ull;
5792 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5795 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
5796 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
5798 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5800 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5801 UINT64* destination = buffer;
5802 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5804 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5805 *destination++ = color;
5807 PIXCopyEventArgument(destination, limit, formatString);
5808 PIXCopyEventArgument(destination, limit, a1);
5809 PIXCopyEventArgument(destination, limit, a2);
5810 PIXCopyEventArgument(destination, limit, a3);
5811 PIXCopyEventArgument(destination, limit, a4);
5812 PIXCopyEventArgument(destination, limit, a5);
5813 PIXCopyEventArgument(destination, limit, a6);
5814 PIXCopyEventArgument(destination, limit, a7);
5815 PIXCopyEventArgument(destination, limit, a8);
5816 PIXCopyEventArgument(destination, limit, a9);
5817 PIXCopyEventArgument(destination, limit, a10);
5818 PIXCopyEventArgument(destination, limit, a11);
5819 PIXCopyEventArgument(destination, limit, a12);
5820 PIXCopyEventArgument(destination, limit, a13);
5821 PIXCopyEventArgument(destination, limit, a14);
5822 *destination = 0ull;
5823 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5826 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
5827 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
5829 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
5831 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5832 UINT64* destination = buffer;
5833 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5835 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5836 *destination++ = color;
5838 PIXCopyEventArgument(destination, limit, formatString);
5839 PIXCopyEventArgument(destination, limit, a1);
5840 PIXCopyEventArgument(destination, limit, a2);
5841 PIXCopyEventArgument(destination, limit, a3);
5842 PIXCopyEventArgument(destination, limit, a4);
5843 PIXCopyEventArgument(destination, limit, a5);
5844 PIXCopyEventArgument(destination, limit, a6);
5845 PIXCopyEventArgument(destination, limit, a7);
5846 PIXCopyEventArgument(destination, limit, a8);
5847 PIXCopyEventArgument(destination, limit, a9);
5848 PIXCopyEventArgument(destination, limit, a10);
5849 PIXCopyEventArgument(destination, limit, a11);
5850 PIXCopyEventArgument(destination, limit, a12);
5851 PIXCopyEventArgument(destination, limit, a13);
5852 PIXCopyEventArgument(destination, limit, a14);
5853 PIXCopyEventArgument(destination, limit, a15);
5854 *destination = 0ull;
5855 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5858 template<
class TContext,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
5859 inline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
5861 PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
5863 UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];
5864 UINT64* destination = buffer;
5865 UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;
5867 *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);
5868 *destination++ = color;
5870 PIXCopyEventArgument(destination, limit, formatString);
5871 PIXCopyEventArgument(destination, limit, a1);
5872 PIXCopyEventArgument(destination, limit, a2);
5873 PIXCopyEventArgument(destination, limit, a3);
5874 PIXCopyEventArgument(destination, limit, a4);
5875 PIXCopyEventArgument(destination, limit, a5);
5876 PIXCopyEventArgument(destination, limit, a6);
5877 PIXCopyEventArgument(destination, limit, a7);
5878 PIXCopyEventArgument(destination, limit, a8);
5879 PIXCopyEventArgument(destination, limit, a9);
5880 PIXCopyEventArgument(destination, limit, a10);
5881 PIXCopyEventArgument(destination, limit, a11);
5882 PIXCopyEventArgument(destination, limit, a12);
5883 PIXCopyEventArgument(destination, limit, a13);
5884 PIXCopyEventArgument(destination, limit, a14);
5885 PIXCopyEventArgument(destination, limit, a15);
5886 PIXCopyEventArgument(destination, limit, a16);
5887 *destination = 0ull;
5888 PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));
5891 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString)
5893 UINT64 time = PIXEventsReplaceBlock(
false);
5897 UINT64* destination = threadInfo->destination;
5898 UINT64* limit = threadInfo->limit;
5899 if (destination < limit)
5901 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);
5902 *destination++ = color;
5904 PIXCopyEventArgument(destination, limit, context);
5905 PIXCopyEventArgument(destination, limit, formatString);
5907 *destination = PIXEventsBlockEndMarker;
5908 threadInfo->destination = destination;
5914 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)
5916 UINT64 time = PIXEventsReplaceBlock(
false);
5920 UINT64* destination = threadInfo->destination;
5921 UINT64* limit = threadInfo->limit;
5922 if (destination < limit)
5924 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
5925 *destination++ = color;
5927 PIXCopyEventArgument(destination, limit, context);
5928 PIXCopyEventArgument(destination, limit, formatString);
5929 PIXCopyEventArgument(destination, limit, a1);
5931 *destination = PIXEventsBlockEndMarker;
5932 threadInfo->destination = destination;
5937 template<
class T1,
class T2>
5938 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)
5940 UINT64 time = PIXEventsReplaceBlock(
false);
5944 UINT64* destination = threadInfo->destination;
5945 UINT64* limit = threadInfo->limit;
5946 if (destination < limit)
5948 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
5949 *destination++ = color;
5951 PIXCopyEventArgument(destination, limit, context);
5952 PIXCopyEventArgument(destination, limit, formatString);
5953 PIXCopyEventArgument(destination, limit, a1);
5954 PIXCopyEventArgument(destination, limit, a2);
5956 *destination = PIXEventsBlockEndMarker;
5957 threadInfo->destination = destination;
5962 template<
class T1,
class T2,
class T3>
5963 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
5965 UINT64 time = PIXEventsReplaceBlock(
false);
5969 UINT64* destination = threadInfo->destination;
5970 UINT64* limit = threadInfo->limit;
5971 if (destination < limit)
5973 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
5974 *destination++ = color;
5976 PIXCopyEventArgument(destination, limit, context);
5977 PIXCopyEventArgument(destination, limit, formatString);
5978 PIXCopyEventArgument(destination, limit, a1);
5979 PIXCopyEventArgument(destination, limit, a2);
5980 PIXCopyEventArgument(destination, limit, a3);
5982 *destination = PIXEventsBlockEndMarker;
5983 threadInfo->destination = destination;
5988 template<
class T1,
class T2,
class T3,
class T4>
5989 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
5991 UINT64 time = PIXEventsReplaceBlock(
false);
5995 UINT64* destination = threadInfo->destination;
5996 UINT64* limit = threadInfo->limit;
5997 if (destination < limit)
5999 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6000 *destination++ = color;
6002 PIXCopyEventArgument(destination, limit, context);
6003 PIXCopyEventArgument(destination, limit, formatString);
6004 PIXCopyEventArgument(destination, limit, a1);
6005 PIXCopyEventArgument(destination, limit, a2);
6006 PIXCopyEventArgument(destination, limit, a3);
6007 PIXCopyEventArgument(destination, limit, a4);
6009 *destination = PIXEventsBlockEndMarker;
6010 threadInfo->destination = destination;
6015 template<
class T1,
class T2,
class T3,
class T4,
class T5>
6016 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
6018 UINT64 time = PIXEventsReplaceBlock(
false);
6022 UINT64* destination = threadInfo->destination;
6023 UINT64* limit = threadInfo->limit;
6024 if (destination < limit)
6026 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6027 *destination++ = color;
6029 PIXCopyEventArgument(destination, limit, context);
6030 PIXCopyEventArgument(destination, limit, formatString);
6031 PIXCopyEventArgument(destination, limit, a1);
6032 PIXCopyEventArgument(destination, limit, a2);
6033 PIXCopyEventArgument(destination, limit, a3);
6034 PIXCopyEventArgument(destination, limit, a4);
6035 PIXCopyEventArgument(destination, limit, a5);
6037 *destination = PIXEventsBlockEndMarker;
6038 threadInfo->destination = destination;
6043 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
6044 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
6046 UINT64 time = PIXEventsReplaceBlock(
false);
6050 UINT64* destination = threadInfo->destination;
6051 UINT64* limit = threadInfo->limit;
6052 if (destination < limit)
6054 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6055 *destination++ = color;
6057 PIXCopyEventArgument(destination, limit, context);
6058 PIXCopyEventArgument(destination, limit, formatString);
6059 PIXCopyEventArgument(destination, limit, a1);
6060 PIXCopyEventArgument(destination, limit, a2);
6061 PIXCopyEventArgument(destination, limit, a3);
6062 PIXCopyEventArgument(destination, limit, a4);
6063 PIXCopyEventArgument(destination, limit, a5);
6064 PIXCopyEventArgument(destination, limit, a6);
6066 *destination = PIXEventsBlockEndMarker;
6067 threadInfo->destination = destination;
6072 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
6073 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
6075 UINT64 time = PIXEventsReplaceBlock(
false);
6079 UINT64* destination = threadInfo->destination;
6080 UINT64* limit = threadInfo->limit;
6081 if (destination < limit)
6083 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6084 *destination++ = color;
6086 PIXCopyEventArgument(destination, limit, context);
6087 PIXCopyEventArgument(destination, limit, formatString);
6088 PIXCopyEventArgument(destination, limit, a1);
6089 PIXCopyEventArgument(destination, limit, a2);
6090 PIXCopyEventArgument(destination, limit, a3);
6091 PIXCopyEventArgument(destination, limit, a4);
6092 PIXCopyEventArgument(destination, limit, a5);
6093 PIXCopyEventArgument(destination, limit, a6);
6094 PIXCopyEventArgument(destination, limit, a7);
6096 *destination = PIXEventsBlockEndMarker;
6097 threadInfo->destination = destination;
6102 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
6103 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
6105 UINT64 time = PIXEventsReplaceBlock(
false);
6109 UINT64* destination = threadInfo->destination;
6110 UINT64* limit = threadInfo->limit;
6111 if (destination < limit)
6113 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6114 *destination++ = color;
6116 PIXCopyEventArgument(destination, limit, context);
6117 PIXCopyEventArgument(destination, limit, formatString);
6118 PIXCopyEventArgument(destination, limit, a1);
6119 PIXCopyEventArgument(destination, limit, a2);
6120 PIXCopyEventArgument(destination, limit, a3);
6121 PIXCopyEventArgument(destination, limit, a4);
6122 PIXCopyEventArgument(destination, limit, a5);
6123 PIXCopyEventArgument(destination, limit, a6);
6124 PIXCopyEventArgument(destination, limit, a7);
6125 PIXCopyEventArgument(destination, limit, a8);
6127 *destination = PIXEventsBlockEndMarker;
6128 threadInfo->destination = destination;
6133 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
6134 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
6136 UINT64 time = PIXEventsReplaceBlock(
false);
6140 UINT64* destination = threadInfo->destination;
6141 UINT64* limit = threadInfo->limit;
6142 if (destination < limit)
6144 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6145 *destination++ = color;
6147 PIXCopyEventArgument(destination, limit, context);
6148 PIXCopyEventArgument(destination, limit, formatString);
6149 PIXCopyEventArgument(destination, limit, a1);
6150 PIXCopyEventArgument(destination, limit, a2);
6151 PIXCopyEventArgument(destination, limit, a3);
6152 PIXCopyEventArgument(destination, limit, a4);
6153 PIXCopyEventArgument(destination, limit, a5);
6154 PIXCopyEventArgument(destination, limit, a6);
6155 PIXCopyEventArgument(destination, limit, a7);
6156 PIXCopyEventArgument(destination, limit, a8);
6157 PIXCopyEventArgument(destination, limit, a9);
6159 *destination = PIXEventsBlockEndMarker;
6160 threadInfo->destination = destination;
6165 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
6166 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
6168 UINT64 time = PIXEventsReplaceBlock(
false);
6172 UINT64* destination = threadInfo->destination;
6173 UINT64* limit = threadInfo->limit;
6174 if (destination < limit)
6176 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6177 *destination++ = color;
6179 PIXCopyEventArgument(destination, limit, context);
6180 PIXCopyEventArgument(destination, limit, formatString);
6181 PIXCopyEventArgument(destination, limit, a1);
6182 PIXCopyEventArgument(destination, limit, a2);
6183 PIXCopyEventArgument(destination, limit, a3);
6184 PIXCopyEventArgument(destination, limit, a4);
6185 PIXCopyEventArgument(destination, limit, a5);
6186 PIXCopyEventArgument(destination, limit, a6);
6187 PIXCopyEventArgument(destination, limit, a7);
6188 PIXCopyEventArgument(destination, limit, a8);
6189 PIXCopyEventArgument(destination, limit, a9);
6190 PIXCopyEventArgument(destination, limit, a10);
6192 *destination = PIXEventsBlockEndMarker;
6193 threadInfo->destination = destination;
6198 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
6199 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
6201 UINT64 time = PIXEventsReplaceBlock(
false);
6205 UINT64* destination = threadInfo->destination;
6206 UINT64* limit = threadInfo->limit;
6207 if (destination < limit)
6209 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6210 *destination++ = color;
6212 PIXCopyEventArgument(destination, limit, context);
6213 PIXCopyEventArgument(destination, limit, formatString);
6214 PIXCopyEventArgument(destination, limit, a1);
6215 PIXCopyEventArgument(destination, limit, a2);
6216 PIXCopyEventArgument(destination, limit, a3);
6217 PIXCopyEventArgument(destination, limit, a4);
6218 PIXCopyEventArgument(destination, limit, a5);
6219 PIXCopyEventArgument(destination, limit, a6);
6220 PIXCopyEventArgument(destination, limit, a7);
6221 PIXCopyEventArgument(destination, limit, a8);
6222 PIXCopyEventArgument(destination, limit, a9);
6223 PIXCopyEventArgument(destination, limit, a10);
6224 PIXCopyEventArgument(destination, limit, a11);
6226 *destination = PIXEventsBlockEndMarker;
6227 threadInfo->destination = destination;
6232 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
6233 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
6235 UINT64 time = PIXEventsReplaceBlock(
false);
6239 UINT64* destination = threadInfo->destination;
6240 UINT64* limit = threadInfo->limit;
6241 if (destination < limit)
6243 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6244 *destination++ = color;
6246 PIXCopyEventArgument(destination, limit, context);
6247 PIXCopyEventArgument(destination, limit, formatString);
6248 PIXCopyEventArgument(destination, limit, a1);
6249 PIXCopyEventArgument(destination, limit, a2);
6250 PIXCopyEventArgument(destination, limit, a3);
6251 PIXCopyEventArgument(destination, limit, a4);
6252 PIXCopyEventArgument(destination, limit, a5);
6253 PIXCopyEventArgument(destination, limit, a6);
6254 PIXCopyEventArgument(destination, limit, a7);
6255 PIXCopyEventArgument(destination, limit, a8);
6256 PIXCopyEventArgument(destination, limit, a9);
6257 PIXCopyEventArgument(destination, limit, a10);
6258 PIXCopyEventArgument(destination, limit, a11);
6259 PIXCopyEventArgument(destination, limit, a12);
6261 *destination = PIXEventsBlockEndMarker;
6262 threadInfo->destination = destination;
6267 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
6268 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
6270 UINT64 time = PIXEventsReplaceBlock(
false);
6274 UINT64* destination = threadInfo->destination;
6275 UINT64* limit = threadInfo->limit;
6276 if (destination < limit)
6278 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6279 *destination++ = color;
6281 PIXCopyEventArgument(destination, limit, context);
6282 PIXCopyEventArgument(destination, limit, formatString);
6283 PIXCopyEventArgument(destination, limit, a1);
6284 PIXCopyEventArgument(destination, limit, a2);
6285 PIXCopyEventArgument(destination, limit, a3);
6286 PIXCopyEventArgument(destination, limit, a4);
6287 PIXCopyEventArgument(destination, limit, a5);
6288 PIXCopyEventArgument(destination, limit, a6);
6289 PIXCopyEventArgument(destination, limit, a7);
6290 PIXCopyEventArgument(destination, limit, a8);
6291 PIXCopyEventArgument(destination, limit, a9);
6292 PIXCopyEventArgument(destination, limit, a10);
6293 PIXCopyEventArgument(destination, limit, a11);
6294 PIXCopyEventArgument(destination, limit, a12);
6295 PIXCopyEventArgument(destination, limit, a13);
6297 *destination = PIXEventsBlockEndMarker;
6298 threadInfo->destination = destination;
6303 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
6304 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
6306 UINT64 time = PIXEventsReplaceBlock(
false);
6310 UINT64* destination = threadInfo->destination;
6311 UINT64* limit = threadInfo->limit;
6312 if (destination < limit)
6314 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6315 *destination++ = color;
6317 PIXCopyEventArgument(destination, limit, context);
6318 PIXCopyEventArgument(destination, limit, formatString);
6319 PIXCopyEventArgument(destination, limit, a1);
6320 PIXCopyEventArgument(destination, limit, a2);
6321 PIXCopyEventArgument(destination, limit, a3);
6322 PIXCopyEventArgument(destination, limit, a4);
6323 PIXCopyEventArgument(destination, limit, a5);
6324 PIXCopyEventArgument(destination, limit, a6);
6325 PIXCopyEventArgument(destination, limit, a7);
6326 PIXCopyEventArgument(destination, limit, a8);
6327 PIXCopyEventArgument(destination, limit, a9);
6328 PIXCopyEventArgument(destination, limit, a10);
6329 PIXCopyEventArgument(destination, limit, a11);
6330 PIXCopyEventArgument(destination, limit, a12);
6331 PIXCopyEventArgument(destination, limit, a13);
6332 PIXCopyEventArgument(destination, limit, a14);
6334 *destination = PIXEventsBlockEndMarker;
6335 threadInfo->destination = destination;
6340 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
6341 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
6343 UINT64 time = PIXEventsReplaceBlock(
false);
6347 UINT64* destination = threadInfo->destination;
6348 UINT64* limit = threadInfo->limit;
6349 if (destination < limit)
6351 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6352 *destination++ = color;
6354 PIXCopyEventArgument(destination, limit, context);
6355 PIXCopyEventArgument(destination, limit, formatString);
6356 PIXCopyEventArgument(destination, limit, a1);
6357 PIXCopyEventArgument(destination, limit, a2);
6358 PIXCopyEventArgument(destination, limit, a3);
6359 PIXCopyEventArgument(destination, limit, a4);
6360 PIXCopyEventArgument(destination, limit, a5);
6361 PIXCopyEventArgument(destination, limit, a6);
6362 PIXCopyEventArgument(destination, limit, a7);
6363 PIXCopyEventArgument(destination, limit, a8);
6364 PIXCopyEventArgument(destination, limit, a9);
6365 PIXCopyEventArgument(destination, limit, a10);
6366 PIXCopyEventArgument(destination, limit, a11);
6367 PIXCopyEventArgument(destination, limit, a12);
6368 PIXCopyEventArgument(destination, limit, a13);
6369 PIXCopyEventArgument(destination, limit, a14);
6370 PIXCopyEventArgument(destination, limit, a15);
6372 *destination = PIXEventsBlockEndMarker;
6373 threadInfo->destination = destination;
6378 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
6379 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
6381 UINT64 time = PIXEventsReplaceBlock(
false);
6385 UINT64* destination = threadInfo->destination;
6386 UINT64* limit = threadInfo->limit;
6387 if (destination < limit)
6389 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6390 *destination++ = color;
6392 PIXCopyEventArgument(destination, limit, context);
6393 PIXCopyEventArgument(destination, limit, formatString);
6394 PIXCopyEventArgument(destination, limit, a1);
6395 PIXCopyEventArgument(destination, limit, a2);
6396 PIXCopyEventArgument(destination, limit, a3);
6397 PIXCopyEventArgument(destination, limit, a4);
6398 PIXCopyEventArgument(destination, limit, a5);
6399 PIXCopyEventArgument(destination, limit, a6);
6400 PIXCopyEventArgument(destination, limit, a7);
6401 PIXCopyEventArgument(destination, limit, a8);
6402 PIXCopyEventArgument(destination, limit, a9);
6403 PIXCopyEventArgument(destination, limit, a10);
6404 PIXCopyEventArgument(destination, limit, a11);
6405 PIXCopyEventArgument(destination, limit, a12);
6406 PIXCopyEventArgument(destination, limit, a13);
6407 PIXCopyEventArgument(destination, limit, a14);
6408 PIXCopyEventArgument(destination, limit, a15);
6409 PIXCopyEventArgument(destination, limit, a16);
6411 *destination = PIXEventsBlockEndMarker;
6412 threadInfo->destination = destination;
6417 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString)
6419 UINT64 time = PIXEventsReplaceBlock(
false);
6423 UINT64* destination = threadInfo->destination;
6424 UINT64* limit = threadInfo->limit;
6425 if (destination < limit)
6427 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);
6428 *destination++ = color;
6430 PIXCopyEventArgument(destination, limit, context);
6431 PIXCopyEventArgument(destination, limit, formatString);
6433 *destination = PIXEventsBlockEndMarker;
6434 threadInfo->destination = destination;
6440 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)
6442 UINT64 time = PIXEventsReplaceBlock(
false);
6446 UINT64* destination = threadInfo->destination;
6447 UINT64* limit = threadInfo->limit;
6448 if (destination < limit)
6450 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6451 *destination++ = color;
6453 PIXCopyEventArgument(destination, limit, context);
6454 PIXCopyEventArgument(destination, limit, formatString);
6455 PIXCopyEventArgument(destination, limit, a1);
6457 *destination = PIXEventsBlockEndMarker;
6458 threadInfo->destination = destination;
6463 template<
class T1,
class T2>
6464 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)
6466 UINT64 time = PIXEventsReplaceBlock(
false);
6470 UINT64* destination = threadInfo->destination;
6471 UINT64* limit = threadInfo->limit;
6472 if (destination < limit)
6474 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6475 *destination++ = color;
6477 PIXCopyEventArgument(destination, limit, context);
6478 PIXCopyEventArgument(destination, limit, formatString);
6479 PIXCopyEventArgument(destination, limit, a1);
6480 PIXCopyEventArgument(destination, limit, a2);
6482 *destination = PIXEventsBlockEndMarker;
6483 threadInfo->destination = destination;
6488 template<
class T1,
class T2,
class T3>
6489 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
6491 UINT64 time = PIXEventsReplaceBlock(
false);
6495 UINT64* destination = threadInfo->destination;
6496 UINT64* limit = threadInfo->limit;
6497 if (destination < limit)
6499 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6500 *destination++ = color;
6502 PIXCopyEventArgument(destination, limit, context);
6503 PIXCopyEventArgument(destination, limit, formatString);
6504 PIXCopyEventArgument(destination, limit, a1);
6505 PIXCopyEventArgument(destination, limit, a2);
6506 PIXCopyEventArgument(destination, limit, a3);
6508 *destination = PIXEventsBlockEndMarker;
6509 threadInfo->destination = destination;
6514 template<
class T1,
class T2,
class T3,
class T4>
6515 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
6517 UINT64 time = PIXEventsReplaceBlock(
false);
6521 UINT64* destination = threadInfo->destination;
6522 UINT64* limit = threadInfo->limit;
6523 if (destination < limit)
6525 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6526 *destination++ = color;
6528 PIXCopyEventArgument(destination, limit, context);
6529 PIXCopyEventArgument(destination, limit, formatString);
6530 PIXCopyEventArgument(destination, limit, a1);
6531 PIXCopyEventArgument(destination, limit, a2);
6532 PIXCopyEventArgument(destination, limit, a3);
6533 PIXCopyEventArgument(destination, limit, a4);
6535 *destination = PIXEventsBlockEndMarker;
6536 threadInfo->destination = destination;
6541 template<
class T1,
class T2,
class T3,
class T4,
class T5>
6542 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
6544 UINT64 time = PIXEventsReplaceBlock(
false);
6548 UINT64* destination = threadInfo->destination;
6549 UINT64* limit = threadInfo->limit;
6550 if (destination < limit)
6552 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6553 *destination++ = color;
6555 PIXCopyEventArgument(destination, limit, context);
6556 PIXCopyEventArgument(destination, limit, formatString);
6557 PIXCopyEventArgument(destination, limit, a1);
6558 PIXCopyEventArgument(destination, limit, a2);
6559 PIXCopyEventArgument(destination, limit, a3);
6560 PIXCopyEventArgument(destination, limit, a4);
6561 PIXCopyEventArgument(destination, limit, a5);
6563 *destination = PIXEventsBlockEndMarker;
6564 threadInfo->destination = destination;
6569 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
6570 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
6572 UINT64 time = PIXEventsReplaceBlock(
false);
6576 UINT64* destination = threadInfo->destination;
6577 UINT64* limit = threadInfo->limit;
6578 if (destination < limit)
6580 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6581 *destination++ = color;
6583 PIXCopyEventArgument(destination, limit, context);
6584 PIXCopyEventArgument(destination, limit, formatString);
6585 PIXCopyEventArgument(destination, limit, a1);
6586 PIXCopyEventArgument(destination, limit, a2);
6587 PIXCopyEventArgument(destination, limit, a3);
6588 PIXCopyEventArgument(destination, limit, a4);
6589 PIXCopyEventArgument(destination, limit, a5);
6590 PIXCopyEventArgument(destination, limit, a6);
6592 *destination = PIXEventsBlockEndMarker;
6593 threadInfo->destination = destination;
6598 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
6599 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
6601 UINT64 time = PIXEventsReplaceBlock(
false);
6605 UINT64* destination = threadInfo->destination;
6606 UINT64* limit = threadInfo->limit;
6607 if (destination < limit)
6609 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6610 *destination++ = color;
6612 PIXCopyEventArgument(destination, limit, context);
6613 PIXCopyEventArgument(destination, limit, formatString);
6614 PIXCopyEventArgument(destination, limit, a1);
6615 PIXCopyEventArgument(destination, limit, a2);
6616 PIXCopyEventArgument(destination, limit, a3);
6617 PIXCopyEventArgument(destination, limit, a4);
6618 PIXCopyEventArgument(destination, limit, a5);
6619 PIXCopyEventArgument(destination, limit, a6);
6620 PIXCopyEventArgument(destination, limit, a7);
6622 *destination = PIXEventsBlockEndMarker;
6623 threadInfo->destination = destination;
6628 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
6629 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
6631 UINT64 time = PIXEventsReplaceBlock(
false);
6635 UINT64* destination = threadInfo->destination;
6636 UINT64* limit = threadInfo->limit;
6637 if (destination < limit)
6639 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6640 *destination++ = color;
6642 PIXCopyEventArgument(destination, limit, context);
6643 PIXCopyEventArgument(destination, limit, formatString);
6644 PIXCopyEventArgument(destination, limit, a1);
6645 PIXCopyEventArgument(destination, limit, a2);
6646 PIXCopyEventArgument(destination, limit, a3);
6647 PIXCopyEventArgument(destination, limit, a4);
6648 PIXCopyEventArgument(destination, limit, a5);
6649 PIXCopyEventArgument(destination, limit, a6);
6650 PIXCopyEventArgument(destination, limit, a7);
6651 PIXCopyEventArgument(destination, limit, a8);
6653 *destination = PIXEventsBlockEndMarker;
6654 threadInfo->destination = destination;
6659 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
6660 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
6662 UINT64 time = PIXEventsReplaceBlock(
false);
6666 UINT64* destination = threadInfo->destination;
6667 UINT64* limit = threadInfo->limit;
6668 if (destination < limit)
6670 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6671 *destination++ = color;
6673 PIXCopyEventArgument(destination, limit, context);
6674 PIXCopyEventArgument(destination, limit, formatString);
6675 PIXCopyEventArgument(destination, limit, a1);
6676 PIXCopyEventArgument(destination, limit, a2);
6677 PIXCopyEventArgument(destination, limit, a3);
6678 PIXCopyEventArgument(destination, limit, a4);
6679 PIXCopyEventArgument(destination, limit, a5);
6680 PIXCopyEventArgument(destination, limit, a6);
6681 PIXCopyEventArgument(destination, limit, a7);
6682 PIXCopyEventArgument(destination, limit, a8);
6683 PIXCopyEventArgument(destination, limit, a9);
6685 *destination = PIXEventsBlockEndMarker;
6686 threadInfo->destination = destination;
6691 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
6692 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
6694 UINT64 time = PIXEventsReplaceBlock(
false);
6698 UINT64* destination = threadInfo->destination;
6699 UINT64* limit = threadInfo->limit;
6700 if (destination < limit)
6702 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6703 *destination++ = color;
6705 PIXCopyEventArgument(destination, limit, context);
6706 PIXCopyEventArgument(destination, limit, formatString);
6707 PIXCopyEventArgument(destination, limit, a1);
6708 PIXCopyEventArgument(destination, limit, a2);
6709 PIXCopyEventArgument(destination, limit, a3);
6710 PIXCopyEventArgument(destination, limit, a4);
6711 PIXCopyEventArgument(destination, limit, a5);
6712 PIXCopyEventArgument(destination, limit, a6);
6713 PIXCopyEventArgument(destination, limit, a7);
6714 PIXCopyEventArgument(destination, limit, a8);
6715 PIXCopyEventArgument(destination, limit, a9);
6716 PIXCopyEventArgument(destination, limit, a10);
6718 *destination = PIXEventsBlockEndMarker;
6719 threadInfo->destination = destination;
6724 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
6725 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
6727 UINT64 time = PIXEventsReplaceBlock(
false);
6731 UINT64* destination = threadInfo->destination;
6732 UINT64* limit = threadInfo->limit;
6733 if (destination < limit)
6735 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6736 *destination++ = color;
6738 PIXCopyEventArgument(destination, limit, context);
6739 PIXCopyEventArgument(destination, limit, formatString);
6740 PIXCopyEventArgument(destination, limit, a1);
6741 PIXCopyEventArgument(destination, limit, a2);
6742 PIXCopyEventArgument(destination, limit, a3);
6743 PIXCopyEventArgument(destination, limit, a4);
6744 PIXCopyEventArgument(destination, limit, a5);
6745 PIXCopyEventArgument(destination, limit, a6);
6746 PIXCopyEventArgument(destination, limit, a7);
6747 PIXCopyEventArgument(destination, limit, a8);
6748 PIXCopyEventArgument(destination, limit, a9);
6749 PIXCopyEventArgument(destination, limit, a10);
6750 PIXCopyEventArgument(destination, limit, a11);
6752 *destination = PIXEventsBlockEndMarker;
6753 threadInfo->destination = destination;
6758 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
6759 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
6761 UINT64 time = PIXEventsReplaceBlock(
false);
6765 UINT64* destination = threadInfo->destination;
6766 UINT64* limit = threadInfo->limit;
6767 if (destination < limit)
6769 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6770 *destination++ = color;
6772 PIXCopyEventArgument(destination, limit, context);
6773 PIXCopyEventArgument(destination, limit, formatString);
6774 PIXCopyEventArgument(destination, limit, a1);
6775 PIXCopyEventArgument(destination, limit, a2);
6776 PIXCopyEventArgument(destination, limit, a3);
6777 PIXCopyEventArgument(destination, limit, a4);
6778 PIXCopyEventArgument(destination, limit, a5);
6779 PIXCopyEventArgument(destination, limit, a6);
6780 PIXCopyEventArgument(destination, limit, a7);
6781 PIXCopyEventArgument(destination, limit, a8);
6782 PIXCopyEventArgument(destination, limit, a9);
6783 PIXCopyEventArgument(destination, limit, a10);
6784 PIXCopyEventArgument(destination, limit, a11);
6785 PIXCopyEventArgument(destination, limit, a12);
6787 *destination = PIXEventsBlockEndMarker;
6788 threadInfo->destination = destination;
6793 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
6794 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
6796 UINT64 time = PIXEventsReplaceBlock(
false);
6800 UINT64* destination = threadInfo->destination;
6801 UINT64* limit = threadInfo->limit;
6802 if (destination < limit)
6804 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6805 *destination++ = color;
6807 PIXCopyEventArgument(destination, limit, context);
6808 PIXCopyEventArgument(destination, limit, formatString);
6809 PIXCopyEventArgument(destination, limit, a1);
6810 PIXCopyEventArgument(destination, limit, a2);
6811 PIXCopyEventArgument(destination, limit, a3);
6812 PIXCopyEventArgument(destination, limit, a4);
6813 PIXCopyEventArgument(destination, limit, a5);
6814 PIXCopyEventArgument(destination, limit, a6);
6815 PIXCopyEventArgument(destination, limit, a7);
6816 PIXCopyEventArgument(destination, limit, a8);
6817 PIXCopyEventArgument(destination, limit, a9);
6818 PIXCopyEventArgument(destination, limit, a10);
6819 PIXCopyEventArgument(destination, limit, a11);
6820 PIXCopyEventArgument(destination, limit, a12);
6821 PIXCopyEventArgument(destination, limit, a13);
6823 *destination = PIXEventsBlockEndMarker;
6824 threadInfo->destination = destination;
6829 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
6830 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
6832 UINT64 time = PIXEventsReplaceBlock(
false);
6836 UINT64* destination = threadInfo->destination;
6837 UINT64* limit = threadInfo->limit;
6838 if (destination < limit)
6840 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6841 *destination++ = color;
6843 PIXCopyEventArgument(destination, limit, context);
6844 PIXCopyEventArgument(destination, limit, formatString);
6845 PIXCopyEventArgument(destination, limit, a1);
6846 PIXCopyEventArgument(destination, limit, a2);
6847 PIXCopyEventArgument(destination, limit, a3);
6848 PIXCopyEventArgument(destination, limit, a4);
6849 PIXCopyEventArgument(destination, limit, a5);
6850 PIXCopyEventArgument(destination, limit, a6);
6851 PIXCopyEventArgument(destination, limit, a7);
6852 PIXCopyEventArgument(destination, limit, a8);
6853 PIXCopyEventArgument(destination, limit, a9);
6854 PIXCopyEventArgument(destination, limit, a10);
6855 PIXCopyEventArgument(destination, limit, a11);
6856 PIXCopyEventArgument(destination, limit, a12);
6857 PIXCopyEventArgument(destination, limit, a13);
6858 PIXCopyEventArgument(destination, limit, a14);
6860 *destination = PIXEventsBlockEndMarker;
6861 threadInfo->destination = destination;
6866 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
6867 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
6869 UINT64 time = PIXEventsReplaceBlock(
false);
6873 UINT64* destination = threadInfo->destination;
6874 UINT64* limit = threadInfo->limit;
6875 if (destination < limit)
6877 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6878 *destination++ = color;
6880 PIXCopyEventArgument(destination, limit, context);
6881 PIXCopyEventArgument(destination, limit, formatString);
6882 PIXCopyEventArgument(destination, limit, a1);
6883 PIXCopyEventArgument(destination, limit, a2);
6884 PIXCopyEventArgument(destination, limit, a3);
6885 PIXCopyEventArgument(destination, limit, a4);
6886 PIXCopyEventArgument(destination, limit, a5);
6887 PIXCopyEventArgument(destination, limit, a6);
6888 PIXCopyEventArgument(destination, limit, a7);
6889 PIXCopyEventArgument(destination, limit, a8);
6890 PIXCopyEventArgument(destination, limit, a9);
6891 PIXCopyEventArgument(destination, limit, a10);
6892 PIXCopyEventArgument(destination, limit, a11);
6893 PIXCopyEventArgument(destination, limit, a12);
6894 PIXCopyEventArgument(destination, limit, a13);
6895 PIXCopyEventArgument(destination, limit, a14);
6896 PIXCopyEventArgument(destination, limit, a15);
6898 *destination = PIXEventsBlockEndMarker;
6899 threadInfo->destination = destination;
6904 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
6905 __declspec(noinline) inline
void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
6907 UINT64 time = PIXEventsReplaceBlock(
false);
6911 UINT64* destination = threadInfo->destination;
6912 UINT64* limit = threadInfo->limit;
6913 if (destination < limit)
6915 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6916 *destination++ = color;
6918 PIXCopyEventArgument(destination, limit, context);
6919 PIXCopyEventArgument(destination, limit, formatString);
6920 PIXCopyEventArgument(destination, limit, a1);
6921 PIXCopyEventArgument(destination, limit, a2);
6922 PIXCopyEventArgument(destination, limit, a3);
6923 PIXCopyEventArgument(destination, limit, a4);
6924 PIXCopyEventArgument(destination, limit, a5);
6925 PIXCopyEventArgument(destination, limit, a6);
6926 PIXCopyEventArgument(destination, limit, a7);
6927 PIXCopyEventArgument(destination, limit, a8);
6928 PIXCopyEventArgument(destination, limit, a9);
6929 PIXCopyEventArgument(destination, limit, a10);
6930 PIXCopyEventArgument(destination, limit, a11);
6931 PIXCopyEventArgument(destination, limit, a12);
6932 PIXCopyEventArgument(destination, limit, a13);
6933 PIXCopyEventArgument(destination, limit, a14);
6934 PIXCopyEventArgument(destination, limit, a15);
6935 PIXCopyEventArgument(destination, limit, a16);
6937 *destination = PIXEventsBlockEndMarker;
6938 threadInfo->destination = destination;
6943 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString)
6946 UINT64* destination = threadInfo->destination;
6947 UINT64* limit = threadInfo->biasedLimit;
6948 if (destination < limit)
6950 limit += PIXEventsSafeFastCopySpaceQwords;
6951 UINT64 time = PIXGetTimestampCounter();
6952 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);
6953 *destination++ = color;
6955 PIXCopyEventArgument(destination, limit, context);
6956 PIXCopyEventArgument(destination, limit, formatString);
6958 *destination = PIXEventsBlockEndMarker;
6959 threadInfo->destination = destination;
6961 else if (limit !=
nullptr)
6963 MakeCPUSetMarkerForContextAllocate(color, context, formatString);
6968 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)
6971 UINT64* destination = threadInfo->destination;
6972 UINT64* limit = threadInfo->biasedLimit;
6973 if (destination < limit)
6975 limit += PIXEventsSafeFastCopySpaceQwords;
6976 UINT64 time = PIXGetTimestampCounter();
6977 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
6978 *destination++ = color;
6980 PIXCopyEventArgument(destination, limit, context);
6981 PIXCopyEventArgument(destination, limit, formatString);
6982 PIXCopyEventArgument(destination, limit, a1);
6984 *destination = PIXEventsBlockEndMarker;
6985 threadInfo->destination = destination;
6987 else if (limit !=
nullptr)
6989 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1);
6993 template<
class T1,
class T2>
6994 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)
6997 UINT64* destination = threadInfo->destination;
6998 UINT64* limit = threadInfo->biasedLimit;
6999 if (destination < limit)
7001 limit += PIXEventsSafeFastCopySpaceQwords;
7002 UINT64 time = PIXGetTimestampCounter();
7003 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7004 *destination++ = color;
7006 PIXCopyEventArgument(destination, limit, context);
7007 PIXCopyEventArgument(destination, limit, formatString);
7008 PIXCopyEventArgument(destination, limit, a1);
7009 PIXCopyEventArgument(destination, limit, a2);
7011 *destination = PIXEventsBlockEndMarker;
7012 threadInfo->destination = destination;
7014 else if (limit !=
nullptr)
7016 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2);
7020 template<
class T1,
class T2,
class T3>
7021 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
7024 UINT64* destination = threadInfo->destination;
7025 UINT64* limit = threadInfo->biasedLimit;
7026 if (destination < limit)
7028 limit += PIXEventsSafeFastCopySpaceQwords;
7029 UINT64 time = PIXGetTimestampCounter();
7030 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7031 *destination++ = color;
7033 PIXCopyEventArgument(destination, limit, context);
7034 PIXCopyEventArgument(destination, limit, formatString);
7035 PIXCopyEventArgument(destination, limit, a1);
7036 PIXCopyEventArgument(destination, limit, a2);
7037 PIXCopyEventArgument(destination, limit, a3);
7039 *destination = PIXEventsBlockEndMarker;
7040 threadInfo->destination = destination;
7042 else if (limit !=
nullptr)
7044 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3);
7048 template<
class T1,
class T2,
class T3,
class T4>
7049 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
7052 UINT64* destination = threadInfo->destination;
7053 UINT64* limit = threadInfo->biasedLimit;
7054 if (destination < limit)
7056 limit += PIXEventsSafeFastCopySpaceQwords;
7057 UINT64 time = PIXGetTimestampCounter();
7058 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7059 *destination++ = color;
7061 PIXCopyEventArgument(destination, limit, context);
7062 PIXCopyEventArgument(destination, limit, formatString);
7063 PIXCopyEventArgument(destination, limit, a1);
7064 PIXCopyEventArgument(destination, limit, a2);
7065 PIXCopyEventArgument(destination, limit, a3);
7066 PIXCopyEventArgument(destination, limit, a4);
7068 *destination = PIXEventsBlockEndMarker;
7069 threadInfo->destination = destination;
7071 else if (limit !=
nullptr)
7073 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4);
7077 template<
class T1,
class T2,
class T3,
class T4,
class T5>
7078 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
7081 UINT64* destination = threadInfo->destination;
7082 UINT64* limit = threadInfo->biasedLimit;
7083 if (destination < limit)
7085 limit += PIXEventsSafeFastCopySpaceQwords;
7086 UINT64 time = PIXGetTimestampCounter();
7087 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7088 *destination++ = color;
7090 PIXCopyEventArgument(destination, limit, context);
7091 PIXCopyEventArgument(destination, limit, formatString);
7092 PIXCopyEventArgument(destination, limit, a1);
7093 PIXCopyEventArgument(destination, limit, a2);
7094 PIXCopyEventArgument(destination, limit, a3);
7095 PIXCopyEventArgument(destination, limit, a4);
7096 PIXCopyEventArgument(destination, limit, a5);
7098 *destination = PIXEventsBlockEndMarker;
7099 threadInfo->destination = destination;
7101 else if (limit !=
nullptr)
7103 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);
7107 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
7108 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
7111 UINT64* destination = threadInfo->destination;
7112 UINT64* limit = threadInfo->biasedLimit;
7113 if (destination < limit)
7115 limit += PIXEventsSafeFastCopySpaceQwords;
7116 UINT64 time = PIXGetTimestampCounter();
7117 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7118 *destination++ = color;
7120 PIXCopyEventArgument(destination, limit, context);
7121 PIXCopyEventArgument(destination, limit, formatString);
7122 PIXCopyEventArgument(destination, limit, a1);
7123 PIXCopyEventArgument(destination, limit, a2);
7124 PIXCopyEventArgument(destination, limit, a3);
7125 PIXCopyEventArgument(destination, limit, a4);
7126 PIXCopyEventArgument(destination, limit, a5);
7127 PIXCopyEventArgument(destination, limit, a6);
7129 *destination = PIXEventsBlockEndMarker;
7130 threadInfo->destination = destination;
7132 else if (limit !=
nullptr)
7134 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);
7138 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
7139 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
7142 UINT64* destination = threadInfo->destination;
7143 UINT64* limit = threadInfo->biasedLimit;
7144 if (destination < limit)
7146 limit += PIXEventsSafeFastCopySpaceQwords;
7147 UINT64 time = PIXGetTimestampCounter();
7148 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7149 *destination++ = color;
7151 PIXCopyEventArgument(destination, limit, context);
7152 PIXCopyEventArgument(destination, limit, formatString);
7153 PIXCopyEventArgument(destination, limit, a1);
7154 PIXCopyEventArgument(destination, limit, a2);
7155 PIXCopyEventArgument(destination, limit, a3);
7156 PIXCopyEventArgument(destination, limit, a4);
7157 PIXCopyEventArgument(destination, limit, a5);
7158 PIXCopyEventArgument(destination, limit, a6);
7159 PIXCopyEventArgument(destination, limit, a7);
7161 *destination = PIXEventsBlockEndMarker;
7162 threadInfo->destination = destination;
7164 else if (limit !=
nullptr)
7166 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);
7170 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
7171 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
7174 UINT64* destination = threadInfo->destination;
7175 UINT64* limit = threadInfo->biasedLimit;
7176 if (destination < limit)
7178 limit += PIXEventsSafeFastCopySpaceQwords;
7179 UINT64 time = PIXGetTimestampCounter();
7180 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7181 *destination++ = color;
7183 PIXCopyEventArgument(destination, limit, context);
7184 PIXCopyEventArgument(destination, limit, formatString);
7185 PIXCopyEventArgument(destination, limit, a1);
7186 PIXCopyEventArgument(destination, limit, a2);
7187 PIXCopyEventArgument(destination, limit, a3);
7188 PIXCopyEventArgument(destination, limit, a4);
7189 PIXCopyEventArgument(destination, limit, a5);
7190 PIXCopyEventArgument(destination, limit, a6);
7191 PIXCopyEventArgument(destination, limit, a7);
7192 PIXCopyEventArgument(destination, limit, a8);
7194 *destination = PIXEventsBlockEndMarker;
7195 threadInfo->destination = destination;
7197 else if (limit !=
nullptr)
7199 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
7203 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
7204 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
7207 UINT64* destination = threadInfo->destination;
7208 UINT64* limit = threadInfo->biasedLimit;
7209 if (destination < limit)
7211 limit += PIXEventsSafeFastCopySpaceQwords;
7212 UINT64 time = PIXGetTimestampCounter();
7213 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7214 *destination++ = color;
7216 PIXCopyEventArgument(destination, limit, context);
7217 PIXCopyEventArgument(destination, limit, formatString);
7218 PIXCopyEventArgument(destination, limit, a1);
7219 PIXCopyEventArgument(destination, limit, a2);
7220 PIXCopyEventArgument(destination, limit, a3);
7221 PIXCopyEventArgument(destination, limit, a4);
7222 PIXCopyEventArgument(destination, limit, a5);
7223 PIXCopyEventArgument(destination, limit, a6);
7224 PIXCopyEventArgument(destination, limit, a7);
7225 PIXCopyEventArgument(destination, limit, a8);
7226 PIXCopyEventArgument(destination, limit, a9);
7228 *destination = PIXEventsBlockEndMarker;
7229 threadInfo->destination = destination;
7231 else if (limit !=
nullptr)
7233 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
7237 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
7238 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
7241 UINT64* destination = threadInfo->destination;
7242 UINT64* limit = threadInfo->biasedLimit;
7243 if (destination < limit)
7245 limit += PIXEventsSafeFastCopySpaceQwords;
7246 UINT64 time = PIXGetTimestampCounter();
7247 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7248 *destination++ = color;
7250 PIXCopyEventArgument(destination, limit, context);
7251 PIXCopyEventArgument(destination, limit, formatString);
7252 PIXCopyEventArgument(destination, limit, a1);
7253 PIXCopyEventArgument(destination, limit, a2);
7254 PIXCopyEventArgument(destination, limit, a3);
7255 PIXCopyEventArgument(destination, limit, a4);
7256 PIXCopyEventArgument(destination, limit, a5);
7257 PIXCopyEventArgument(destination, limit, a6);
7258 PIXCopyEventArgument(destination, limit, a7);
7259 PIXCopyEventArgument(destination, limit, a8);
7260 PIXCopyEventArgument(destination, limit, a9);
7261 PIXCopyEventArgument(destination, limit, a10);
7263 *destination = PIXEventsBlockEndMarker;
7264 threadInfo->destination = destination;
7266 else if (limit !=
nullptr)
7268 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
7272 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
7273 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
7276 UINT64* destination = threadInfo->destination;
7277 UINT64* limit = threadInfo->biasedLimit;
7278 if (destination < limit)
7280 limit += PIXEventsSafeFastCopySpaceQwords;
7281 UINT64 time = PIXGetTimestampCounter();
7282 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7283 *destination++ = color;
7285 PIXCopyEventArgument(destination, limit, context);
7286 PIXCopyEventArgument(destination, limit, formatString);
7287 PIXCopyEventArgument(destination, limit, a1);
7288 PIXCopyEventArgument(destination, limit, a2);
7289 PIXCopyEventArgument(destination, limit, a3);
7290 PIXCopyEventArgument(destination, limit, a4);
7291 PIXCopyEventArgument(destination, limit, a5);
7292 PIXCopyEventArgument(destination, limit, a6);
7293 PIXCopyEventArgument(destination, limit, a7);
7294 PIXCopyEventArgument(destination, limit, a8);
7295 PIXCopyEventArgument(destination, limit, a9);
7296 PIXCopyEventArgument(destination, limit, a10);
7297 PIXCopyEventArgument(destination, limit, a11);
7299 *destination = PIXEventsBlockEndMarker;
7300 threadInfo->destination = destination;
7302 else if (limit !=
nullptr)
7304 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
7308 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
7309 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
7312 UINT64* destination = threadInfo->destination;
7313 UINT64* limit = threadInfo->biasedLimit;
7314 if (destination < limit)
7316 limit += PIXEventsSafeFastCopySpaceQwords;
7317 UINT64 time = PIXGetTimestampCounter();
7318 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7319 *destination++ = color;
7321 PIXCopyEventArgument(destination, limit, context);
7322 PIXCopyEventArgument(destination, limit, formatString);
7323 PIXCopyEventArgument(destination, limit, a1);
7324 PIXCopyEventArgument(destination, limit, a2);
7325 PIXCopyEventArgument(destination, limit, a3);
7326 PIXCopyEventArgument(destination, limit, a4);
7327 PIXCopyEventArgument(destination, limit, a5);
7328 PIXCopyEventArgument(destination, limit, a6);
7329 PIXCopyEventArgument(destination, limit, a7);
7330 PIXCopyEventArgument(destination, limit, a8);
7331 PIXCopyEventArgument(destination, limit, a9);
7332 PIXCopyEventArgument(destination, limit, a10);
7333 PIXCopyEventArgument(destination, limit, a11);
7334 PIXCopyEventArgument(destination, limit, a12);
7336 *destination = PIXEventsBlockEndMarker;
7337 threadInfo->destination = destination;
7339 else if (limit !=
nullptr)
7341 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
7345 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
7346 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
7349 UINT64* destination = threadInfo->destination;
7350 UINT64* limit = threadInfo->biasedLimit;
7351 if (destination < limit)
7353 limit += PIXEventsSafeFastCopySpaceQwords;
7354 UINT64 time = PIXGetTimestampCounter();
7355 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7356 *destination++ = color;
7358 PIXCopyEventArgument(destination, limit, context);
7359 PIXCopyEventArgument(destination, limit, formatString);
7360 PIXCopyEventArgument(destination, limit, a1);
7361 PIXCopyEventArgument(destination, limit, a2);
7362 PIXCopyEventArgument(destination, limit, a3);
7363 PIXCopyEventArgument(destination, limit, a4);
7364 PIXCopyEventArgument(destination, limit, a5);
7365 PIXCopyEventArgument(destination, limit, a6);
7366 PIXCopyEventArgument(destination, limit, a7);
7367 PIXCopyEventArgument(destination, limit, a8);
7368 PIXCopyEventArgument(destination, limit, a9);
7369 PIXCopyEventArgument(destination, limit, a10);
7370 PIXCopyEventArgument(destination, limit, a11);
7371 PIXCopyEventArgument(destination, limit, a12);
7372 PIXCopyEventArgument(destination, limit, a13);
7374 *destination = PIXEventsBlockEndMarker;
7375 threadInfo->destination = destination;
7377 else if (limit !=
nullptr)
7379 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
7383 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
7384 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
7387 UINT64* destination = threadInfo->destination;
7388 UINT64* limit = threadInfo->biasedLimit;
7389 if (destination < limit)
7391 limit += PIXEventsSafeFastCopySpaceQwords;
7392 UINT64 time = PIXGetTimestampCounter();
7393 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7394 *destination++ = color;
7396 PIXCopyEventArgument(destination, limit, context);
7397 PIXCopyEventArgument(destination, limit, formatString);
7398 PIXCopyEventArgument(destination, limit, a1);
7399 PIXCopyEventArgument(destination, limit, a2);
7400 PIXCopyEventArgument(destination, limit, a3);
7401 PIXCopyEventArgument(destination, limit, a4);
7402 PIXCopyEventArgument(destination, limit, a5);
7403 PIXCopyEventArgument(destination, limit, a6);
7404 PIXCopyEventArgument(destination, limit, a7);
7405 PIXCopyEventArgument(destination, limit, a8);
7406 PIXCopyEventArgument(destination, limit, a9);
7407 PIXCopyEventArgument(destination, limit, a10);
7408 PIXCopyEventArgument(destination, limit, a11);
7409 PIXCopyEventArgument(destination, limit, a12);
7410 PIXCopyEventArgument(destination, limit, a13);
7411 PIXCopyEventArgument(destination, limit, a14);
7413 *destination = PIXEventsBlockEndMarker;
7414 threadInfo->destination = destination;
7416 else if (limit !=
nullptr)
7418 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
7422 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
7423 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
7426 UINT64* destination = threadInfo->destination;
7427 UINT64* limit = threadInfo->biasedLimit;
7428 if (destination < limit)
7430 limit += PIXEventsSafeFastCopySpaceQwords;
7431 UINT64 time = PIXGetTimestampCounter();
7432 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7433 *destination++ = color;
7435 PIXCopyEventArgument(destination, limit, context);
7436 PIXCopyEventArgument(destination, limit, formatString);
7437 PIXCopyEventArgument(destination, limit, a1);
7438 PIXCopyEventArgument(destination, limit, a2);
7439 PIXCopyEventArgument(destination, limit, a3);
7440 PIXCopyEventArgument(destination, limit, a4);
7441 PIXCopyEventArgument(destination, limit, a5);
7442 PIXCopyEventArgument(destination, limit, a6);
7443 PIXCopyEventArgument(destination, limit, a7);
7444 PIXCopyEventArgument(destination, limit, a8);
7445 PIXCopyEventArgument(destination, limit, a9);
7446 PIXCopyEventArgument(destination, limit, a10);
7447 PIXCopyEventArgument(destination, limit, a11);
7448 PIXCopyEventArgument(destination, limit, a12);
7449 PIXCopyEventArgument(destination, limit, a13);
7450 PIXCopyEventArgument(destination, limit, a14);
7451 PIXCopyEventArgument(destination, limit, a15);
7453 *destination = PIXEventsBlockEndMarker;
7454 threadInfo->destination = destination;
7456 else if (limit !=
nullptr)
7458 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
7462 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
7463 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
7466 UINT64* destination = threadInfo->destination;
7467 UINT64* limit = threadInfo->biasedLimit;
7468 if (destination < limit)
7470 limit += PIXEventsSafeFastCopySpaceQwords;
7471 UINT64 time = PIXGetTimestampCounter();
7472 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7473 *destination++ = color;
7475 PIXCopyEventArgument(destination, limit, context);
7476 PIXCopyEventArgument(destination, limit, formatString);
7477 PIXCopyEventArgument(destination, limit, a1);
7478 PIXCopyEventArgument(destination, limit, a2);
7479 PIXCopyEventArgument(destination, limit, a3);
7480 PIXCopyEventArgument(destination, limit, a4);
7481 PIXCopyEventArgument(destination, limit, a5);
7482 PIXCopyEventArgument(destination, limit, a6);
7483 PIXCopyEventArgument(destination, limit, a7);
7484 PIXCopyEventArgument(destination, limit, a8);
7485 PIXCopyEventArgument(destination, limit, a9);
7486 PIXCopyEventArgument(destination, limit, a10);
7487 PIXCopyEventArgument(destination, limit, a11);
7488 PIXCopyEventArgument(destination, limit, a12);
7489 PIXCopyEventArgument(destination, limit, a13);
7490 PIXCopyEventArgument(destination, limit, a14);
7491 PIXCopyEventArgument(destination, limit, a15);
7492 PIXCopyEventArgument(destination, limit, a16);
7494 *destination = PIXEventsBlockEndMarker;
7495 threadInfo->destination = destination;
7497 else if (limit !=
nullptr)
7499 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
7503 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString)
7506 UINT64* destination = threadInfo->destination;
7507 UINT64* limit = threadInfo->biasedLimit;
7508 if (destination < limit)
7510 limit += PIXEventsSafeFastCopySpaceQwords;
7511 UINT64 time = PIXGetTimestampCounter();
7512 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);
7513 *destination++ = color;
7515 PIXCopyEventArgument(destination, limit, context);
7516 PIXCopyEventArgument(destination, limit, formatString);
7518 *destination = PIXEventsBlockEndMarker;
7519 threadInfo->destination = destination;
7521 else if (limit !=
nullptr)
7523 MakeCPUSetMarkerForContextAllocate(color, context, formatString);
7528 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)
7531 UINT64* destination = threadInfo->destination;
7532 UINT64* limit = threadInfo->biasedLimit;
7533 if (destination < limit)
7535 limit += PIXEventsSafeFastCopySpaceQwords;
7536 UINT64 time = PIXGetTimestampCounter();
7537 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7538 *destination++ = color;
7540 PIXCopyEventArgument(destination, limit, context);
7541 PIXCopyEventArgument(destination, limit, formatString);
7542 PIXCopyEventArgument(destination, limit, a1);
7544 *destination = PIXEventsBlockEndMarker;
7545 threadInfo->destination = destination;
7547 else if (limit !=
nullptr)
7549 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1);
7553 template<
class T1,
class T2>
7554 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)
7557 UINT64* destination = threadInfo->destination;
7558 UINT64* limit = threadInfo->biasedLimit;
7559 if (destination < limit)
7561 limit += PIXEventsSafeFastCopySpaceQwords;
7562 UINT64 time = PIXGetTimestampCounter();
7563 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7564 *destination++ = color;
7566 PIXCopyEventArgument(destination, limit, context);
7567 PIXCopyEventArgument(destination, limit, formatString);
7568 PIXCopyEventArgument(destination, limit, a1);
7569 PIXCopyEventArgument(destination, limit, a2);
7571 *destination = PIXEventsBlockEndMarker;
7572 threadInfo->destination = destination;
7574 else if (limit !=
nullptr)
7576 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2);
7580 template<
class T1,
class T2,
class T3>
7581 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
7584 UINT64* destination = threadInfo->destination;
7585 UINT64* limit = threadInfo->biasedLimit;
7586 if (destination < limit)
7588 limit += PIXEventsSafeFastCopySpaceQwords;
7589 UINT64 time = PIXGetTimestampCounter();
7590 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7591 *destination++ = color;
7593 PIXCopyEventArgument(destination, limit, context);
7594 PIXCopyEventArgument(destination, limit, formatString);
7595 PIXCopyEventArgument(destination, limit, a1);
7596 PIXCopyEventArgument(destination, limit, a2);
7597 PIXCopyEventArgument(destination, limit, a3);
7599 *destination = PIXEventsBlockEndMarker;
7600 threadInfo->destination = destination;
7602 else if (limit !=
nullptr)
7604 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3);
7608 template<
class T1,
class T2,
class T3,
class T4>
7609 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
7612 UINT64* destination = threadInfo->destination;
7613 UINT64* limit = threadInfo->biasedLimit;
7614 if (destination < limit)
7616 limit += PIXEventsSafeFastCopySpaceQwords;
7617 UINT64 time = PIXGetTimestampCounter();
7618 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7619 *destination++ = color;
7621 PIXCopyEventArgument(destination, limit, context);
7622 PIXCopyEventArgument(destination, limit, formatString);
7623 PIXCopyEventArgument(destination, limit, a1);
7624 PIXCopyEventArgument(destination, limit, a2);
7625 PIXCopyEventArgument(destination, limit, a3);
7626 PIXCopyEventArgument(destination, limit, a4);
7628 *destination = PIXEventsBlockEndMarker;
7629 threadInfo->destination = destination;
7631 else if (limit !=
nullptr)
7633 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4);
7637 template<
class T1,
class T2,
class T3,
class T4,
class T5>
7638 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
7641 UINT64* destination = threadInfo->destination;
7642 UINT64* limit = threadInfo->biasedLimit;
7643 if (destination < limit)
7645 limit += PIXEventsSafeFastCopySpaceQwords;
7646 UINT64 time = PIXGetTimestampCounter();
7647 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7648 *destination++ = color;
7650 PIXCopyEventArgument(destination, limit, context);
7651 PIXCopyEventArgument(destination, limit, formatString);
7652 PIXCopyEventArgument(destination, limit, a1);
7653 PIXCopyEventArgument(destination, limit, a2);
7654 PIXCopyEventArgument(destination, limit, a3);
7655 PIXCopyEventArgument(destination, limit, a4);
7656 PIXCopyEventArgument(destination, limit, a5);
7658 *destination = PIXEventsBlockEndMarker;
7659 threadInfo->destination = destination;
7661 else if (limit !=
nullptr)
7663 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);
7667 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
7668 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
7671 UINT64* destination = threadInfo->destination;
7672 UINT64* limit = threadInfo->biasedLimit;
7673 if (destination < limit)
7675 limit += PIXEventsSafeFastCopySpaceQwords;
7676 UINT64 time = PIXGetTimestampCounter();
7677 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7678 *destination++ = color;
7680 PIXCopyEventArgument(destination, limit, context);
7681 PIXCopyEventArgument(destination, limit, formatString);
7682 PIXCopyEventArgument(destination, limit, a1);
7683 PIXCopyEventArgument(destination, limit, a2);
7684 PIXCopyEventArgument(destination, limit, a3);
7685 PIXCopyEventArgument(destination, limit, a4);
7686 PIXCopyEventArgument(destination, limit, a5);
7687 PIXCopyEventArgument(destination, limit, a6);
7689 *destination = PIXEventsBlockEndMarker;
7690 threadInfo->destination = destination;
7692 else if (limit !=
nullptr)
7694 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);
7698 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
7699 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
7702 UINT64* destination = threadInfo->destination;
7703 UINT64* limit = threadInfo->biasedLimit;
7704 if (destination < limit)
7706 limit += PIXEventsSafeFastCopySpaceQwords;
7707 UINT64 time = PIXGetTimestampCounter();
7708 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7709 *destination++ = color;
7711 PIXCopyEventArgument(destination, limit, context);
7712 PIXCopyEventArgument(destination, limit, formatString);
7713 PIXCopyEventArgument(destination, limit, a1);
7714 PIXCopyEventArgument(destination, limit, a2);
7715 PIXCopyEventArgument(destination, limit, a3);
7716 PIXCopyEventArgument(destination, limit, a4);
7717 PIXCopyEventArgument(destination, limit, a5);
7718 PIXCopyEventArgument(destination, limit, a6);
7719 PIXCopyEventArgument(destination, limit, a7);
7721 *destination = PIXEventsBlockEndMarker;
7722 threadInfo->destination = destination;
7724 else if (limit !=
nullptr)
7726 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);
7730 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
7731 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
7734 UINT64* destination = threadInfo->destination;
7735 UINT64* limit = threadInfo->biasedLimit;
7736 if (destination < limit)
7738 limit += PIXEventsSafeFastCopySpaceQwords;
7739 UINT64 time = PIXGetTimestampCounter();
7740 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7741 *destination++ = color;
7743 PIXCopyEventArgument(destination, limit, context);
7744 PIXCopyEventArgument(destination, limit, formatString);
7745 PIXCopyEventArgument(destination, limit, a1);
7746 PIXCopyEventArgument(destination, limit, a2);
7747 PIXCopyEventArgument(destination, limit, a3);
7748 PIXCopyEventArgument(destination, limit, a4);
7749 PIXCopyEventArgument(destination, limit, a5);
7750 PIXCopyEventArgument(destination, limit, a6);
7751 PIXCopyEventArgument(destination, limit, a7);
7752 PIXCopyEventArgument(destination, limit, a8);
7754 *destination = PIXEventsBlockEndMarker;
7755 threadInfo->destination = destination;
7757 else if (limit !=
nullptr)
7759 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
7763 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
7764 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
7767 UINT64* destination = threadInfo->destination;
7768 UINT64* limit = threadInfo->biasedLimit;
7769 if (destination < limit)
7771 limit += PIXEventsSafeFastCopySpaceQwords;
7772 UINT64 time = PIXGetTimestampCounter();
7773 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7774 *destination++ = color;
7776 PIXCopyEventArgument(destination, limit, context);
7777 PIXCopyEventArgument(destination, limit, formatString);
7778 PIXCopyEventArgument(destination, limit, a1);
7779 PIXCopyEventArgument(destination, limit, a2);
7780 PIXCopyEventArgument(destination, limit, a3);
7781 PIXCopyEventArgument(destination, limit, a4);
7782 PIXCopyEventArgument(destination, limit, a5);
7783 PIXCopyEventArgument(destination, limit, a6);
7784 PIXCopyEventArgument(destination, limit, a7);
7785 PIXCopyEventArgument(destination, limit, a8);
7786 PIXCopyEventArgument(destination, limit, a9);
7788 *destination = PIXEventsBlockEndMarker;
7789 threadInfo->destination = destination;
7791 else if (limit !=
nullptr)
7793 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
7797 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
7798 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
7801 UINT64* destination = threadInfo->destination;
7802 UINT64* limit = threadInfo->biasedLimit;
7803 if (destination < limit)
7805 limit += PIXEventsSafeFastCopySpaceQwords;
7806 UINT64 time = PIXGetTimestampCounter();
7807 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7808 *destination++ = color;
7810 PIXCopyEventArgument(destination, limit, context);
7811 PIXCopyEventArgument(destination, limit, formatString);
7812 PIXCopyEventArgument(destination, limit, a1);
7813 PIXCopyEventArgument(destination, limit, a2);
7814 PIXCopyEventArgument(destination, limit, a3);
7815 PIXCopyEventArgument(destination, limit, a4);
7816 PIXCopyEventArgument(destination, limit, a5);
7817 PIXCopyEventArgument(destination, limit, a6);
7818 PIXCopyEventArgument(destination, limit, a7);
7819 PIXCopyEventArgument(destination, limit, a8);
7820 PIXCopyEventArgument(destination, limit, a9);
7821 PIXCopyEventArgument(destination, limit, a10);
7823 *destination = PIXEventsBlockEndMarker;
7824 threadInfo->destination = destination;
7826 else if (limit !=
nullptr)
7828 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
7832 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
7833 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
7836 UINT64* destination = threadInfo->destination;
7837 UINT64* limit = threadInfo->biasedLimit;
7838 if (destination < limit)
7840 limit += PIXEventsSafeFastCopySpaceQwords;
7841 UINT64 time = PIXGetTimestampCounter();
7842 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7843 *destination++ = color;
7845 PIXCopyEventArgument(destination, limit, context);
7846 PIXCopyEventArgument(destination, limit, formatString);
7847 PIXCopyEventArgument(destination, limit, a1);
7848 PIXCopyEventArgument(destination, limit, a2);
7849 PIXCopyEventArgument(destination, limit, a3);
7850 PIXCopyEventArgument(destination, limit, a4);
7851 PIXCopyEventArgument(destination, limit, a5);
7852 PIXCopyEventArgument(destination, limit, a6);
7853 PIXCopyEventArgument(destination, limit, a7);
7854 PIXCopyEventArgument(destination, limit, a8);
7855 PIXCopyEventArgument(destination, limit, a9);
7856 PIXCopyEventArgument(destination, limit, a10);
7857 PIXCopyEventArgument(destination, limit, a11);
7859 *destination = PIXEventsBlockEndMarker;
7860 threadInfo->destination = destination;
7862 else if (limit !=
nullptr)
7864 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
7868 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
7869 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
7872 UINT64* destination = threadInfo->destination;
7873 UINT64* limit = threadInfo->biasedLimit;
7874 if (destination < limit)
7876 limit += PIXEventsSafeFastCopySpaceQwords;
7877 UINT64 time = PIXGetTimestampCounter();
7878 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7879 *destination++ = color;
7881 PIXCopyEventArgument(destination, limit, context);
7882 PIXCopyEventArgument(destination, limit, formatString);
7883 PIXCopyEventArgument(destination, limit, a1);
7884 PIXCopyEventArgument(destination, limit, a2);
7885 PIXCopyEventArgument(destination, limit, a3);
7886 PIXCopyEventArgument(destination, limit, a4);
7887 PIXCopyEventArgument(destination, limit, a5);
7888 PIXCopyEventArgument(destination, limit, a6);
7889 PIXCopyEventArgument(destination, limit, a7);
7890 PIXCopyEventArgument(destination, limit, a8);
7891 PIXCopyEventArgument(destination, limit, a9);
7892 PIXCopyEventArgument(destination, limit, a10);
7893 PIXCopyEventArgument(destination, limit, a11);
7894 PIXCopyEventArgument(destination, limit, a12);
7896 *destination = PIXEventsBlockEndMarker;
7897 threadInfo->destination = destination;
7899 else if (limit !=
nullptr)
7901 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
7905 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
7906 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
7909 UINT64* destination = threadInfo->destination;
7910 UINT64* limit = threadInfo->biasedLimit;
7911 if (destination < limit)
7913 limit += PIXEventsSafeFastCopySpaceQwords;
7914 UINT64 time = PIXGetTimestampCounter();
7915 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7916 *destination++ = color;
7918 PIXCopyEventArgument(destination, limit, context);
7919 PIXCopyEventArgument(destination, limit, formatString);
7920 PIXCopyEventArgument(destination, limit, a1);
7921 PIXCopyEventArgument(destination, limit, a2);
7922 PIXCopyEventArgument(destination, limit, a3);
7923 PIXCopyEventArgument(destination, limit, a4);
7924 PIXCopyEventArgument(destination, limit, a5);
7925 PIXCopyEventArgument(destination, limit, a6);
7926 PIXCopyEventArgument(destination, limit, a7);
7927 PIXCopyEventArgument(destination, limit, a8);
7928 PIXCopyEventArgument(destination, limit, a9);
7929 PIXCopyEventArgument(destination, limit, a10);
7930 PIXCopyEventArgument(destination, limit, a11);
7931 PIXCopyEventArgument(destination, limit, a12);
7932 PIXCopyEventArgument(destination, limit, a13);
7934 *destination = PIXEventsBlockEndMarker;
7935 threadInfo->destination = destination;
7937 else if (limit !=
nullptr)
7939 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
7943 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
7944 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
7947 UINT64* destination = threadInfo->destination;
7948 UINT64* limit = threadInfo->biasedLimit;
7949 if (destination < limit)
7951 limit += PIXEventsSafeFastCopySpaceQwords;
7952 UINT64 time = PIXGetTimestampCounter();
7953 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7954 *destination++ = color;
7956 PIXCopyEventArgument(destination, limit, context);
7957 PIXCopyEventArgument(destination, limit, formatString);
7958 PIXCopyEventArgument(destination, limit, a1);
7959 PIXCopyEventArgument(destination, limit, a2);
7960 PIXCopyEventArgument(destination, limit, a3);
7961 PIXCopyEventArgument(destination, limit, a4);
7962 PIXCopyEventArgument(destination, limit, a5);
7963 PIXCopyEventArgument(destination, limit, a6);
7964 PIXCopyEventArgument(destination, limit, a7);
7965 PIXCopyEventArgument(destination, limit, a8);
7966 PIXCopyEventArgument(destination, limit, a9);
7967 PIXCopyEventArgument(destination, limit, a10);
7968 PIXCopyEventArgument(destination, limit, a11);
7969 PIXCopyEventArgument(destination, limit, a12);
7970 PIXCopyEventArgument(destination, limit, a13);
7971 PIXCopyEventArgument(destination, limit, a14);
7973 *destination = PIXEventsBlockEndMarker;
7974 threadInfo->destination = destination;
7976 else if (limit !=
nullptr)
7978 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
7982 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
7983 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
7986 UINT64* destination = threadInfo->destination;
7987 UINT64* limit = threadInfo->biasedLimit;
7988 if (destination < limit)
7990 limit += PIXEventsSafeFastCopySpaceQwords;
7991 UINT64 time = PIXGetTimestampCounter();
7992 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
7993 *destination++ = color;
7995 PIXCopyEventArgument(destination, limit, context);
7996 PIXCopyEventArgument(destination, limit, formatString);
7997 PIXCopyEventArgument(destination, limit, a1);
7998 PIXCopyEventArgument(destination, limit, a2);
7999 PIXCopyEventArgument(destination, limit, a3);
8000 PIXCopyEventArgument(destination, limit, a4);
8001 PIXCopyEventArgument(destination, limit, a5);
8002 PIXCopyEventArgument(destination, limit, a6);
8003 PIXCopyEventArgument(destination, limit, a7);
8004 PIXCopyEventArgument(destination, limit, a8);
8005 PIXCopyEventArgument(destination, limit, a9);
8006 PIXCopyEventArgument(destination, limit, a10);
8007 PIXCopyEventArgument(destination, limit, a11);
8008 PIXCopyEventArgument(destination, limit, a12);
8009 PIXCopyEventArgument(destination, limit, a13);
8010 PIXCopyEventArgument(destination, limit, a14);
8011 PIXCopyEventArgument(destination, limit, a15);
8013 *destination = PIXEventsBlockEndMarker;
8014 threadInfo->destination = destination;
8016 else if (limit !=
nullptr)
8018 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
8022 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
8023 inline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
8026 UINT64* destination = threadInfo->destination;
8027 UINT64* limit = threadInfo->biasedLimit;
8028 if (destination < limit)
8030 limit += PIXEventsSafeFastCopySpaceQwords;
8031 UINT64 time = PIXGetTimestampCounter();
8032 *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);
8033 *destination++ = color;
8035 PIXCopyEventArgument(destination, limit, context);
8036 PIXCopyEventArgument(destination, limit, formatString);
8037 PIXCopyEventArgument(destination, limit, a1);
8038 PIXCopyEventArgument(destination, limit, a2);
8039 PIXCopyEventArgument(destination, limit, a3);
8040 PIXCopyEventArgument(destination, limit, a4);
8041 PIXCopyEventArgument(destination, limit, a5);
8042 PIXCopyEventArgument(destination, limit, a6);
8043 PIXCopyEventArgument(destination, limit, a7);
8044 PIXCopyEventArgument(destination, limit, a8);
8045 PIXCopyEventArgument(destination, limit, a9);
8046 PIXCopyEventArgument(destination, limit, a10);
8047 PIXCopyEventArgument(destination, limit, a11);
8048 PIXCopyEventArgument(destination, limit, a12);
8049 PIXCopyEventArgument(destination, limit, a13);
8050 PIXCopyEventArgument(destination, limit, a14);
8051 PIXCopyEventArgument(destination, limit, a15);
8052 PIXCopyEventArgument(destination, limit, a16);
8054 *destination = PIXEventsBlockEndMarker;
8055 threadInfo->destination = destination;
8057 else if (limit !=
nullptr)
8059 MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
8064 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString)
8066 UINT64 time = PIXEventsReplaceBlock(
false);
8070 UINT64* destination = threadInfo->destination;
8071 UINT64* limit = threadInfo->limit;
8072 if (destination < limit)
8074 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);
8075 *destination++ = color;
8077 PIXCopyEventArgument(destination, limit, context);
8078 PIXCopyEventArgument(destination, limit, formatString);
8079 *destination = PIXEventsBlockEndMarker;
8080 threadInfo->destination = destination;
8086 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)
8088 UINT64 time = PIXEventsReplaceBlock(
false);
8092 UINT64* destination = threadInfo->destination;
8093 UINT64* limit = threadInfo->limit;
8094 if (destination < limit)
8096 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8097 *destination++ = color;
8099 PIXCopyEventArgument(destination, limit, context);
8100 PIXCopyEventArgument(destination, limit, formatString);
8101 PIXCopyEventArgument(destination, limit, a1);
8102 *destination = PIXEventsBlockEndMarker;
8103 threadInfo->destination = destination;
8108 template<
class T1,
class T2>
8109 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)
8111 UINT64 time = PIXEventsReplaceBlock(
false);
8115 UINT64* destination = threadInfo->destination;
8116 UINT64* limit = threadInfo->limit;
8117 if (destination < limit)
8119 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8120 *destination++ = color;
8122 PIXCopyEventArgument(destination, limit, context);
8123 PIXCopyEventArgument(destination, limit, formatString);
8124 PIXCopyEventArgument(destination, limit, a1);
8125 PIXCopyEventArgument(destination, limit, a2);
8126 *destination = PIXEventsBlockEndMarker;
8127 threadInfo->destination = destination;
8132 template<
class T1,
class T2,
class T3>
8133 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
8135 UINT64 time = PIXEventsReplaceBlock(
false);
8139 UINT64* destination = threadInfo->destination;
8140 UINT64* limit = threadInfo->limit;
8141 if (destination < limit)
8143 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8144 *destination++ = color;
8146 PIXCopyEventArgument(destination, limit, context);
8147 PIXCopyEventArgument(destination, limit, formatString);
8148 PIXCopyEventArgument(destination, limit, a1);
8149 PIXCopyEventArgument(destination, limit, a2);
8150 PIXCopyEventArgument(destination, limit, a3);
8151 *destination = PIXEventsBlockEndMarker;
8152 threadInfo->destination = destination;
8157 template<
class T1,
class T2,
class T3,
class T4>
8158 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
8160 UINT64 time = PIXEventsReplaceBlock(
false);
8164 UINT64* destination = threadInfo->destination;
8165 UINT64* limit = threadInfo->limit;
8166 if (destination < limit)
8168 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8169 *destination++ = color;
8171 PIXCopyEventArgument(destination, limit, context);
8172 PIXCopyEventArgument(destination, limit, formatString);
8173 PIXCopyEventArgument(destination, limit, a1);
8174 PIXCopyEventArgument(destination, limit, a2);
8175 PIXCopyEventArgument(destination, limit, a3);
8176 PIXCopyEventArgument(destination, limit, a4);
8177 *destination = PIXEventsBlockEndMarker;
8178 threadInfo->destination = destination;
8183 template<
class T1,
class T2,
class T3,
class T4,
class T5>
8184 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
8186 UINT64 time = PIXEventsReplaceBlock(
false);
8190 UINT64* destination = threadInfo->destination;
8191 UINT64* limit = threadInfo->limit;
8192 if (destination < limit)
8194 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8195 *destination++ = color;
8197 PIXCopyEventArgument(destination, limit, context);
8198 PIXCopyEventArgument(destination, limit, formatString);
8199 PIXCopyEventArgument(destination, limit, a1);
8200 PIXCopyEventArgument(destination, limit, a2);
8201 PIXCopyEventArgument(destination, limit, a3);
8202 PIXCopyEventArgument(destination, limit, a4);
8203 PIXCopyEventArgument(destination, limit, a5);
8204 *destination = PIXEventsBlockEndMarker;
8205 threadInfo->destination = destination;
8210 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
8211 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
8213 UINT64 time = PIXEventsReplaceBlock(
false);
8217 UINT64* destination = threadInfo->destination;
8218 UINT64* limit = threadInfo->limit;
8219 if (destination < limit)
8221 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8222 *destination++ = color;
8224 PIXCopyEventArgument(destination, limit, context);
8225 PIXCopyEventArgument(destination, limit, formatString);
8226 PIXCopyEventArgument(destination, limit, a1);
8227 PIXCopyEventArgument(destination, limit, a2);
8228 PIXCopyEventArgument(destination, limit, a3);
8229 PIXCopyEventArgument(destination, limit, a4);
8230 PIXCopyEventArgument(destination, limit, a5);
8231 PIXCopyEventArgument(destination, limit, a6);
8232 *destination = PIXEventsBlockEndMarker;
8233 threadInfo->destination = destination;
8238 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
8239 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
8241 UINT64 time = PIXEventsReplaceBlock(
false);
8245 UINT64* destination = threadInfo->destination;
8246 UINT64* limit = threadInfo->limit;
8247 if (destination < limit)
8249 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8250 *destination++ = color;
8252 PIXCopyEventArgument(destination, limit, context);
8253 PIXCopyEventArgument(destination, limit, formatString);
8254 PIXCopyEventArgument(destination, limit, a1);
8255 PIXCopyEventArgument(destination, limit, a2);
8256 PIXCopyEventArgument(destination, limit, a3);
8257 PIXCopyEventArgument(destination, limit, a4);
8258 PIXCopyEventArgument(destination, limit, a5);
8259 PIXCopyEventArgument(destination, limit, a6);
8260 PIXCopyEventArgument(destination, limit, a7);
8261 *destination = PIXEventsBlockEndMarker;
8262 threadInfo->destination = destination;
8267 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
8268 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
8270 UINT64 time = PIXEventsReplaceBlock(
false);
8274 UINT64* destination = threadInfo->destination;
8275 UINT64* limit = threadInfo->limit;
8276 if (destination < limit)
8278 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8279 *destination++ = color;
8281 PIXCopyEventArgument(destination, limit, context);
8282 PIXCopyEventArgument(destination, limit, formatString);
8283 PIXCopyEventArgument(destination, limit, a1);
8284 PIXCopyEventArgument(destination, limit, a2);
8285 PIXCopyEventArgument(destination, limit, a3);
8286 PIXCopyEventArgument(destination, limit, a4);
8287 PIXCopyEventArgument(destination, limit, a5);
8288 PIXCopyEventArgument(destination, limit, a6);
8289 PIXCopyEventArgument(destination, limit, a7);
8290 PIXCopyEventArgument(destination, limit, a8);
8291 *destination = PIXEventsBlockEndMarker;
8292 threadInfo->destination = destination;
8297 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
8298 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
8300 UINT64 time = PIXEventsReplaceBlock(
false);
8304 UINT64* destination = threadInfo->destination;
8305 UINT64* limit = threadInfo->limit;
8306 if (destination < limit)
8308 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8309 *destination++ = color;
8311 PIXCopyEventArgument(destination, limit, context);
8312 PIXCopyEventArgument(destination, limit, formatString);
8313 PIXCopyEventArgument(destination, limit, a1);
8314 PIXCopyEventArgument(destination, limit, a2);
8315 PIXCopyEventArgument(destination, limit, a3);
8316 PIXCopyEventArgument(destination, limit, a4);
8317 PIXCopyEventArgument(destination, limit, a5);
8318 PIXCopyEventArgument(destination, limit, a6);
8319 PIXCopyEventArgument(destination, limit, a7);
8320 PIXCopyEventArgument(destination, limit, a8);
8321 PIXCopyEventArgument(destination, limit, a9);
8322 *destination = PIXEventsBlockEndMarker;
8323 threadInfo->destination = destination;
8328 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
8329 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
8331 UINT64 time = PIXEventsReplaceBlock(
false);
8335 UINT64* destination = threadInfo->destination;
8336 UINT64* limit = threadInfo->limit;
8337 if (destination < limit)
8339 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8340 *destination++ = color;
8342 PIXCopyEventArgument(destination, limit, context);
8343 PIXCopyEventArgument(destination, limit, formatString);
8344 PIXCopyEventArgument(destination, limit, a1);
8345 PIXCopyEventArgument(destination, limit, a2);
8346 PIXCopyEventArgument(destination, limit, a3);
8347 PIXCopyEventArgument(destination, limit, a4);
8348 PIXCopyEventArgument(destination, limit, a5);
8349 PIXCopyEventArgument(destination, limit, a6);
8350 PIXCopyEventArgument(destination, limit, a7);
8351 PIXCopyEventArgument(destination, limit, a8);
8352 PIXCopyEventArgument(destination, limit, a9);
8353 PIXCopyEventArgument(destination, limit, a10);
8354 *destination = PIXEventsBlockEndMarker;
8355 threadInfo->destination = destination;
8360 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
8361 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
8363 UINT64 time = PIXEventsReplaceBlock(
false);
8367 UINT64* destination = threadInfo->destination;
8368 UINT64* limit = threadInfo->limit;
8369 if (destination < limit)
8371 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8372 *destination++ = color;
8374 PIXCopyEventArgument(destination, limit, context);
8375 PIXCopyEventArgument(destination, limit, formatString);
8376 PIXCopyEventArgument(destination, limit, a1);
8377 PIXCopyEventArgument(destination, limit, a2);
8378 PIXCopyEventArgument(destination, limit, a3);
8379 PIXCopyEventArgument(destination, limit, a4);
8380 PIXCopyEventArgument(destination, limit, a5);
8381 PIXCopyEventArgument(destination, limit, a6);
8382 PIXCopyEventArgument(destination, limit, a7);
8383 PIXCopyEventArgument(destination, limit, a8);
8384 PIXCopyEventArgument(destination, limit, a9);
8385 PIXCopyEventArgument(destination, limit, a10);
8386 PIXCopyEventArgument(destination, limit, a11);
8387 *destination = PIXEventsBlockEndMarker;
8388 threadInfo->destination = destination;
8393 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
8394 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
8396 UINT64 time = PIXEventsReplaceBlock(
false);
8400 UINT64* destination = threadInfo->destination;
8401 UINT64* limit = threadInfo->limit;
8402 if (destination < limit)
8404 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8405 *destination++ = color;
8407 PIXCopyEventArgument(destination, limit, context);
8408 PIXCopyEventArgument(destination, limit, formatString);
8409 PIXCopyEventArgument(destination, limit, a1);
8410 PIXCopyEventArgument(destination, limit, a2);
8411 PIXCopyEventArgument(destination, limit, a3);
8412 PIXCopyEventArgument(destination, limit, a4);
8413 PIXCopyEventArgument(destination, limit, a5);
8414 PIXCopyEventArgument(destination, limit, a6);
8415 PIXCopyEventArgument(destination, limit, a7);
8416 PIXCopyEventArgument(destination, limit, a8);
8417 PIXCopyEventArgument(destination, limit, a9);
8418 PIXCopyEventArgument(destination, limit, a10);
8419 PIXCopyEventArgument(destination, limit, a11);
8420 PIXCopyEventArgument(destination, limit, a12);
8421 *destination = PIXEventsBlockEndMarker;
8422 threadInfo->destination = destination;
8427 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
8428 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
8430 UINT64 time = PIXEventsReplaceBlock(
false);
8434 UINT64* destination = threadInfo->destination;
8435 UINT64* limit = threadInfo->limit;
8436 if (destination < limit)
8438 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8439 *destination++ = color;
8441 PIXCopyEventArgument(destination, limit, context);
8442 PIXCopyEventArgument(destination, limit, formatString);
8443 PIXCopyEventArgument(destination, limit, a1);
8444 PIXCopyEventArgument(destination, limit, a2);
8445 PIXCopyEventArgument(destination, limit, a3);
8446 PIXCopyEventArgument(destination, limit, a4);
8447 PIXCopyEventArgument(destination, limit, a5);
8448 PIXCopyEventArgument(destination, limit, a6);
8449 PIXCopyEventArgument(destination, limit, a7);
8450 PIXCopyEventArgument(destination, limit, a8);
8451 PIXCopyEventArgument(destination, limit, a9);
8452 PIXCopyEventArgument(destination, limit, a10);
8453 PIXCopyEventArgument(destination, limit, a11);
8454 PIXCopyEventArgument(destination, limit, a12);
8455 PIXCopyEventArgument(destination, limit, a13);
8456 *destination = PIXEventsBlockEndMarker;
8457 threadInfo->destination = destination;
8462 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
8463 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
8465 UINT64 time = PIXEventsReplaceBlock(
false);
8469 UINT64* destination = threadInfo->destination;
8470 UINT64* limit = threadInfo->limit;
8471 if (destination < limit)
8473 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8474 *destination++ = color;
8476 PIXCopyEventArgument(destination, limit, context);
8477 PIXCopyEventArgument(destination, limit, formatString);
8478 PIXCopyEventArgument(destination, limit, a1);
8479 PIXCopyEventArgument(destination, limit, a2);
8480 PIXCopyEventArgument(destination, limit, a3);
8481 PIXCopyEventArgument(destination, limit, a4);
8482 PIXCopyEventArgument(destination, limit, a5);
8483 PIXCopyEventArgument(destination, limit, a6);
8484 PIXCopyEventArgument(destination, limit, a7);
8485 PIXCopyEventArgument(destination, limit, a8);
8486 PIXCopyEventArgument(destination, limit, a9);
8487 PIXCopyEventArgument(destination, limit, a10);
8488 PIXCopyEventArgument(destination, limit, a11);
8489 PIXCopyEventArgument(destination, limit, a12);
8490 PIXCopyEventArgument(destination, limit, a13);
8491 PIXCopyEventArgument(destination, limit, a14);
8492 *destination = PIXEventsBlockEndMarker;
8493 threadInfo->destination = destination;
8498 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
8499 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
8501 UINT64 time = PIXEventsReplaceBlock(
false);
8505 UINT64* destination = threadInfo->destination;
8506 UINT64* limit = threadInfo->limit;
8507 if (destination < limit)
8509 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8510 *destination++ = color;
8512 PIXCopyEventArgument(destination, limit, context);
8513 PIXCopyEventArgument(destination, limit, formatString);
8514 PIXCopyEventArgument(destination, limit, a1);
8515 PIXCopyEventArgument(destination, limit, a2);
8516 PIXCopyEventArgument(destination, limit, a3);
8517 PIXCopyEventArgument(destination, limit, a4);
8518 PIXCopyEventArgument(destination, limit, a5);
8519 PIXCopyEventArgument(destination, limit, a6);
8520 PIXCopyEventArgument(destination, limit, a7);
8521 PIXCopyEventArgument(destination, limit, a8);
8522 PIXCopyEventArgument(destination, limit, a9);
8523 PIXCopyEventArgument(destination, limit, a10);
8524 PIXCopyEventArgument(destination, limit, a11);
8525 PIXCopyEventArgument(destination, limit, a12);
8526 PIXCopyEventArgument(destination, limit, a13);
8527 PIXCopyEventArgument(destination, limit, a14);
8528 PIXCopyEventArgument(destination, limit, a15);
8529 *destination = PIXEventsBlockEndMarker;
8530 threadInfo->destination = destination;
8535 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
8536 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
8538 UINT64 time = PIXEventsReplaceBlock(
false);
8542 UINT64* destination = threadInfo->destination;
8543 UINT64* limit = threadInfo->limit;
8544 if (destination < limit)
8546 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8547 *destination++ = color;
8549 PIXCopyEventArgument(destination, limit, context);
8550 PIXCopyEventArgument(destination, limit, formatString);
8551 PIXCopyEventArgument(destination, limit, a1);
8552 PIXCopyEventArgument(destination, limit, a2);
8553 PIXCopyEventArgument(destination, limit, a3);
8554 PIXCopyEventArgument(destination, limit, a4);
8555 PIXCopyEventArgument(destination, limit, a5);
8556 PIXCopyEventArgument(destination, limit, a6);
8557 PIXCopyEventArgument(destination, limit, a7);
8558 PIXCopyEventArgument(destination, limit, a8);
8559 PIXCopyEventArgument(destination, limit, a9);
8560 PIXCopyEventArgument(destination, limit, a10);
8561 PIXCopyEventArgument(destination, limit, a11);
8562 PIXCopyEventArgument(destination, limit, a12);
8563 PIXCopyEventArgument(destination, limit, a13);
8564 PIXCopyEventArgument(destination, limit, a14);
8565 PIXCopyEventArgument(destination, limit, a15);
8566 PIXCopyEventArgument(destination, limit, a16);
8567 *destination = PIXEventsBlockEndMarker;
8568 threadInfo->destination = destination;
8573 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString)
8575 UINT64 time = PIXEventsReplaceBlock(
false);
8579 UINT64* destination = threadInfo->destination;
8580 UINT64* limit = threadInfo->limit;
8581 if (destination < limit)
8583 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);
8584 *destination++ = color;
8586 PIXCopyEventArgument(destination, limit, context);
8587 PIXCopyEventArgument(destination, limit, formatString);
8588 *destination = PIXEventsBlockEndMarker;
8589 threadInfo->destination = destination;
8595 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)
8597 UINT64 time = PIXEventsReplaceBlock(
false);
8601 UINT64* destination = threadInfo->destination;
8602 UINT64* limit = threadInfo->limit;
8603 if (destination < limit)
8605 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8606 *destination++ = color;
8608 PIXCopyEventArgument(destination, limit, context);
8609 PIXCopyEventArgument(destination, limit, formatString);
8610 PIXCopyEventArgument(destination, limit, a1);
8611 *destination = PIXEventsBlockEndMarker;
8612 threadInfo->destination = destination;
8617 template<
class T1,
class T2>
8618 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)
8620 UINT64 time = PIXEventsReplaceBlock(
false);
8624 UINT64* destination = threadInfo->destination;
8625 UINT64* limit = threadInfo->limit;
8626 if (destination < limit)
8628 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8629 *destination++ = color;
8631 PIXCopyEventArgument(destination, limit, context);
8632 PIXCopyEventArgument(destination, limit, formatString);
8633 PIXCopyEventArgument(destination, limit, a1);
8634 PIXCopyEventArgument(destination, limit, a2);
8635 *destination = PIXEventsBlockEndMarker;
8636 threadInfo->destination = destination;
8641 template<
class T1,
class T2,
class T3>
8642 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
8644 UINT64 time = PIXEventsReplaceBlock(
false);
8648 UINT64* destination = threadInfo->destination;
8649 UINT64* limit = threadInfo->limit;
8650 if (destination < limit)
8652 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8653 *destination++ = color;
8655 PIXCopyEventArgument(destination, limit, context);
8656 PIXCopyEventArgument(destination, limit, formatString);
8657 PIXCopyEventArgument(destination, limit, a1);
8658 PIXCopyEventArgument(destination, limit, a2);
8659 PIXCopyEventArgument(destination, limit, a3);
8660 *destination = PIXEventsBlockEndMarker;
8661 threadInfo->destination = destination;
8666 template<
class T1,
class T2,
class T3,
class T4>
8667 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
8669 UINT64 time = PIXEventsReplaceBlock(
false);
8673 UINT64* destination = threadInfo->destination;
8674 UINT64* limit = threadInfo->limit;
8675 if (destination < limit)
8677 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8678 *destination++ = color;
8680 PIXCopyEventArgument(destination, limit, context);
8681 PIXCopyEventArgument(destination, limit, formatString);
8682 PIXCopyEventArgument(destination, limit, a1);
8683 PIXCopyEventArgument(destination, limit, a2);
8684 PIXCopyEventArgument(destination, limit, a3);
8685 PIXCopyEventArgument(destination, limit, a4);
8686 *destination = PIXEventsBlockEndMarker;
8687 threadInfo->destination = destination;
8692 template<
class T1,
class T2,
class T3,
class T4,
class T5>
8693 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
8695 UINT64 time = PIXEventsReplaceBlock(
false);
8699 UINT64* destination = threadInfo->destination;
8700 UINT64* limit = threadInfo->limit;
8701 if (destination < limit)
8703 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8704 *destination++ = color;
8706 PIXCopyEventArgument(destination, limit, context);
8707 PIXCopyEventArgument(destination, limit, formatString);
8708 PIXCopyEventArgument(destination, limit, a1);
8709 PIXCopyEventArgument(destination, limit, a2);
8710 PIXCopyEventArgument(destination, limit, a3);
8711 PIXCopyEventArgument(destination, limit, a4);
8712 PIXCopyEventArgument(destination, limit, a5);
8713 *destination = PIXEventsBlockEndMarker;
8714 threadInfo->destination = destination;
8719 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
8720 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
8722 UINT64 time = PIXEventsReplaceBlock(
false);
8726 UINT64* destination = threadInfo->destination;
8727 UINT64* limit = threadInfo->limit;
8728 if (destination < limit)
8730 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8731 *destination++ = color;
8733 PIXCopyEventArgument(destination, limit, context);
8734 PIXCopyEventArgument(destination, limit, formatString);
8735 PIXCopyEventArgument(destination, limit, a1);
8736 PIXCopyEventArgument(destination, limit, a2);
8737 PIXCopyEventArgument(destination, limit, a3);
8738 PIXCopyEventArgument(destination, limit, a4);
8739 PIXCopyEventArgument(destination, limit, a5);
8740 PIXCopyEventArgument(destination, limit, a6);
8741 *destination = PIXEventsBlockEndMarker;
8742 threadInfo->destination = destination;
8747 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
8748 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
8750 UINT64 time = PIXEventsReplaceBlock(
false);
8754 UINT64* destination = threadInfo->destination;
8755 UINT64* limit = threadInfo->limit;
8756 if (destination < limit)
8758 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8759 *destination++ = color;
8761 PIXCopyEventArgument(destination, limit, context);
8762 PIXCopyEventArgument(destination, limit, formatString);
8763 PIXCopyEventArgument(destination, limit, a1);
8764 PIXCopyEventArgument(destination, limit, a2);
8765 PIXCopyEventArgument(destination, limit, a3);
8766 PIXCopyEventArgument(destination, limit, a4);
8767 PIXCopyEventArgument(destination, limit, a5);
8768 PIXCopyEventArgument(destination, limit, a6);
8769 PIXCopyEventArgument(destination, limit, a7);
8770 *destination = PIXEventsBlockEndMarker;
8771 threadInfo->destination = destination;
8776 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
8777 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
8779 UINT64 time = PIXEventsReplaceBlock(
false);
8783 UINT64* destination = threadInfo->destination;
8784 UINT64* limit = threadInfo->limit;
8785 if (destination < limit)
8787 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8788 *destination++ = color;
8790 PIXCopyEventArgument(destination, limit, context);
8791 PIXCopyEventArgument(destination, limit, formatString);
8792 PIXCopyEventArgument(destination, limit, a1);
8793 PIXCopyEventArgument(destination, limit, a2);
8794 PIXCopyEventArgument(destination, limit, a3);
8795 PIXCopyEventArgument(destination, limit, a4);
8796 PIXCopyEventArgument(destination, limit, a5);
8797 PIXCopyEventArgument(destination, limit, a6);
8798 PIXCopyEventArgument(destination, limit, a7);
8799 PIXCopyEventArgument(destination, limit, a8);
8800 *destination = PIXEventsBlockEndMarker;
8801 threadInfo->destination = destination;
8806 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
8807 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
8809 UINT64 time = PIXEventsReplaceBlock(
false);
8813 UINT64* destination = threadInfo->destination;
8814 UINT64* limit = threadInfo->limit;
8815 if (destination < limit)
8817 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8818 *destination++ = color;
8820 PIXCopyEventArgument(destination, limit, context);
8821 PIXCopyEventArgument(destination, limit, formatString);
8822 PIXCopyEventArgument(destination, limit, a1);
8823 PIXCopyEventArgument(destination, limit, a2);
8824 PIXCopyEventArgument(destination, limit, a3);
8825 PIXCopyEventArgument(destination, limit, a4);
8826 PIXCopyEventArgument(destination, limit, a5);
8827 PIXCopyEventArgument(destination, limit, a6);
8828 PIXCopyEventArgument(destination, limit, a7);
8829 PIXCopyEventArgument(destination, limit, a8);
8830 PIXCopyEventArgument(destination, limit, a9);
8831 *destination = PIXEventsBlockEndMarker;
8832 threadInfo->destination = destination;
8837 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
8838 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
8840 UINT64 time = PIXEventsReplaceBlock(
false);
8844 UINT64* destination = threadInfo->destination;
8845 UINT64* limit = threadInfo->limit;
8846 if (destination < limit)
8848 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8849 *destination++ = color;
8851 PIXCopyEventArgument(destination, limit, context);
8852 PIXCopyEventArgument(destination, limit, formatString);
8853 PIXCopyEventArgument(destination, limit, a1);
8854 PIXCopyEventArgument(destination, limit, a2);
8855 PIXCopyEventArgument(destination, limit, a3);
8856 PIXCopyEventArgument(destination, limit, a4);
8857 PIXCopyEventArgument(destination, limit, a5);
8858 PIXCopyEventArgument(destination, limit, a6);
8859 PIXCopyEventArgument(destination, limit, a7);
8860 PIXCopyEventArgument(destination, limit, a8);
8861 PIXCopyEventArgument(destination, limit, a9);
8862 PIXCopyEventArgument(destination, limit, a10);
8863 *destination = PIXEventsBlockEndMarker;
8864 threadInfo->destination = destination;
8869 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
8870 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
8872 UINT64 time = PIXEventsReplaceBlock(
false);
8876 UINT64* destination = threadInfo->destination;
8877 UINT64* limit = threadInfo->limit;
8878 if (destination < limit)
8880 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8881 *destination++ = color;
8883 PIXCopyEventArgument(destination, limit, context);
8884 PIXCopyEventArgument(destination, limit, formatString);
8885 PIXCopyEventArgument(destination, limit, a1);
8886 PIXCopyEventArgument(destination, limit, a2);
8887 PIXCopyEventArgument(destination, limit, a3);
8888 PIXCopyEventArgument(destination, limit, a4);
8889 PIXCopyEventArgument(destination, limit, a5);
8890 PIXCopyEventArgument(destination, limit, a6);
8891 PIXCopyEventArgument(destination, limit, a7);
8892 PIXCopyEventArgument(destination, limit, a8);
8893 PIXCopyEventArgument(destination, limit, a9);
8894 PIXCopyEventArgument(destination, limit, a10);
8895 PIXCopyEventArgument(destination, limit, a11);
8896 *destination = PIXEventsBlockEndMarker;
8897 threadInfo->destination = destination;
8902 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
8903 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
8905 UINT64 time = PIXEventsReplaceBlock(
false);
8909 UINT64* destination = threadInfo->destination;
8910 UINT64* limit = threadInfo->limit;
8911 if (destination < limit)
8913 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8914 *destination++ = color;
8916 PIXCopyEventArgument(destination, limit, context);
8917 PIXCopyEventArgument(destination, limit, formatString);
8918 PIXCopyEventArgument(destination, limit, a1);
8919 PIXCopyEventArgument(destination, limit, a2);
8920 PIXCopyEventArgument(destination, limit, a3);
8921 PIXCopyEventArgument(destination, limit, a4);
8922 PIXCopyEventArgument(destination, limit, a5);
8923 PIXCopyEventArgument(destination, limit, a6);
8924 PIXCopyEventArgument(destination, limit, a7);
8925 PIXCopyEventArgument(destination, limit, a8);
8926 PIXCopyEventArgument(destination, limit, a9);
8927 PIXCopyEventArgument(destination, limit, a10);
8928 PIXCopyEventArgument(destination, limit, a11);
8929 PIXCopyEventArgument(destination, limit, a12);
8930 *destination = PIXEventsBlockEndMarker;
8931 threadInfo->destination = destination;
8936 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
8937 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
8939 UINT64 time = PIXEventsReplaceBlock(
false);
8943 UINT64* destination = threadInfo->destination;
8944 UINT64* limit = threadInfo->limit;
8945 if (destination < limit)
8947 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8948 *destination++ = color;
8950 PIXCopyEventArgument(destination, limit, context);
8951 PIXCopyEventArgument(destination, limit, formatString);
8952 PIXCopyEventArgument(destination, limit, a1);
8953 PIXCopyEventArgument(destination, limit, a2);
8954 PIXCopyEventArgument(destination, limit, a3);
8955 PIXCopyEventArgument(destination, limit, a4);
8956 PIXCopyEventArgument(destination, limit, a5);
8957 PIXCopyEventArgument(destination, limit, a6);
8958 PIXCopyEventArgument(destination, limit, a7);
8959 PIXCopyEventArgument(destination, limit, a8);
8960 PIXCopyEventArgument(destination, limit, a9);
8961 PIXCopyEventArgument(destination, limit, a10);
8962 PIXCopyEventArgument(destination, limit, a11);
8963 PIXCopyEventArgument(destination, limit, a12);
8964 PIXCopyEventArgument(destination, limit, a13);
8965 *destination = PIXEventsBlockEndMarker;
8966 threadInfo->destination = destination;
8971 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
8972 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
8974 UINT64 time = PIXEventsReplaceBlock(
false);
8978 UINT64* destination = threadInfo->destination;
8979 UINT64* limit = threadInfo->limit;
8980 if (destination < limit)
8982 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
8983 *destination++ = color;
8985 PIXCopyEventArgument(destination, limit, context);
8986 PIXCopyEventArgument(destination, limit, formatString);
8987 PIXCopyEventArgument(destination, limit, a1);
8988 PIXCopyEventArgument(destination, limit, a2);
8989 PIXCopyEventArgument(destination, limit, a3);
8990 PIXCopyEventArgument(destination, limit, a4);
8991 PIXCopyEventArgument(destination, limit, a5);
8992 PIXCopyEventArgument(destination, limit, a6);
8993 PIXCopyEventArgument(destination, limit, a7);
8994 PIXCopyEventArgument(destination, limit, a8);
8995 PIXCopyEventArgument(destination, limit, a9);
8996 PIXCopyEventArgument(destination, limit, a10);
8997 PIXCopyEventArgument(destination, limit, a11);
8998 PIXCopyEventArgument(destination, limit, a12);
8999 PIXCopyEventArgument(destination, limit, a13);
9000 PIXCopyEventArgument(destination, limit, a14);
9001 *destination = PIXEventsBlockEndMarker;
9002 threadInfo->destination = destination;
9007 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
9008 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
9010 UINT64 time = PIXEventsReplaceBlock(
false);
9014 UINT64* destination = threadInfo->destination;
9015 UINT64* limit = threadInfo->limit;
9016 if (destination < limit)
9018 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9019 *destination++ = color;
9021 PIXCopyEventArgument(destination, limit, context);
9022 PIXCopyEventArgument(destination, limit, formatString);
9023 PIXCopyEventArgument(destination, limit, a1);
9024 PIXCopyEventArgument(destination, limit, a2);
9025 PIXCopyEventArgument(destination, limit, a3);
9026 PIXCopyEventArgument(destination, limit, a4);
9027 PIXCopyEventArgument(destination, limit, a5);
9028 PIXCopyEventArgument(destination, limit, a6);
9029 PIXCopyEventArgument(destination, limit, a7);
9030 PIXCopyEventArgument(destination, limit, a8);
9031 PIXCopyEventArgument(destination, limit, a9);
9032 PIXCopyEventArgument(destination, limit, a10);
9033 PIXCopyEventArgument(destination, limit, a11);
9034 PIXCopyEventArgument(destination, limit, a12);
9035 PIXCopyEventArgument(destination, limit, a13);
9036 PIXCopyEventArgument(destination, limit, a14);
9037 PIXCopyEventArgument(destination, limit, a15);
9038 *destination = PIXEventsBlockEndMarker;
9039 threadInfo->destination = destination;
9044 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
9045 __declspec(noinline) inline
void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
9047 UINT64 time = PIXEventsReplaceBlock(
false);
9051 UINT64* destination = threadInfo->destination;
9052 UINT64* limit = threadInfo->limit;
9053 if (destination < limit)
9055 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9056 *destination++ = color;
9058 PIXCopyEventArgument(destination, limit, context);
9059 PIXCopyEventArgument(destination, limit, formatString);
9060 PIXCopyEventArgument(destination, limit, a1);
9061 PIXCopyEventArgument(destination, limit, a2);
9062 PIXCopyEventArgument(destination, limit, a3);
9063 PIXCopyEventArgument(destination, limit, a4);
9064 PIXCopyEventArgument(destination, limit, a5);
9065 PIXCopyEventArgument(destination, limit, a6);
9066 PIXCopyEventArgument(destination, limit, a7);
9067 PIXCopyEventArgument(destination, limit, a8);
9068 PIXCopyEventArgument(destination, limit, a9);
9069 PIXCopyEventArgument(destination, limit, a10);
9070 PIXCopyEventArgument(destination, limit, a11);
9071 PIXCopyEventArgument(destination, limit, a12);
9072 PIXCopyEventArgument(destination, limit, a13);
9073 PIXCopyEventArgument(destination, limit, a14);
9074 PIXCopyEventArgument(destination, limit, a15);
9075 PIXCopyEventArgument(destination, limit, a16);
9076 *destination = PIXEventsBlockEndMarker;
9077 threadInfo->destination = destination;
9082 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString)
9085 UINT64* destination = threadInfo->destination;
9086 UINT64* limit = threadInfo->biasedLimit;
9087 if (destination < limit)
9089 limit += PIXEventsSafeFastCopySpaceQwords;
9090 UINT64 time = PIXGetTimestampCounter();
9091 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);
9092 *destination++ = color;
9094 PIXCopyEventArgument(destination, limit, context);
9095 PIXCopyEventArgument(destination, limit, formatString);
9097 *destination = PIXEventsBlockEndMarker;
9098 threadInfo->destination = destination;
9100 else if (limit !=
nullptr)
9102 MakeCPUBeginEventForContextAllocate(color, context, formatString);
9107 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)
9110 UINT64* destination = threadInfo->destination;
9111 UINT64* limit = threadInfo->biasedLimit;
9112 if (destination < limit)
9114 limit += PIXEventsSafeFastCopySpaceQwords;
9115 UINT64 time = PIXGetTimestampCounter();
9116 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9117 *destination++ = color;
9119 PIXCopyEventArgument(destination, limit, context);
9120 PIXCopyEventArgument(destination, limit, formatString);
9121 PIXCopyEventArgument(destination, limit, a1);
9123 *destination = PIXEventsBlockEndMarker;
9124 threadInfo->destination = destination;
9126 else if (limit !=
nullptr)
9128 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1);
9132 template<
class T1,
class T2>
9133 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)
9136 UINT64* destination = threadInfo->destination;
9137 UINT64* limit = threadInfo->biasedLimit;
9138 if (destination < limit)
9140 limit += PIXEventsSafeFastCopySpaceQwords;
9141 UINT64 time = PIXGetTimestampCounter();
9142 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9143 *destination++ = color;
9145 PIXCopyEventArgument(destination, limit, context);
9146 PIXCopyEventArgument(destination, limit, formatString);
9147 PIXCopyEventArgument(destination, limit, a1);
9148 PIXCopyEventArgument(destination, limit, a2);
9150 *destination = PIXEventsBlockEndMarker;
9151 threadInfo->destination = destination;
9153 else if (limit !=
nullptr)
9155 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2);
9159 template<
class T1,
class T2,
class T3>
9160 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
9163 UINT64* destination = threadInfo->destination;
9164 UINT64* limit = threadInfo->biasedLimit;
9165 if (destination < limit)
9167 limit += PIXEventsSafeFastCopySpaceQwords;
9168 UINT64 time = PIXGetTimestampCounter();
9169 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9170 *destination++ = color;
9172 PIXCopyEventArgument(destination, limit, context);
9173 PIXCopyEventArgument(destination, limit, formatString);
9174 PIXCopyEventArgument(destination, limit, a1);
9175 PIXCopyEventArgument(destination, limit, a2);
9176 PIXCopyEventArgument(destination, limit, a3);
9178 *destination = PIXEventsBlockEndMarker;
9179 threadInfo->destination = destination;
9181 else if (limit !=
nullptr)
9183 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3);
9187 template<
class T1,
class T2,
class T3,
class T4>
9188 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
9191 UINT64* destination = threadInfo->destination;
9192 UINT64* limit = threadInfo->biasedLimit;
9193 if (destination < limit)
9195 limit += PIXEventsSafeFastCopySpaceQwords;
9196 UINT64 time = PIXGetTimestampCounter();
9197 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9198 *destination++ = color;
9200 PIXCopyEventArgument(destination, limit, context);
9201 PIXCopyEventArgument(destination, limit, formatString);
9202 PIXCopyEventArgument(destination, limit, a1);
9203 PIXCopyEventArgument(destination, limit, a2);
9204 PIXCopyEventArgument(destination, limit, a3);
9205 PIXCopyEventArgument(destination, limit, a4);
9207 *destination = PIXEventsBlockEndMarker;
9208 threadInfo->destination = destination;
9210 else if (limit !=
nullptr)
9212 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4);
9216 template<
class T1,
class T2,
class T3,
class T4,
class T5>
9217 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
9220 UINT64* destination = threadInfo->destination;
9221 UINT64* limit = threadInfo->biasedLimit;
9222 if (destination < limit)
9224 limit += PIXEventsSafeFastCopySpaceQwords;
9225 UINT64 time = PIXGetTimestampCounter();
9226 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9227 *destination++ = color;
9229 PIXCopyEventArgument(destination, limit, context);
9230 PIXCopyEventArgument(destination, limit, formatString);
9231 PIXCopyEventArgument(destination, limit, a1);
9232 PIXCopyEventArgument(destination, limit, a2);
9233 PIXCopyEventArgument(destination, limit, a3);
9234 PIXCopyEventArgument(destination, limit, a4);
9235 PIXCopyEventArgument(destination, limit, a5);
9237 *destination = PIXEventsBlockEndMarker;
9238 threadInfo->destination = destination;
9240 else if (limit !=
nullptr)
9242 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);
9246 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
9247 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
9250 UINT64* destination = threadInfo->destination;
9251 UINT64* limit = threadInfo->biasedLimit;
9252 if (destination < limit)
9254 limit += PIXEventsSafeFastCopySpaceQwords;
9255 UINT64 time = PIXGetTimestampCounter();
9256 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9257 *destination++ = color;
9259 PIXCopyEventArgument(destination, limit, context);
9260 PIXCopyEventArgument(destination, limit, formatString);
9261 PIXCopyEventArgument(destination, limit, a1);
9262 PIXCopyEventArgument(destination, limit, a2);
9263 PIXCopyEventArgument(destination, limit, a3);
9264 PIXCopyEventArgument(destination, limit, a4);
9265 PIXCopyEventArgument(destination, limit, a5);
9266 PIXCopyEventArgument(destination, limit, a6);
9268 *destination = PIXEventsBlockEndMarker;
9269 threadInfo->destination = destination;
9271 else if (limit !=
nullptr)
9273 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);
9277 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
9278 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
9281 UINT64* destination = threadInfo->destination;
9282 UINT64* limit = threadInfo->biasedLimit;
9283 if (destination < limit)
9285 limit += PIXEventsSafeFastCopySpaceQwords;
9286 UINT64 time = PIXGetTimestampCounter();
9287 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9288 *destination++ = color;
9290 PIXCopyEventArgument(destination, limit, context);
9291 PIXCopyEventArgument(destination, limit, formatString);
9292 PIXCopyEventArgument(destination, limit, a1);
9293 PIXCopyEventArgument(destination, limit, a2);
9294 PIXCopyEventArgument(destination, limit, a3);
9295 PIXCopyEventArgument(destination, limit, a4);
9296 PIXCopyEventArgument(destination, limit, a5);
9297 PIXCopyEventArgument(destination, limit, a6);
9298 PIXCopyEventArgument(destination, limit, a7);
9300 *destination = PIXEventsBlockEndMarker;
9301 threadInfo->destination = destination;
9303 else if (limit !=
nullptr)
9305 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);
9309 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
9310 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
9313 UINT64* destination = threadInfo->destination;
9314 UINT64* limit = threadInfo->biasedLimit;
9315 if (destination < limit)
9317 limit += PIXEventsSafeFastCopySpaceQwords;
9318 UINT64 time = PIXGetTimestampCounter();
9319 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9320 *destination++ = color;
9322 PIXCopyEventArgument(destination, limit, context);
9323 PIXCopyEventArgument(destination, limit, formatString);
9324 PIXCopyEventArgument(destination, limit, a1);
9325 PIXCopyEventArgument(destination, limit, a2);
9326 PIXCopyEventArgument(destination, limit, a3);
9327 PIXCopyEventArgument(destination, limit, a4);
9328 PIXCopyEventArgument(destination, limit, a5);
9329 PIXCopyEventArgument(destination, limit, a6);
9330 PIXCopyEventArgument(destination, limit, a7);
9331 PIXCopyEventArgument(destination, limit, a8);
9333 *destination = PIXEventsBlockEndMarker;
9334 threadInfo->destination = destination;
9336 else if (limit !=
nullptr)
9338 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
9342 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
9343 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
9346 UINT64* destination = threadInfo->destination;
9347 UINT64* limit = threadInfo->biasedLimit;
9348 if (destination < limit)
9350 limit += PIXEventsSafeFastCopySpaceQwords;
9351 UINT64 time = PIXGetTimestampCounter();
9352 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9353 *destination++ = color;
9355 PIXCopyEventArgument(destination, limit, context);
9356 PIXCopyEventArgument(destination, limit, formatString);
9357 PIXCopyEventArgument(destination, limit, a1);
9358 PIXCopyEventArgument(destination, limit, a2);
9359 PIXCopyEventArgument(destination, limit, a3);
9360 PIXCopyEventArgument(destination, limit, a4);
9361 PIXCopyEventArgument(destination, limit, a5);
9362 PIXCopyEventArgument(destination, limit, a6);
9363 PIXCopyEventArgument(destination, limit, a7);
9364 PIXCopyEventArgument(destination, limit, a8);
9365 PIXCopyEventArgument(destination, limit, a9);
9367 *destination = PIXEventsBlockEndMarker;
9368 threadInfo->destination = destination;
9370 else if (limit !=
nullptr)
9372 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
9376 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
9377 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
9380 UINT64* destination = threadInfo->destination;
9381 UINT64* limit = threadInfo->biasedLimit;
9382 if (destination < limit)
9384 limit += PIXEventsSafeFastCopySpaceQwords;
9385 UINT64 time = PIXGetTimestampCounter();
9386 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9387 *destination++ = color;
9389 PIXCopyEventArgument(destination, limit, context);
9390 PIXCopyEventArgument(destination, limit, formatString);
9391 PIXCopyEventArgument(destination, limit, a1);
9392 PIXCopyEventArgument(destination, limit, a2);
9393 PIXCopyEventArgument(destination, limit, a3);
9394 PIXCopyEventArgument(destination, limit, a4);
9395 PIXCopyEventArgument(destination, limit, a5);
9396 PIXCopyEventArgument(destination, limit, a6);
9397 PIXCopyEventArgument(destination, limit, a7);
9398 PIXCopyEventArgument(destination, limit, a8);
9399 PIXCopyEventArgument(destination, limit, a9);
9400 PIXCopyEventArgument(destination, limit, a10);
9402 *destination = PIXEventsBlockEndMarker;
9403 threadInfo->destination = destination;
9405 else if (limit !=
nullptr)
9407 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
9411 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
9412 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
9415 UINT64* destination = threadInfo->destination;
9416 UINT64* limit = threadInfo->biasedLimit;
9417 if (destination < limit)
9419 limit += PIXEventsSafeFastCopySpaceQwords;
9420 UINT64 time = PIXGetTimestampCounter();
9421 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9422 *destination++ = color;
9424 PIXCopyEventArgument(destination, limit, context);
9425 PIXCopyEventArgument(destination, limit, formatString);
9426 PIXCopyEventArgument(destination, limit, a1);
9427 PIXCopyEventArgument(destination, limit, a2);
9428 PIXCopyEventArgument(destination, limit, a3);
9429 PIXCopyEventArgument(destination, limit, a4);
9430 PIXCopyEventArgument(destination, limit, a5);
9431 PIXCopyEventArgument(destination, limit, a6);
9432 PIXCopyEventArgument(destination, limit, a7);
9433 PIXCopyEventArgument(destination, limit, a8);
9434 PIXCopyEventArgument(destination, limit, a9);
9435 PIXCopyEventArgument(destination, limit, a10);
9436 PIXCopyEventArgument(destination, limit, a11);
9438 *destination = PIXEventsBlockEndMarker;
9439 threadInfo->destination = destination;
9441 else if (limit !=
nullptr)
9443 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
9447 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
9448 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
9451 UINT64* destination = threadInfo->destination;
9452 UINT64* limit = threadInfo->biasedLimit;
9453 if (destination < limit)
9455 limit += PIXEventsSafeFastCopySpaceQwords;
9456 UINT64 time = PIXGetTimestampCounter();
9457 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9458 *destination++ = color;
9460 PIXCopyEventArgument(destination, limit, context);
9461 PIXCopyEventArgument(destination, limit, formatString);
9462 PIXCopyEventArgument(destination, limit, a1);
9463 PIXCopyEventArgument(destination, limit, a2);
9464 PIXCopyEventArgument(destination, limit, a3);
9465 PIXCopyEventArgument(destination, limit, a4);
9466 PIXCopyEventArgument(destination, limit, a5);
9467 PIXCopyEventArgument(destination, limit, a6);
9468 PIXCopyEventArgument(destination, limit, a7);
9469 PIXCopyEventArgument(destination, limit, a8);
9470 PIXCopyEventArgument(destination, limit, a9);
9471 PIXCopyEventArgument(destination, limit, a10);
9472 PIXCopyEventArgument(destination, limit, a11);
9473 PIXCopyEventArgument(destination, limit, a12);
9475 *destination = PIXEventsBlockEndMarker;
9476 threadInfo->destination = destination;
9478 else if (limit !=
nullptr)
9480 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
9484 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
9485 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
9488 UINT64* destination = threadInfo->destination;
9489 UINT64* limit = threadInfo->biasedLimit;
9490 if (destination < limit)
9492 limit += PIXEventsSafeFastCopySpaceQwords;
9493 UINT64 time = PIXGetTimestampCounter();
9494 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9495 *destination++ = color;
9497 PIXCopyEventArgument(destination, limit, context);
9498 PIXCopyEventArgument(destination, limit, formatString);
9499 PIXCopyEventArgument(destination, limit, a1);
9500 PIXCopyEventArgument(destination, limit, a2);
9501 PIXCopyEventArgument(destination, limit, a3);
9502 PIXCopyEventArgument(destination, limit, a4);
9503 PIXCopyEventArgument(destination, limit, a5);
9504 PIXCopyEventArgument(destination, limit, a6);
9505 PIXCopyEventArgument(destination, limit, a7);
9506 PIXCopyEventArgument(destination, limit, a8);
9507 PIXCopyEventArgument(destination, limit, a9);
9508 PIXCopyEventArgument(destination, limit, a10);
9509 PIXCopyEventArgument(destination, limit, a11);
9510 PIXCopyEventArgument(destination, limit, a12);
9511 PIXCopyEventArgument(destination, limit, a13);
9513 *destination = PIXEventsBlockEndMarker;
9514 threadInfo->destination = destination;
9516 else if (limit !=
nullptr)
9518 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
9522 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
9523 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
9526 UINT64* destination = threadInfo->destination;
9527 UINT64* limit = threadInfo->biasedLimit;
9528 if (destination < limit)
9530 limit += PIXEventsSafeFastCopySpaceQwords;
9531 UINT64 time = PIXGetTimestampCounter();
9532 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9533 *destination++ = color;
9535 PIXCopyEventArgument(destination, limit, context);
9536 PIXCopyEventArgument(destination, limit, formatString);
9537 PIXCopyEventArgument(destination, limit, a1);
9538 PIXCopyEventArgument(destination, limit, a2);
9539 PIXCopyEventArgument(destination, limit, a3);
9540 PIXCopyEventArgument(destination, limit, a4);
9541 PIXCopyEventArgument(destination, limit, a5);
9542 PIXCopyEventArgument(destination, limit, a6);
9543 PIXCopyEventArgument(destination, limit, a7);
9544 PIXCopyEventArgument(destination, limit, a8);
9545 PIXCopyEventArgument(destination, limit, a9);
9546 PIXCopyEventArgument(destination, limit, a10);
9547 PIXCopyEventArgument(destination, limit, a11);
9548 PIXCopyEventArgument(destination, limit, a12);
9549 PIXCopyEventArgument(destination, limit, a13);
9550 PIXCopyEventArgument(destination, limit, a14);
9552 *destination = PIXEventsBlockEndMarker;
9553 threadInfo->destination = destination;
9555 else if (limit !=
nullptr)
9557 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
9561 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
9562 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
9565 UINT64* destination = threadInfo->destination;
9566 UINT64* limit = threadInfo->biasedLimit;
9567 if (destination < limit)
9569 limit += PIXEventsSafeFastCopySpaceQwords;
9570 UINT64 time = PIXGetTimestampCounter();
9571 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9572 *destination++ = color;
9574 PIXCopyEventArgument(destination, limit, context);
9575 PIXCopyEventArgument(destination, limit, formatString);
9576 PIXCopyEventArgument(destination, limit, a1);
9577 PIXCopyEventArgument(destination, limit, a2);
9578 PIXCopyEventArgument(destination, limit, a3);
9579 PIXCopyEventArgument(destination, limit, a4);
9580 PIXCopyEventArgument(destination, limit, a5);
9581 PIXCopyEventArgument(destination, limit, a6);
9582 PIXCopyEventArgument(destination, limit, a7);
9583 PIXCopyEventArgument(destination, limit, a8);
9584 PIXCopyEventArgument(destination, limit, a9);
9585 PIXCopyEventArgument(destination, limit, a10);
9586 PIXCopyEventArgument(destination, limit, a11);
9587 PIXCopyEventArgument(destination, limit, a12);
9588 PIXCopyEventArgument(destination, limit, a13);
9589 PIXCopyEventArgument(destination, limit, a14);
9590 PIXCopyEventArgument(destination, limit, a15);
9592 *destination = PIXEventsBlockEndMarker;
9593 threadInfo->destination = destination;
9595 else if (limit !=
nullptr)
9597 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
9601 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
9602 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
9605 UINT64* destination = threadInfo->destination;
9606 UINT64* limit = threadInfo->biasedLimit;
9607 if (destination < limit)
9609 limit += PIXEventsSafeFastCopySpaceQwords;
9610 UINT64 time = PIXGetTimestampCounter();
9611 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9612 *destination++ = color;
9614 PIXCopyEventArgument(destination, limit, context);
9615 PIXCopyEventArgument(destination, limit, formatString);
9616 PIXCopyEventArgument(destination, limit, a1);
9617 PIXCopyEventArgument(destination, limit, a2);
9618 PIXCopyEventArgument(destination, limit, a3);
9619 PIXCopyEventArgument(destination, limit, a4);
9620 PIXCopyEventArgument(destination, limit, a5);
9621 PIXCopyEventArgument(destination, limit, a6);
9622 PIXCopyEventArgument(destination, limit, a7);
9623 PIXCopyEventArgument(destination, limit, a8);
9624 PIXCopyEventArgument(destination, limit, a9);
9625 PIXCopyEventArgument(destination, limit, a10);
9626 PIXCopyEventArgument(destination, limit, a11);
9627 PIXCopyEventArgument(destination, limit, a12);
9628 PIXCopyEventArgument(destination, limit, a13);
9629 PIXCopyEventArgument(destination, limit, a14);
9630 PIXCopyEventArgument(destination, limit, a15);
9631 PIXCopyEventArgument(destination, limit, a16);
9633 *destination = PIXEventsBlockEndMarker;
9634 threadInfo->destination = destination;
9636 else if (limit !=
nullptr)
9638 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
9642 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString)
9645 UINT64* destination = threadInfo->destination;
9646 UINT64* limit = threadInfo->biasedLimit;
9647 if (destination < limit)
9649 limit += PIXEventsSafeFastCopySpaceQwords;
9650 UINT64 time = PIXGetTimestampCounter();
9651 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);
9652 *destination++ = color;
9654 PIXCopyEventArgument(destination, limit, context);
9655 PIXCopyEventArgument(destination, limit, formatString);
9657 *destination = PIXEventsBlockEndMarker;
9658 threadInfo->destination = destination;
9660 else if (limit !=
nullptr)
9662 MakeCPUBeginEventForContextAllocate(color, context, formatString);
9667 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)
9670 UINT64* destination = threadInfo->destination;
9671 UINT64* limit = threadInfo->biasedLimit;
9672 if (destination < limit)
9674 limit += PIXEventsSafeFastCopySpaceQwords;
9675 UINT64 time = PIXGetTimestampCounter();
9676 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9677 *destination++ = color;
9679 PIXCopyEventArgument(destination, limit, context);
9680 PIXCopyEventArgument(destination, limit, formatString);
9681 PIXCopyEventArgument(destination, limit, a1);
9683 *destination = PIXEventsBlockEndMarker;
9684 threadInfo->destination = destination;
9686 else if (limit !=
nullptr)
9688 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1);
9692 template<
class T1,
class T2>
9693 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)
9696 UINT64* destination = threadInfo->destination;
9697 UINT64* limit = threadInfo->biasedLimit;
9698 if (destination < limit)
9700 limit += PIXEventsSafeFastCopySpaceQwords;
9701 UINT64 time = PIXGetTimestampCounter();
9702 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9703 *destination++ = color;
9705 PIXCopyEventArgument(destination, limit, context);
9706 PIXCopyEventArgument(destination, limit, formatString);
9707 PIXCopyEventArgument(destination, limit, a1);
9708 PIXCopyEventArgument(destination, limit, a2);
9710 *destination = PIXEventsBlockEndMarker;
9711 threadInfo->destination = destination;
9713 else if (limit !=
nullptr)
9715 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2);
9719 template<
class T1,
class T2,
class T3>
9720 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
9723 UINT64* destination = threadInfo->destination;
9724 UINT64* limit = threadInfo->biasedLimit;
9725 if (destination < limit)
9727 limit += PIXEventsSafeFastCopySpaceQwords;
9728 UINT64 time = PIXGetTimestampCounter();
9729 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9730 *destination++ = color;
9732 PIXCopyEventArgument(destination, limit, context);
9733 PIXCopyEventArgument(destination, limit, formatString);
9734 PIXCopyEventArgument(destination, limit, a1);
9735 PIXCopyEventArgument(destination, limit, a2);
9736 PIXCopyEventArgument(destination, limit, a3);
9738 *destination = PIXEventsBlockEndMarker;
9739 threadInfo->destination = destination;
9741 else if (limit !=
nullptr)
9743 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3);
9747 template<
class T1,
class T2,
class T3,
class T4>
9748 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
9751 UINT64* destination = threadInfo->destination;
9752 UINT64* limit = threadInfo->biasedLimit;
9753 if (destination < limit)
9755 limit += PIXEventsSafeFastCopySpaceQwords;
9756 UINT64 time = PIXGetTimestampCounter();
9757 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9758 *destination++ = color;
9760 PIXCopyEventArgument(destination, limit, context);
9761 PIXCopyEventArgument(destination, limit, formatString);
9762 PIXCopyEventArgument(destination, limit, a1);
9763 PIXCopyEventArgument(destination, limit, a2);
9764 PIXCopyEventArgument(destination, limit, a3);
9765 PIXCopyEventArgument(destination, limit, a4);
9767 *destination = PIXEventsBlockEndMarker;
9768 threadInfo->destination = destination;
9770 else if (limit !=
nullptr)
9772 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4);
9776 template<
class T1,
class T2,
class T3,
class T4,
class T5>
9777 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
9780 UINT64* destination = threadInfo->destination;
9781 UINT64* limit = threadInfo->biasedLimit;
9782 if (destination < limit)
9784 limit += PIXEventsSafeFastCopySpaceQwords;
9785 UINT64 time = PIXGetTimestampCounter();
9786 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9787 *destination++ = color;
9789 PIXCopyEventArgument(destination, limit, context);
9790 PIXCopyEventArgument(destination, limit, formatString);
9791 PIXCopyEventArgument(destination, limit, a1);
9792 PIXCopyEventArgument(destination, limit, a2);
9793 PIXCopyEventArgument(destination, limit, a3);
9794 PIXCopyEventArgument(destination, limit, a4);
9795 PIXCopyEventArgument(destination, limit, a5);
9797 *destination = PIXEventsBlockEndMarker;
9798 threadInfo->destination = destination;
9800 else if (limit !=
nullptr)
9802 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);
9806 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
9807 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
9810 UINT64* destination = threadInfo->destination;
9811 UINT64* limit = threadInfo->biasedLimit;
9812 if (destination < limit)
9814 limit += PIXEventsSafeFastCopySpaceQwords;
9815 UINT64 time = PIXGetTimestampCounter();
9816 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9817 *destination++ = color;
9819 PIXCopyEventArgument(destination, limit, context);
9820 PIXCopyEventArgument(destination, limit, formatString);
9821 PIXCopyEventArgument(destination, limit, a1);
9822 PIXCopyEventArgument(destination, limit, a2);
9823 PIXCopyEventArgument(destination, limit, a3);
9824 PIXCopyEventArgument(destination, limit, a4);
9825 PIXCopyEventArgument(destination, limit, a5);
9826 PIXCopyEventArgument(destination, limit, a6);
9828 *destination = PIXEventsBlockEndMarker;
9829 threadInfo->destination = destination;
9831 else if (limit !=
nullptr)
9833 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);
9837 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
9838 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
9841 UINT64* destination = threadInfo->destination;
9842 UINT64* limit = threadInfo->biasedLimit;
9843 if (destination < limit)
9845 limit += PIXEventsSafeFastCopySpaceQwords;
9846 UINT64 time = PIXGetTimestampCounter();
9847 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9848 *destination++ = color;
9850 PIXCopyEventArgument(destination, limit, context);
9851 PIXCopyEventArgument(destination, limit, formatString);
9852 PIXCopyEventArgument(destination, limit, a1);
9853 PIXCopyEventArgument(destination, limit, a2);
9854 PIXCopyEventArgument(destination, limit, a3);
9855 PIXCopyEventArgument(destination, limit, a4);
9856 PIXCopyEventArgument(destination, limit, a5);
9857 PIXCopyEventArgument(destination, limit, a6);
9858 PIXCopyEventArgument(destination, limit, a7);
9860 *destination = PIXEventsBlockEndMarker;
9861 threadInfo->destination = destination;
9863 else if (limit !=
nullptr)
9865 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);
9869 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
9870 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
9873 UINT64* destination = threadInfo->destination;
9874 UINT64* limit = threadInfo->biasedLimit;
9875 if (destination < limit)
9877 limit += PIXEventsSafeFastCopySpaceQwords;
9878 UINT64 time = PIXGetTimestampCounter();
9879 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9880 *destination++ = color;
9882 PIXCopyEventArgument(destination, limit, context);
9883 PIXCopyEventArgument(destination, limit, formatString);
9884 PIXCopyEventArgument(destination, limit, a1);
9885 PIXCopyEventArgument(destination, limit, a2);
9886 PIXCopyEventArgument(destination, limit, a3);
9887 PIXCopyEventArgument(destination, limit, a4);
9888 PIXCopyEventArgument(destination, limit, a5);
9889 PIXCopyEventArgument(destination, limit, a6);
9890 PIXCopyEventArgument(destination, limit, a7);
9891 PIXCopyEventArgument(destination, limit, a8);
9893 *destination = PIXEventsBlockEndMarker;
9894 threadInfo->destination = destination;
9896 else if (limit !=
nullptr)
9898 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
9902 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
9903 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
9906 UINT64* destination = threadInfo->destination;
9907 UINT64* limit = threadInfo->biasedLimit;
9908 if (destination < limit)
9910 limit += PIXEventsSafeFastCopySpaceQwords;
9911 UINT64 time = PIXGetTimestampCounter();
9912 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9913 *destination++ = color;
9915 PIXCopyEventArgument(destination, limit, context);
9916 PIXCopyEventArgument(destination, limit, formatString);
9917 PIXCopyEventArgument(destination, limit, a1);
9918 PIXCopyEventArgument(destination, limit, a2);
9919 PIXCopyEventArgument(destination, limit, a3);
9920 PIXCopyEventArgument(destination, limit, a4);
9921 PIXCopyEventArgument(destination, limit, a5);
9922 PIXCopyEventArgument(destination, limit, a6);
9923 PIXCopyEventArgument(destination, limit, a7);
9924 PIXCopyEventArgument(destination, limit, a8);
9925 PIXCopyEventArgument(destination, limit, a9);
9927 *destination = PIXEventsBlockEndMarker;
9928 threadInfo->destination = destination;
9930 else if (limit !=
nullptr)
9932 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
9936 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
9937 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
9940 UINT64* destination = threadInfo->destination;
9941 UINT64* limit = threadInfo->biasedLimit;
9942 if (destination < limit)
9944 limit += PIXEventsSafeFastCopySpaceQwords;
9945 UINT64 time = PIXGetTimestampCounter();
9946 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9947 *destination++ = color;
9949 PIXCopyEventArgument(destination, limit, context);
9950 PIXCopyEventArgument(destination, limit, formatString);
9951 PIXCopyEventArgument(destination, limit, a1);
9952 PIXCopyEventArgument(destination, limit, a2);
9953 PIXCopyEventArgument(destination, limit, a3);
9954 PIXCopyEventArgument(destination, limit, a4);
9955 PIXCopyEventArgument(destination, limit, a5);
9956 PIXCopyEventArgument(destination, limit, a6);
9957 PIXCopyEventArgument(destination, limit, a7);
9958 PIXCopyEventArgument(destination, limit, a8);
9959 PIXCopyEventArgument(destination, limit, a9);
9960 PIXCopyEventArgument(destination, limit, a10);
9962 *destination = PIXEventsBlockEndMarker;
9963 threadInfo->destination = destination;
9965 else if (limit !=
nullptr)
9967 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
9971 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
9972 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
9975 UINT64* destination = threadInfo->destination;
9976 UINT64* limit = threadInfo->biasedLimit;
9977 if (destination < limit)
9979 limit += PIXEventsSafeFastCopySpaceQwords;
9980 UINT64 time = PIXGetTimestampCounter();
9981 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
9982 *destination++ = color;
9984 PIXCopyEventArgument(destination, limit, context);
9985 PIXCopyEventArgument(destination, limit, formatString);
9986 PIXCopyEventArgument(destination, limit, a1);
9987 PIXCopyEventArgument(destination, limit, a2);
9988 PIXCopyEventArgument(destination, limit, a3);
9989 PIXCopyEventArgument(destination, limit, a4);
9990 PIXCopyEventArgument(destination, limit, a5);
9991 PIXCopyEventArgument(destination, limit, a6);
9992 PIXCopyEventArgument(destination, limit, a7);
9993 PIXCopyEventArgument(destination, limit, a8);
9994 PIXCopyEventArgument(destination, limit, a9);
9995 PIXCopyEventArgument(destination, limit, a10);
9996 PIXCopyEventArgument(destination, limit, a11);
9998 *destination = PIXEventsBlockEndMarker;
9999 threadInfo->destination = destination;
10001 else if (limit !=
nullptr)
10003 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
10007 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
10008 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
10011 UINT64* destination = threadInfo->destination;
10012 UINT64* limit = threadInfo->biasedLimit;
10013 if (destination < limit)
10015 limit += PIXEventsSafeFastCopySpaceQwords;
10016 UINT64 time = PIXGetTimestampCounter();
10017 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
10018 *destination++ = color;
10020 PIXCopyEventArgument(destination, limit, context);
10021 PIXCopyEventArgument(destination, limit, formatString);
10022 PIXCopyEventArgument(destination, limit, a1);
10023 PIXCopyEventArgument(destination, limit, a2);
10024 PIXCopyEventArgument(destination, limit, a3);
10025 PIXCopyEventArgument(destination, limit, a4);
10026 PIXCopyEventArgument(destination, limit, a5);
10027 PIXCopyEventArgument(destination, limit, a6);
10028 PIXCopyEventArgument(destination, limit, a7);
10029 PIXCopyEventArgument(destination, limit, a8);
10030 PIXCopyEventArgument(destination, limit, a9);
10031 PIXCopyEventArgument(destination, limit, a10);
10032 PIXCopyEventArgument(destination, limit, a11);
10033 PIXCopyEventArgument(destination, limit, a12);
10035 *destination = PIXEventsBlockEndMarker;
10036 threadInfo->destination = destination;
10038 else if (limit !=
nullptr)
10040 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
10044 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
10045 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
10048 UINT64* destination = threadInfo->destination;
10049 UINT64* limit = threadInfo->biasedLimit;
10050 if (destination < limit)
10052 limit += PIXEventsSafeFastCopySpaceQwords;
10053 UINT64 time = PIXGetTimestampCounter();
10054 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
10055 *destination++ = color;
10057 PIXCopyEventArgument(destination, limit, context);
10058 PIXCopyEventArgument(destination, limit, formatString);
10059 PIXCopyEventArgument(destination, limit, a1);
10060 PIXCopyEventArgument(destination, limit, a2);
10061 PIXCopyEventArgument(destination, limit, a3);
10062 PIXCopyEventArgument(destination, limit, a4);
10063 PIXCopyEventArgument(destination, limit, a5);
10064 PIXCopyEventArgument(destination, limit, a6);
10065 PIXCopyEventArgument(destination, limit, a7);
10066 PIXCopyEventArgument(destination, limit, a8);
10067 PIXCopyEventArgument(destination, limit, a9);
10068 PIXCopyEventArgument(destination, limit, a10);
10069 PIXCopyEventArgument(destination, limit, a11);
10070 PIXCopyEventArgument(destination, limit, a12);
10071 PIXCopyEventArgument(destination, limit, a13);
10073 *destination = PIXEventsBlockEndMarker;
10074 threadInfo->destination = destination;
10076 else if (limit !=
nullptr)
10078 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
10082 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
10083 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
10086 UINT64* destination = threadInfo->destination;
10087 UINT64* limit = threadInfo->biasedLimit;
10088 if (destination < limit)
10090 limit += PIXEventsSafeFastCopySpaceQwords;
10091 UINT64 time = PIXGetTimestampCounter();
10092 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
10093 *destination++ = color;
10095 PIXCopyEventArgument(destination, limit, context);
10096 PIXCopyEventArgument(destination, limit, formatString);
10097 PIXCopyEventArgument(destination, limit, a1);
10098 PIXCopyEventArgument(destination, limit, a2);
10099 PIXCopyEventArgument(destination, limit, a3);
10100 PIXCopyEventArgument(destination, limit, a4);
10101 PIXCopyEventArgument(destination, limit, a5);
10102 PIXCopyEventArgument(destination, limit, a6);
10103 PIXCopyEventArgument(destination, limit, a7);
10104 PIXCopyEventArgument(destination, limit, a8);
10105 PIXCopyEventArgument(destination, limit, a9);
10106 PIXCopyEventArgument(destination, limit, a10);
10107 PIXCopyEventArgument(destination, limit, a11);
10108 PIXCopyEventArgument(destination, limit, a12);
10109 PIXCopyEventArgument(destination, limit, a13);
10110 PIXCopyEventArgument(destination, limit, a14);
10112 *destination = PIXEventsBlockEndMarker;
10113 threadInfo->destination = destination;
10115 else if (limit !=
nullptr)
10117 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
10121 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
10122 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
10125 UINT64* destination = threadInfo->destination;
10126 UINT64* limit = threadInfo->biasedLimit;
10127 if (destination < limit)
10129 limit += PIXEventsSafeFastCopySpaceQwords;
10130 UINT64 time = PIXGetTimestampCounter();
10131 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
10132 *destination++ = color;
10134 PIXCopyEventArgument(destination, limit, context);
10135 PIXCopyEventArgument(destination, limit, formatString);
10136 PIXCopyEventArgument(destination, limit, a1);
10137 PIXCopyEventArgument(destination, limit, a2);
10138 PIXCopyEventArgument(destination, limit, a3);
10139 PIXCopyEventArgument(destination, limit, a4);
10140 PIXCopyEventArgument(destination, limit, a5);
10141 PIXCopyEventArgument(destination, limit, a6);
10142 PIXCopyEventArgument(destination, limit, a7);
10143 PIXCopyEventArgument(destination, limit, a8);
10144 PIXCopyEventArgument(destination, limit, a9);
10145 PIXCopyEventArgument(destination, limit, a10);
10146 PIXCopyEventArgument(destination, limit, a11);
10147 PIXCopyEventArgument(destination, limit, a12);
10148 PIXCopyEventArgument(destination, limit, a13);
10149 PIXCopyEventArgument(destination, limit, a14);
10150 PIXCopyEventArgument(destination, limit, a15);
10152 *destination = PIXEventsBlockEndMarker;
10153 threadInfo->destination = destination;
10155 else if (limit !=
nullptr)
10157 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
10161 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
10162 inline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
10165 UINT64* destination = threadInfo->destination;
10166 UINT64* limit = threadInfo->biasedLimit;
10167 if (destination < limit)
10169 limit += PIXEventsSafeFastCopySpaceQwords;
10170 UINT64 time = PIXGetTimestampCounter();
10171 *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);
10172 *destination++ = color;
10174 PIXCopyEventArgument(destination, limit, context);
10175 PIXCopyEventArgument(destination, limit, formatString);
10176 PIXCopyEventArgument(destination, limit, a1);
10177 PIXCopyEventArgument(destination, limit, a2);
10178 PIXCopyEventArgument(destination, limit, a3);
10179 PIXCopyEventArgument(destination, limit, a4);
10180 PIXCopyEventArgument(destination, limit, a5);
10181 PIXCopyEventArgument(destination, limit, a6);
10182 PIXCopyEventArgument(destination, limit, a7);
10183 PIXCopyEventArgument(destination, limit, a8);
10184 PIXCopyEventArgument(destination, limit, a9);
10185 PIXCopyEventArgument(destination, limit, a10);
10186 PIXCopyEventArgument(destination, limit, a11);
10187 PIXCopyEventArgument(destination, limit, a12);
10188 PIXCopyEventArgument(destination, limit, a13);
10189 PIXCopyEventArgument(destination, limit, a14);
10190 PIXCopyEventArgument(destination, limit, a15);
10191 PIXCopyEventArgument(destination, limit, a16);
10193 *destination = PIXEventsBlockEndMarker;
10194 threadInfo->destination = destination;
10196 else if (limit !=
nullptr)
10198 MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
10203 __declspec(noinline) inline
void PIXEndEventAllocate()
10205 UINT64 time = PIXEventsReplaceBlock(
true);
10209 UINT64* destination = threadInfo->destination;
10210 UINT64* limit = threadInfo->limit;
10211 if (destination < limit)
10213 *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent);
10214 *destination = PIXEventsBlockEndMarker;
10215 threadInfo->destination = destination;
10220 inline void PIXEndEvent()
10223 UINT64* destination = threadInfo->destination;
10224 UINT64* limit = threadInfo->limit;
10225 if (destination < limit)
10227 UINT64 time = PIXGetTimestampCounter();
10228 *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent);
10229 *destination = PIXEventsBlockEndMarker;
10230 threadInfo->destination = destination;
10232 else if (limit !=
nullptr)
10234 PIXEndEventAllocate();
10238 __declspec(noinline) inline
void MakeCPUEndEventForContextAllocate(PVOID context)
10240 UINT64 time = PIXEventsReplaceBlock(
true);
10244 UINT64* destination = threadInfo->destination;
10245 UINT64* limit = threadInfo->limit;
10246 if (destination < limit)
10248 *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent_OnContext);
10249 PIXCopyEventArgument(destination, limit, context);
10250 *destination = PIXEventsBlockEndMarker;
10251 threadInfo->destination = destination;
10256 inline void MakeCPUEndEventForContext(PVOID context)
10259 UINT64* destination = threadInfo->destination;
10260 UINT64* limit = threadInfo->biasedLimit;
10261 if (destination < limit)
10263 limit += PIXEventsSafeFastCopySpaceQwords;
10264 UINT64 time = PIXGetTimestampCounter();
10265 *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent_OnContext);
10266 PIXCopyEventArgument(destination, limit, context);
10267 *destination = PIXEventsBlockEndMarker;
10268 threadInfo->destination = destination;
10270 else if (limit !=
nullptr)
10272 MakeCPUEndEventForContextAllocate(context);
10276 template<
class TContext>
10277 inline void PIXEndEvent(TContext* context)
10279 PIXEndCPUEventOnContext(context);
10280 PIXEndEventOnContext(context);
10283 template<
class TContext>
10287 TContext* m_context;
10291 : m_context(context)
10293 PIXBeginEvent(context, color, formatString);
10298 : m_context(context)
10300 PIXBeginEvent(context, color, formatString, a1);
10303 template<
class T1,
class T2>
10305 : m_context(context)
10307 PIXBeginEvent(context, color, formatString, a1, a2);
10310 template<
class T1,
class T2,
class T3>
10311 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)
10312 : m_context(context)
10314 PIXBeginEvent(context, color, formatString, a1, a2, a3);
10317 template<
class T1,
class T2,
class T3,
class T4>
10318 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
10319 : m_context(context)
10321 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4);
10324 template<
class T1,
class T2,
class T3,
class T4,
class T5>
10325 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
10326 : m_context(context)
10328 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5);
10331 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
10332 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
10333 : m_context(context)
10335 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6);
10338 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
10339 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
10340 : m_context(context)
10342 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
10345 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
10346 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
10347 : m_context(context)
10349 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
10352 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
10353 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
10354 : m_context(context)
10356 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
10359 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
10360 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
10361 : m_context(context)
10363 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
10366 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
10367 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
10368 : m_context(context)
10370 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
10373 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
10374 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
10375 : m_context(context)
10377 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
10380 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
10381 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
10382 : m_context(context)
10384 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
10387 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
10388 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
10389 : m_context(context)
10391 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
10394 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
10395 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
10396 : m_context(context)
10398 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
10401 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
10402 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
10403 : m_context(context)
10405 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
10409 : m_context(context)
10411 PIXBeginEvent(context, color, formatString);
10416 : m_context(context)
10418 PIXBeginEvent(context, color, formatString, a1);
10421 template<
class T1,
class T2>
10423 : m_context(context)
10425 PIXBeginEvent(context, color, formatString, a1, a2);
10428 template<
class T1,
class T2,
class T3>
10429 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)
10430 : m_context(context)
10432 PIXBeginEvent(context, color, formatString, a1, a2, a3);
10435 template<
class T1,
class T2,
class T3,
class T4>
10436 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)
10437 : m_context(context)
10439 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4);
10442 template<
class T1,
class T2,
class T3,
class T4,
class T5>
10443 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
10444 : m_context(context)
10446 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5);
10449 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
10450 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
10451 : m_context(context)
10453 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6);
10456 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
10457 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
10458 : m_context(context)
10460 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);
10463 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
10464 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
10465 : m_context(context)
10467 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
10470 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
10471 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
10472 : m_context(context)
10474 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
10477 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
10478 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
10479 : m_context(context)
10481 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
10484 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
10485 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
10486 : m_context(context)
10488 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
10491 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
10492 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
10493 : m_context(context)
10495 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
10498 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
10499 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
10500 : m_context(context)
10502 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
10505 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
10506 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
10507 : m_context(context)
10509 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
10512 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
10513 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
10514 : m_context(context)
10516 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
10519 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
10520 PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
10521 : m_context(context)
10523 PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
10528 PIXEndEvent(m_context);
10538 PIXBeginEvent(color, formatString);
10544 PIXBeginEvent(color, formatString, a1);
10547 template<
class T1,
class T2>
10550 PIXBeginEvent(color, formatString, a1, a2);
10553 template<
class T1,
class T2,
class T3>
10556 PIXBeginEvent(color, formatString, a1, a2, a3);
10559 template<
class T1,
class T2,
class T3,
class T4>
10562 PIXBeginEvent(color, formatString, a1, a2, a3, a4);
10565 template<
class T1,
class T2,
class T3,
class T4,
class T5>
10566 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
10568 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5);
10571 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
10572 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
10574 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6);
10577 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
10578 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
10580 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7);
10583 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
10584 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
10586 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
10589 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
10590 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
10592 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
10595 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
10596 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
10598 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
10601 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
10602 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
10604 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
10607 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
10608 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
10610 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
10613 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
10614 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
10616 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
10619 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
10620 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
10622 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
10625 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
10626 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
10628 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
10631 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
10632 PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
10634 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
10639 PIXBeginEvent(color, formatString);
10645 PIXBeginEvent(color, formatString, a1);
10648 template<
class T1,
class T2>
10651 PIXBeginEvent(color, formatString, a1, a2);
10654 template<
class T1,
class T2,
class T3>
10657 PIXBeginEvent(color, formatString, a1, a2, a3);
10660 template<
class T1,
class T2,
class T3,
class T4>
10663 PIXBeginEvent(color, formatString, a1, a2, a3, a4);
10666 template<
class T1,
class T2,
class T3,
class T4,
class T5>
10667 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
10669 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5);
10672 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
10673 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
10675 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6);
10678 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
10679 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
10681 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7);
10684 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
10685 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
10687 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);
10690 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
10691 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
10693 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);
10696 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10>
10697 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)
10699 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
10702 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11>
10703 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)
10705 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
10708 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
10709 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)
10711 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
10714 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
10715 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)
10717 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
10720 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
10721 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)
10723 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
10726 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
10727 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)
10729 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
10732 template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15,
class T16>
10733 PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)
10735 PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
10744 #define PIXConcatenate(a, b) a ## b 10745 #define PIXGetScopedEventVariableName(a, b) PIXConcatenate(a, b) 10746 #define PIXScopedEvent(context, ...) PIXScopedEventObject<PIXInferScopedEventType<decltype(context)>::Type> PIXGetScopedEventVariableName(pixEvent, __LINE__)(context, __VA_ARGS__) Definition: PIXEventsGenerated.h:10284
Definition: pix3_win.h:24