|
| 1 | +<% |
| 2 | +import re |
| 3 | +from templates import helper as th |
| 4 | +%><% |
| 5 | + OneApi=tags['$OneApi'] |
| 6 | + x=tags['$x'] |
| 7 | + X=x.upper() |
| 8 | +%> |
| 9 | +:orphan: |
| 10 | + |
| 11 | +.. _ZE_extension_record_replay_graph: |
| 12 | + |
| 13 | +=================================== |
| 14 | + Record and Replay Graph Extension |
| 15 | +=================================== |
| 16 | + |
| 17 | +API |
| 18 | +---- |
| 19 | + |
| 20 | +* Functions |
| 21 | + |
| 22 | + |
| 23 | + * ${x}GraphCreateExt |
| 24 | + * ${x}CommandListBeginGraphCaptureExt |
| 25 | + * ${x}CommandListBeginCaptureIntoGraphExt |
| 26 | + * ${x}CommandListIsGraphCaptureEnabledExt |
| 27 | + * ${x}CommandListEndGraphCaptureExt |
| 28 | + * ${x}CommandListGetGraphExt |
| 29 | + * ${x}GraphGetPrimaryCommandListExt |
| 30 | + * ${x}GraphSetDestructionCallbackExt |
| 31 | + * ${x}GraphInstantiateExt |
| 32 | + * ${x}CommandListAppendGraphExt |
| 33 | + * ${x}ExecutableGraphGetSourceGraphExt |
| 34 | + * ${x}GraphIsEmptyExt |
| 35 | + * ${x}GraphDumpContentsExt |
| 36 | + * ${x}ExecutableGraphDestroyExt |
| 37 | + * ${x}GraphDestroyExt |
| 38 | + |
| 39 | + |
| 40 | +* Enumerations |
| 41 | + |
| 42 | + |
| 43 | + * ${x}_record_replay_graph_ext_version_t |
| 44 | + * ${x}_record_replay_graph_ext_flags_t |
| 45 | + * ${x}_record_replay_graph_ext_dump_mode_t |
| 46 | + |
| 47 | + |
| 48 | +* Structures |
| 49 | + |
| 50 | + |
| 51 | + * ${x}_record_replay_graph_ext_properties_t |
| 52 | + * ${x}_record_replay_graph_ext_dump_desc_t |
| 53 | + |
| 54 | +Record and Replay Graph |
| 55 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 56 | + |
| 57 | +This extension allows applications to capture append operations from immediate command lists into a graph, instantiate that graph, and replay it efficiently. |
| 58 | + |
| 59 | +Applications can query support and capabilities using ${x}_record_replay_graph_ext_properties_t and ${x}_record_replay_graph_ext_flags_t. Captured graphs can be inspected with ${x}GraphDumpContentsExt, and ${x}_record_replay_graph_ext_dump_desc_t controls dump behavior. |
| 60 | + |
| 61 | +Typical Flow |
| 62 | +~~~~~~~~~~~~ |
| 63 | + |
| 64 | +1. Create a graph with ${x}GraphCreateExt, or begin capture directly on an immediate command list with ${x}CommandListBeginGraphCaptureExt. |
| 65 | +2. Record append operations and optionally query capture state via ${x}CommandListIsGraphCaptureEnabledExt and ${x}CommandListGetGraphExt. |
| 66 | +3. End capture using ${x}CommandListEndGraphCaptureExt. |
| 67 | +4. Instantiate an executable graph with ${x}GraphInstantiateExt. |
| 68 | +5. Submit the executable graph using ${x}CommandListAppendGraphExt. |
| 69 | +6. Optionally dump graph contents with ${x}GraphDumpContentsExt. |
| 70 | +7. Destroy executable and recorded graph objects using ${x}ExecutableGraphDestroyExt and ${x}GraphDestroyExt. |
0 commit comments