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

D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE

列挙型
基底型i4

メンバー 5

名前10進16進説明
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE00x0シェーダーのパッチを行いません。元のシェーダーバイトコードがそのまま保持されます。パッチされていないシェーダーもリソースの状態を変更する可能性がある(共通状態のプロモーションを参照)一方で、シェーダーにパッチを適用しない限りそのプロモーションは追跡されないため、GPU ベースの検証による状態追跡の一部でエラーが発生することがあります。パフォーマンスは向上しますが、検証は一切実行されず、誤解を招く GPU ベースの検証エラーにつながる可能性もあります。このモードの使用には十分注意してください。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY10x1シェーダーにリソースの状態追跡コードのみをパッチし、検証は行いません。パフォーマンスは向上しますが、検証は実行されません。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION20x2既定値です。シェーダーに検証コードがパッチされますが、誤った命令もそのまま実行されます。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION30x3シェーダーに検証コードがパッチされ、誤った命令は実行時にスキップされます。これによりクラッシュやデバイスの削除を回避しやすくなります。
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES40x4未使用です。単にモードの数を表します。

公式ドキュメント

デバイスレベルまたはコマンドリストレベルで GPU ベースの検証が使用するシェーダーパッチの種類を指定します。

解説(Remarks)

この列挙型は D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS 構造体で使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_GPU_BASED_VALIDATION_SHADER_PATCH_MODE : int {
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3,
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4
} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
public enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE : int
{
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3,
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4,
}
Public Enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE As Integer
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4
End Enum
import enum

class D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(enum.IntEnum):
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4
// D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE: i32 = 0;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY: i32 = 1;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION: i32 = 2;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION: i32 = 3;
pub const NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES: i32 = 4;
// D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
const (
	D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE int32 = 0
	D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY int32 = 1
	D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION int32 = 2
	D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION int32 = 3
	NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES int32 = 4
)
const
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0;
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1;
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2;
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3;
  NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4;
// D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE: i32 = 0;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY: i32 = 1;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION: i32 = 2;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION: i32 = 3;
pub const NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES: i32 = 4;
const
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE* = 0
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY* = 1
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION* = 2
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION* = 3
  NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES* = 4
enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE : int {
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3,
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4,
}
#define global D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE                 0x0
#define global D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY  0x1
#define global D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION 0x2
#define global D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION   0x3
#define global NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES                 0x4