ホーム › Graphics.Direct3D11 › D3D11_TRACE_STATS
D3D11_TRACE_STATS
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| TraceDesc | D3D11_SHADER_TRACE_DESC | 40 | +0 | +0 | 対象トレースの構成を示すD3D11_SHADER_TRACE_DESC。 |
| NumInvocationsInStamp | BYTE | 1 | +40 | +40 | スタンプ(2x2ピクセル等)内の呼び出し数。 |
| TargetStampIndex | BYTE | 1 | +41 | +41 | トレース対象とするスタンプ内のインデックス。 |
| NumTraceSteps | DWORD | 4 | +44 | +44 | トレース内のステップ総数。 |
| InputMask | BYTE | 32 | +48 | +48 | 入力レジスタで使用される成分を示すビットマスク。 |
| OutputMask | BYTE | 32 | +80 | +80 | 出力レジスタで使用される成分を示すビットマスク。 |
| NumTemps | WORD | 2 | +112 | +112 | 使用される一時レジスタの数。 |
| MaxIndexableTempIndex | WORD | 2 | +114 | +114 | 使用されたインデックス可能一時配列の最大インデックス。 |
| IndexableTempSize | WORD | 8192 | +116 | +116 | インデックス可能一時配列のサイズ。 |
| ImmediateConstantBufferSize | WORD | 2 | +8308 | +8308 | 即値定数バッファのサイズ。 |
| PixelPosition | DWORD | 32 | +8312 | +8312 | トレース対象ピクセルの位置をエンコードした値。 |
| PixelCoverageMask | ULONGLONG | 32 | +8344 | +8344 | ピクセルのカバレッジマスク。 |
| PixelDiscardedMask | ULONGLONG | 32 | +8376 | +8376 | 破棄されたピクセルを示すマスク。 |
| PixelCoverageMaskAfterShader | ULONGLONG | 32 | +8408 | +8408 | シェーダー実行後のカバレッジマスク。 |
| PixelCoverageMaskAfterA2CSampleMask | ULONGLONG | 32 | +8440 | +8440 | アルファトゥカバレッジとサンプルマスク適用後のカバレッジマスク。 |
| PixelCoverageMaskAfterA2CSampleMaskDepth | ULONGLONG | 32 | +8472 | +8472 | さらに深度テスト適用後のカバレッジマスク。 |
| PixelCoverageMaskAfterA2CSampleMaskDepthStencil | ULONGLONG | 32 | +8504 | +8504 | さらにステンシルテスト適用後のカバレッジマスク。 |
| PSOutputsDepth | BOOL | 4 | +8536 | +8536 | ピクセルシェーダーが深度を出力するか。TRUEで出力。 |
| PSOutputsMask | BOOL | 4 | +8540 | +8540 | ピクセルシェーダーがカバレッジマスクを出力するか。TRUEで出力。 |
| GSInputPrimitive | D3D11_TRACE_GS_INPUT_PRIMITIVE | 4 | +8544 | +8544 | ジオメトリシェーダー入力プリミティブを示すD3D11_TRACE_GS_INPUT_PRIMITIVE列挙値。 |
| GSInputsPrimitiveID | BOOL | 4 | +8548 | +8548 | ジオメトリシェーダーがプリミティブIDを入力に取るか。TRUEで取る。 |
| HSOutputPatchConstantMask | BYTE | 32 | +8552 | +8552 | ハルシェーダー出力のパッチ定数で使用される成分マスク。 |
| DSInputPatchConstantMask | BYTE | 32 | +8584 | +8584 | ドメインシェーダー入力のパッチ定数で使用される成分マスク。 |
各言語での定義
#include <windows.h>
// D3D11_SHADER_TRACE_DESC (x64 40 / x86 40 バイト)
typedef struct D3D11_SHADER_TRACE_DESC {
D3D11_SHADER_TYPE Type;
DWORD Flags;
_Anonymous_e__Union Anonymous;
} D3D11_SHADER_TRACE_DESC;
// D3D11_TRACE_STATS (x64 8616 / x86 8616 バイト)
typedef struct D3D11_TRACE_STATS {
D3D11_SHADER_TRACE_DESC TraceDesc;
BYTE NumInvocationsInStamp;
BYTE TargetStampIndex;
DWORD NumTraceSteps;
BYTE InputMask[32];
BYTE OutputMask[32];
WORD NumTemps;
WORD MaxIndexableTempIndex;
WORD IndexableTempSize[4096];
WORD ImmediateConstantBufferSize;
DWORD PixelPosition[8];
ULONGLONG PixelCoverageMask[4];
ULONGLONG PixelDiscardedMask[4];
ULONGLONG PixelCoverageMaskAfterShader[4];
ULONGLONG PixelCoverageMaskAfterA2CSampleMask[4];
ULONGLONG PixelCoverageMaskAfterA2CSampleMaskDepth[4];
ULONGLONG PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4];
BOOL PSOutputsDepth;
BOOL PSOutputsMask;
D3D11_TRACE_GS_INPUT_PRIMITIVE GSInputPrimitive;
BOOL GSInputsPrimitiveID;
BYTE HSOutputPatchConstantMask[32];
BYTE DSInputPatchConstantMask[32];
} D3D11_TRACE_STATS;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3D11_SHADER_TRACE_DESC
{
public int Type;
public uint Flags;
public _Anonymous_e__Union Anonymous;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3D11_TRACE_STATS
{
public D3D11_SHADER_TRACE_DESC TraceDesc;
public byte NumInvocationsInStamp;
public byte TargetStampIndex;
public uint NumTraceSteps;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public byte[] InputMask;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public byte[] OutputMask;
public ushort NumTemps;
public ushort MaxIndexableTempIndex;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4096)] public ushort[] IndexableTempSize;
public ushort ImmediateConstantBufferSize;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public uint[] PixelPosition;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelCoverageMask;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelDiscardedMask;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelCoverageMaskAfterShader;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelCoverageMaskAfterA2CSampleMask;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelCoverageMaskAfterA2CSampleMaskDepth;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public ulong[] PixelCoverageMaskAfterA2CSampleMaskDepthStencil;
[MarshalAs(UnmanagedType.Bool)] public bool PSOutputsDepth;
[MarshalAs(UnmanagedType.Bool)] public bool PSOutputsMask;
public int GSInputPrimitive;
[MarshalAs(UnmanagedType.Bool)] public bool GSInputsPrimitiveID;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public byte[] HSOutputPatchConstantMask;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public byte[] DSInputPatchConstantMask;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3D11_SHADER_TRACE_DESC
Public Type As Integer
Public Flags As UInteger
Public Anonymous As _Anonymous_e__Union
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3D11_TRACE_STATS
Public TraceDesc As D3D11_SHADER_TRACE_DESC
Public NumInvocationsInStamp As Byte
Public TargetStampIndex As Byte
Public NumTraceSteps As UInteger
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=32)> Public InputMask() As Byte
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=32)> Public OutputMask() As Byte
Public NumTemps As UShort
Public MaxIndexableTempIndex As UShort
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4096)> Public IndexableTempSize() As UShort
Public ImmediateConstantBufferSize As UShort
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=8)> Public PixelPosition() As UInteger
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelCoverageMask() As ULong
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelDiscardedMask() As ULong
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelCoverageMaskAfterShader() As ULong
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelCoverageMaskAfterA2CSampleMask() As ULong
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelCoverageMaskAfterA2CSampleMaskDepth() As ULong
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public PixelCoverageMaskAfterA2CSampleMaskDepthStencil() As ULong
<MarshalAs(UnmanagedType.Bool)> Public PSOutputsDepth As Boolean
<MarshalAs(UnmanagedType.Bool)> Public PSOutputsMask As Boolean
Public GSInputPrimitive As Integer
<MarshalAs(UnmanagedType.Bool)> Public GSInputsPrimitiveID As Boolean
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=32)> Public HSOutputPatchConstantMask() As Byte
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=32)> Public DSInputPatchConstantMask() As Byte
End Structureimport ctypes
from ctypes import wintypes
class D3D11_SHADER_TRACE_DESC(ctypes.Structure):
_fields_ = [
("Type", ctypes.c_int),
("Flags", wintypes.DWORD),
("Anonymous", _Anonymous_e__Union),
]
class D3D11_TRACE_STATS(ctypes.Structure):
_fields_ = [
("TraceDesc", D3D11_SHADER_TRACE_DESC),
("NumInvocationsInStamp", ctypes.c_ubyte),
("TargetStampIndex", ctypes.c_ubyte),
("NumTraceSteps", wintypes.DWORD),
("InputMask", ctypes.c_ubyte * 32),
("OutputMask", ctypes.c_ubyte * 32),
("NumTemps", ctypes.c_ushort),
("MaxIndexableTempIndex", ctypes.c_ushort),
("IndexableTempSize", ctypes.c_ushort * 4096),
("ImmediateConstantBufferSize", ctypes.c_ushort),
("PixelPosition", wintypes.DWORD * 8),
("PixelCoverageMask", ctypes.c_ulonglong * 4),
("PixelDiscardedMask", ctypes.c_ulonglong * 4),
("PixelCoverageMaskAfterShader", ctypes.c_ulonglong * 4),
("PixelCoverageMaskAfterA2CSampleMask", ctypes.c_ulonglong * 4),
("PixelCoverageMaskAfterA2CSampleMaskDepth", ctypes.c_ulonglong * 4),
("PixelCoverageMaskAfterA2CSampleMaskDepthStencil", ctypes.c_ulonglong * 4),
("PSOutputsDepth", wintypes.BOOL),
("PSOutputsMask", wintypes.BOOL),
("GSInputPrimitive", ctypes.c_int),
("GSInputsPrimitiveID", wintypes.BOOL),
("HSOutputPatchConstantMask", ctypes.c_ubyte * 32),
("DSInputPatchConstantMask", ctypes.c_ubyte * 32),
]#[repr(C)]
pub struct D3D11_SHADER_TRACE_DESC {
pub Type: i32,
pub Flags: u32,
pub Anonymous: _Anonymous_e__Union,
}
#[repr(C)]
pub struct D3D11_TRACE_STATS {
pub TraceDesc: D3D11_SHADER_TRACE_DESC,
pub NumInvocationsInStamp: u8,
pub TargetStampIndex: u8,
pub NumTraceSteps: u32,
pub InputMask: [u8; 32],
pub OutputMask: [u8; 32],
pub NumTemps: u16,
pub MaxIndexableTempIndex: u16,
pub IndexableTempSize: [u16; 4096],
pub ImmediateConstantBufferSize: u16,
pub PixelPosition: [u32; 8],
pub PixelCoverageMask: [u64; 4],
pub PixelDiscardedMask: [u64; 4],
pub PixelCoverageMaskAfterShader: [u64; 4],
pub PixelCoverageMaskAfterA2CSampleMask: [u64; 4],
pub PixelCoverageMaskAfterA2CSampleMaskDepth: [u64; 4],
pub PixelCoverageMaskAfterA2CSampleMaskDepthStencil: [u64; 4],
pub PSOutputsDepth: i32,
pub PSOutputsMask: i32,
pub GSInputPrimitive: i32,
pub GSInputsPrimitiveID: i32,
pub HSOutputPatchConstantMask: [u8; 32],
pub DSInputPatchConstantMask: [u8; 32],
}import "golang.org/x/sys/windows"
type D3D11_SHADER_TRACE_DESC struct {
Type int32
Flags uint32
Anonymous _Anonymous_e__Union
}
type D3D11_TRACE_STATS struct {
TraceDesc D3D11_SHADER_TRACE_DESC
NumInvocationsInStamp byte
TargetStampIndex byte
NumTraceSteps uint32
InputMask [32]byte
OutputMask [32]byte
NumTemps uint16
MaxIndexableTempIndex uint16
IndexableTempSize [4096]uint16
ImmediateConstantBufferSize uint16
PixelPosition [8]uint32
PixelCoverageMask [4]uint64
PixelDiscardedMask [4]uint64
PixelCoverageMaskAfterShader [4]uint64
PixelCoverageMaskAfterA2CSampleMask [4]uint64
PixelCoverageMaskAfterA2CSampleMaskDepth [4]uint64
PixelCoverageMaskAfterA2CSampleMaskDepthStencil [4]uint64
PSOutputsDepth int32
PSOutputsMask int32
GSInputPrimitive int32
GSInputsPrimitiveID int32
HSOutputPatchConstantMask [32]byte
DSInputPatchConstantMask [32]byte
}type
D3D11_SHADER_TRACE_DESC = record
Type: Integer;
Flags: DWORD;
Anonymous: _Anonymous_e__Union;
end;
D3D11_TRACE_STATS = record
TraceDesc: D3D11_SHADER_TRACE_DESC;
NumInvocationsInStamp: Byte;
TargetStampIndex: Byte;
NumTraceSteps: DWORD;
InputMask: array[0..31] of Byte;
OutputMask: array[0..31] of Byte;
NumTemps: Word;
MaxIndexableTempIndex: Word;
IndexableTempSize: array[0..4095] of Word;
ImmediateConstantBufferSize: Word;
PixelPosition: array[0..7] of DWORD;
PixelCoverageMask: array[0..3] of UInt64;
PixelDiscardedMask: array[0..3] of UInt64;
PixelCoverageMaskAfterShader: array[0..3] of UInt64;
PixelCoverageMaskAfterA2CSampleMask: array[0..3] of UInt64;
PixelCoverageMaskAfterA2CSampleMaskDepth: array[0..3] of UInt64;
PixelCoverageMaskAfterA2CSampleMaskDepthStencil: array[0..3] of UInt64;
PSOutputsDepth: BOOL;
PSOutputsMask: BOOL;
GSInputPrimitive: Integer;
GSInputsPrimitiveID: BOOL;
HSOutputPatchConstantMask: array[0..31] of Byte;
DSInputPatchConstantMask: array[0..31] of Byte;
end;const D3D11_SHADER_TRACE_DESC = extern struct {
Type: i32,
Flags: u32,
Anonymous: _Anonymous_e__Union,
};
const D3D11_TRACE_STATS = extern struct {
TraceDesc: D3D11_SHADER_TRACE_DESC,
NumInvocationsInStamp: u8,
TargetStampIndex: u8,
NumTraceSteps: u32,
InputMask: [32]u8,
OutputMask: [32]u8,
NumTemps: u16,
MaxIndexableTempIndex: u16,
IndexableTempSize: [4096]u16,
ImmediateConstantBufferSize: u16,
PixelPosition: [8]u32,
PixelCoverageMask: [4]u64,
PixelDiscardedMask: [4]u64,
PixelCoverageMaskAfterShader: [4]u64,
PixelCoverageMaskAfterA2CSampleMask: [4]u64,
PixelCoverageMaskAfterA2CSampleMaskDepth: [4]u64,
PixelCoverageMaskAfterA2CSampleMaskDepthStencil: [4]u64,
PSOutputsDepth: i32,
PSOutputsMask: i32,
GSInputPrimitive: i32,
GSInputsPrimitiveID: i32,
HSOutputPatchConstantMask: [32]u8,
DSInputPatchConstantMask: [32]u8,
};type
D3D11_SHADER_TRACE_DESC {.bycopy.} = object
Type: int32
Flags: uint32
Anonymous: _Anonymous_e__Union
D3D11_TRACE_STATS {.bycopy.} = object
TraceDesc: D3D11_SHADER_TRACE_DESC
NumInvocationsInStamp: uint8
TargetStampIndex: uint8
NumTraceSteps: uint32
InputMask: array[32, uint8]
OutputMask: array[32, uint8]
NumTemps: uint16
MaxIndexableTempIndex: uint16
IndexableTempSize: array[4096, uint16]
ImmediateConstantBufferSize: uint16
PixelPosition: array[8, uint32]
PixelCoverageMask: array[4, uint64]
PixelDiscardedMask: array[4, uint64]
PixelCoverageMaskAfterShader: array[4, uint64]
PixelCoverageMaskAfterA2CSampleMask: array[4, uint64]
PixelCoverageMaskAfterA2CSampleMaskDepth: array[4, uint64]
PixelCoverageMaskAfterA2CSampleMaskDepthStencil: array[4, uint64]
PSOutputsDepth: int32
PSOutputsMask: int32
GSInputPrimitive: int32
GSInputsPrimitiveID: int32
HSOutputPatchConstantMask: array[32, uint8]
DSInputPatchConstantMask: array[32, uint8]struct D3D11_SHADER_TRACE_DESC
{
int Type;
uint Flags;
_Anonymous_e__Union Anonymous;
}
struct D3D11_TRACE_STATS
{
D3D11_SHADER_TRACE_DESC TraceDesc;
ubyte NumInvocationsInStamp;
ubyte TargetStampIndex;
uint NumTraceSteps;
ubyte[32] InputMask;
ubyte[32] OutputMask;
ushort NumTemps;
ushort MaxIndexableTempIndex;
ushort[4096] IndexableTempSize;
ushort ImmediateConstantBufferSize;
uint[8] PixelPosition;
ulong[4] PixelCoverageMask;
ulong[4] PixelDiscardedMask;
ulong[4] PixelCoverageMaskAfterShader;
ulong[4] PixelCoverageMaskAfterA2CSampleMask;
ulong[4] PixelCoverageMaskAfterA2CSampleMaskDepth;
ulong[4] PixelCoverageMaskAfterA2CSampleMaskDepthStencil;
int PSOutputsDepth;
int PSOutputsMask;
int GSInputPrimitive;
int GSInputsPrimitiveID;
ubyte[32] HSOutputPatchConstantMask;
ubyte[32] DSInputPatchConstantMask;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; D3D11_TRACE_STATS サイズ: 8616 バイト(x64)
dim st, 2154 ; 4byte整数×2154(構造体サイズ 8616 / 4 切り上げ)
; TraceDesc : D3D11_SHADER_TRACE_DESC (+0, 40byte) varptr(st)+0 を基点に操作(40byte:入れ子/配列)
; NumInvocationsInStamp : BYTE (+40, 1byte) poke st,40,値 / 値 = peek(st,40)
; TargetStampIndex : BYTE (+41, 1byte) poke st,41,値 / 値 = peek(st,41)
; NumTraceSteps : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; InputMask : BYTE (+48, 32byte) varptr(st)+48 を基点に操作(32byte:入れ子/配列)
; OutputMask : BYTE (+80, 32byte) varptr(st)+80 を基点に操作(32byte:入れ子/配列)
; NumTemps : WORD (+112, 2byte) wpoke st,112,値 / 値 = wpeek(st,112)
; MaxIndexableTempIndex : WORD (+114, 2byte) wpoke st,114,値 / 値 = wpeek(st,114)
; IndexableTempSize : WORD (+116, 8192byte) varptr(st)+116 を基点に操作(8192byte:入れ子/配列)
; ImmediateConstantBufferSize : WORD (+8308, 2byte) wpoke st,8308,値 / 値 = wpeek(st,8308)
; PixelPosition : DWORD (+8312, 32byte) varptr(st)+8312 を基点に操作(32byte:入れ子/配列)
; PixelCoverageMask : ULONGLONG (+8344, 32byte) varptr(st)+8344 を基点に操作(32byte:入れ子/配列)
; PixelDiscardedMask : ULONGLONG (+8376, 32byte) varptr(st)+8376 を基点に操作(32byte:入れ子/配列)
; PixelCoverageMaskAfterShader : ULONGLONG (+8408, 32byte) varptr(st)+8408 を基点に操作(32byte:入れ子/配列)
; PixelCoverageMaskAfterA2CSampleMask : ULONGLONG (+8440, 32byte) varptr(st)+8440 を基点に操作(32byte:入れ子/配列)
; PixelCoverageMaskAfterA2CSampleMaskDepth : ULONGLONG (+8472, 32byte) varptr(st)+8472 を基点に操作(32byte:入れ子/配列)
; PixelCoverageMaskAfterA2CSampleMaskDepthStencil : ULONGLONG (+8504, 32byte) varptr(st)+8504 を基点に操作(32byte:入れ子/配列)
; PSOutputsDepth : BOOL (+8536, 4byte) st.2134 = 値 / 値 = st.2134 (lpoke/lpeek も可)
; PSOutputsMask : BOOL (+8540, 4byte) st.2135 = 値 / 値 = st.2135 (lpoke/lpeek も可)
; GSInputPrimitive : D3D11_TRACE_GS_INPUT_PRIMITIVE (+8544, 4byte) st.2136 = 値 / 値 = st.2136 (lpoke/lpeek も可)
; GSInputsPrimitiveID : BOOL (+8548, 4byte) st.2137 = 値 / 値 = st.2137 (lpoke/lpeek も可)
; HSOutputPatchConstantMask : BYTE (+8552, 32byte) varptr(st)+8552 を基点に操作(32byte:入れ子/配列)
; DSInputPatchConstantMask : BYTE (+8584, 32byte) varptr(st)+8584 を基点に操作(32byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global D3D11_SHADER_TRACE_DESC
#field int Type
#field int Flags
#field byte Anonymous 32
#endstruct
#defstruct global D3D11_TRACE_STATS
#field D3D11_SHADER_TRACE_DESC TraceDesc
#field byte NumInvocationsInStamp
#field byte TargetStampIndex
#field int NumTraceSteps
#field byte InputMask 32
#field byte OutputMask 32
#field short NumTemps
#field short MaxIndexableTempIndex
#field short IndexableTempSize 4096
#field short ImmediateConstantBufferSize
#field int PixelPosition 8
#field int64 PixelCoverageMask 4
#field int64 PixelDiscardedMask 4
#field int64 PixelCoverageMaskAfterShader 4
#field int64 PixelCoverageMaskAfterA2CSampleMask 4
#field int64 PixelCoverageMaskAfterA2CSampleMaskDepth 4
#field int64 PixelCoverageMaskAfterA2CSampleMaskDepthStencil 4
#field bool PSOutputsDepth
#field bool PSOutputsMask
#field int GSInputPrimitive
#field bool GSInputsPrimitiveID
#field byte HSOutputPatchConstantMask 32
#field byte DSInputPatchConstantMask 32
#endstruct
stdim st, D3D11_TRACE_STATS ; NSTRUCT 変数を確保
st->NumInvocationsInStamp = 100
mes "NumInvocationsInStamp=" + st->NumInvocationsInStamp