D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY列挙 (d3dkmdt.h)
ディスプレイ ミニポート ドライバーがサポートするグラフィックス処理装置 (GPU) コンピューティング シェーダー操作のプリエンプションの機能を指定します。
構文
typedef enum _D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY {
D3DKMDT_COMPUTE_PREEMPTION_NONE,
D3DKMDT_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY,
D3DKMDT_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY,
D3DKMDT_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY,
D3DKMDT_COMPUTE_PREEMPTION_THREAD_BOUNDARY,
D3DKMDT_COMPUTE_PREEMPTION_SHADER_BOUNDARY
} D3DKMDT_COMPUTE_PREEMPTION_GRANULARITY;
定数
D3DKMDT_COMPUTE_PREEMPTION_NONE ドライバーは、GPU コンピューティング シェーダー操作のプリエンプションをサポートしていません。
注 この値は、ドライバーが指定した種類の DMA バッファーの現在の実行を停止できず、ハードウェア キュー内のすべての保留中の DMA バッファーが実行されないようにできないことも指定します。 |
D3DKMDT_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY ドライバーは、指定した種類の DMA バッファーの現在実行中を停止することはできませんが、ハードウェア キュー内のすべての保留中の DMA バッファーが実行されないようにすることができます。 |
D3DKMDT_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY ドライバーは、スレッド グループからディスパッチされたコンピューティング シェーダー コマンドの現在の実行を停止することはできませんが、保留中のすべてのコマンドがディスパッチされないようにすることができます。 |
D3DKMDT_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY ドライバーは、スレッド グループからディスパッチされたコンピューティング シェーダー コマンドの現在の実行を停止することはできませんが、スレッド グループが他のコマンドをディスパッチできないようにすることができます。 |
D3DKMDT_COMPUTE_PREEMPTION_THREAD_BOUNDARY ドライバーは、スレッド グループ内のスレッドからディスパッチされた計算シェーダー コマンドの現在の実行を停止できませんが、スレッドが他のコマンドをディスパッチできないようにすることができます。 |
D3DKMDT_COMPUTE_PREEMPTION_SHADER_BOUNDARY ドライバーは、指定した種類のシェーダー コマンドの現在の実行を停止することはできませんが、ハードウェア キュー内のすべてのシェーダー コマンドが実行されないようにすることができます。 |
備考
Windows 8 以降では、ディスプレイ ミニポート ドライバーは、コンピューティング シェーダー操作の実行時に GPU でサポートされるプリエンプション粒度のレベルを指定する必要があります。 同じアダプター上のエンジンは、異なるプリエンプション レベルをサポートする可能性があるため、ドライバーは、特定の種類のコンピューティング シェーダー要求を実行できるすべてのエンジンの中で最も粗い粒度を報告する必要があります。
たとえば、あるエンジンがプリミティブ レベルのグラフィックス要求のプリエンプションをサポートし、別のエンジンが三角形レベルのグラフィックス要求のプリエンプションをサポートしている場合、ドライバーはそのアダプターのプリミティブ レベルのグラフィックスプリエンプション機能を報告する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
サポートされる最小サーバー | Windows Server 2012 |
ヘッダー | d3dkmdt.h |