Win32 API 日本語リファレンス
ホームGraphics.Direct3D12 › D3D12_CROSS_NODE_SHARING_TIER

D3D12_CROSS_NODE_SHARING_TIER

列挙型
基底型i4

メンバー 5

名前10進16進説明
D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED00x0アダプターがノードを 1 つしか持たない場合、ノード間共有は適用されないため、D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体の CrossNodeSharingTier メンバーには D3D12_CROSS_NODE_SHARING_NOT_SUPPORTED が設定されます。
D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED10x1Tier 1 Emulated。D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体の CrossNodeSharingTier メンバーに D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED を設定するデバイスは、Tier 1 のサポートを備えています。 ただし、ドライバーはこれらのコピー操作をドライバー内部のシステムメモリ割り当て経由で中継します。そのため、これらのコピー操作は、コピー元だけでなくコピー先の GPU の時間も消費します。
D3D12_CROSS_NODE_SHARING_TIER_120x2

Tier 1。D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体の CrossNodeSharingTier メンバーに D3D12_CROSS_NODE_SHARING_TIER_1 を設定するデバイスは、次のノード間コピー操作のみをサポートします。

さらに、ノード間リソースはコピー操作のコピー先でなければなりません。

D3D12_CROSS_NODE_SHARING_TIER_230x3

Tier 2。D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体の CrossNodeSharingTier メンバーに D3D12_CROSS_NODE_SHARING_TIER_2 を設定するデバイスは、次を除くノード間のすべての操作をサポートします。

  • レンダーターゲットビュー。
  • 深度ステンシルビュー。
  • UAV のアトミック操作。CPU と GPU の相互運用と同様に、シェーダーは UAV のアトミック操作を実行できますが、アダプター間でのアトミック性は保証されません。
アプリケーションは、リソースやヒープが存在するノードを D3D12_HEAP_DESC 構造体から取得できます。これらの値は、開かれたリソースについて取得できます。2 つのデバイスが異なる UMD 指定のノード再マッピングを使用している場合は、ランタイムが適切な再マッピングを実行します。
D3D12_CROSS_NODE_SHARING_TIER_340x4複数のノードから参照できるヒープでの D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS のサポートを示します。

公式ドキュメント

アダプターのノード間における共有のレベル (Tier 1 Emulated、Tier 1、Tier 2 など) を指定します。

解説(Remarks)

この列挙型は、D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体の CrossNodeSharingTier メンバーで使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D3D12_CROSS_NODE_SHARING_TIER : int {
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4
} D3D12_CROSS_NODE_SHARING_TIER;
public enum D3D12_CROSS_NODE_SHARING_TIER : int
{
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4,
}
Public Enum D3D12_CROSS_NODE_SHARING_TIER As Integer
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4
End Enum
import enum

class D3D12_CROSS_NODE_SHARING_TIER(enum.IntEnum):
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4
// D3D12_CROSS_NODE_SHARING_TIER
pub const D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED: i32 = 0;
pub const D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED: i32 = 1;
pub const D3D12_CROSS_NODE_SHARING_TIER_1: i32 = 2;
pub const D3D12_CROSS_NODE_SHARING_TIER_2: i32 = 3;
pub const D3D12_CROSS_NODE_SHARING_TIER_3: i32 = 4;
// D3D12_CROSS_NODE_SHARING_TIER
const (
	D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED int32 = 0
	D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED int32 = 1
	D3D12_CROSS_NODE_SHARING_TIER_1 int32 = 2
	D3D12_CROSS_NODE_SHARING_TIER_2 int32 = 3
	D3D12_CROSS_NODE_SHARING_TIER_3 int32 = 4
)
const
  D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0;
  D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1;
  D3D12_CROSS_NODE_SHARING_TIER_1 = 2;
  D3D12_CROSS_NODE_SHARING_TIER_2 = 3;
  D3D12_CROSS_NODE_SHARING_TIER_3 = 4;
// D3D12_CROSS_NODE_SHARING_TIER
pub const D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED: i32 = 0;
pub const D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED: i32 = 1;
pub const D3D12_CROSS_NODE_SHARING_TIER_1: i32 = 2;
pub const D3D12_CROSS_NODE_SHARING_TIER_2: i32 = 3;
pub const D3D12_CROSS_NODE_SHARING_TIER_3: i32 = 4;
const
  D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED* = 0
  D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED* = 1
  D3D12_CROSS_NODE_SHARING_TIER_1* = 2
  D3D12_CROSS_NODE_SHARING_TIER_2* = 3
  D3D12_CROSS_NODE_SHARING_TIER_3* = 4
enum D3D12_CROSS_NODE_SHARING_TIER : int {
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4,
}
#define global D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED 0x0
#define global D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED    0x1
#define global D3D12_CROSS_NODE_SHARING_TIER_1             0x2
#define global D3D12_CROSS_NODE_SHARING_TIER_2             0x3
#define global D3D12_CROSS_NODE_SHARING_TIER_3             0x4