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
Header d3dkmdt.h

こちらもご覧ください

D3DKMDT_GRAPHICS_PREEMPTION_GRANULARITY

D3DKMDT_PREEMPTION_CAPS