Threading and Synchronization Model of Display Miniport Driver

In general, the display miniport driver (KMD) is reentrant. That is, multiple threads can be present within a KMD at the same time. However, some calls into the KMD shouldn't be reentrant because they either access graphics hardware or access global cross-thread data structures.

Although reentrancy or nonreentrancy can't be selected at a per-call level, WDDM pre-assigns, per call, synchronization levels that define precisely what the driver should expect for the call. These synchronization levels are as follows: