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

D3D11_TRACE_STATS

構造体
サイズx64: 8616 バイト / x86: 8616 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86説明
TraceDescD3D11_SHADER_TRACE_DESC40+0+0対象トレースの構成を示すD3D11_SHADER_TRACE_DESC。
NumInvocationsInStampBYTE1+40+40スタンプ(2x2ピクセル等)内の呼び出し数。
TargetStampIndexBYTE1+41+41トレース対象とするスタンプ内のインデックス。
NumTraceStepsDWORD4+44+44トレース内のステップ総数。
InputMaskBYTE32+48+48入力レジスタで使用される成分を示すビットマスク。
OutputMaskBYTE32+80+80出力レジスタで使用される成分を示すビットマスク。
NumTempsWORD2+112+112使用される一時レジスタの数。
MaxIndexableTempIndexWORD2+114+114使用されたインデックス可能一時配列の最大インデックス。
IndexableTempSizeWORD8192+116+116インデックス可能一時配列のサイズ。
ImmediateConstantBufferSizeWORD2+8308+8308即値定数バッファのサイズ。
PixelPositionDWORD32+8312+8312トレース対象ピクセルの位置をエンコードした値。
PixelCoverageMaskULONGLONG32+8344+8344ピクセルのカバレッジマスク。
PixelDiscardedMaskULONGLONG32+8376+8376破棄されたピクセルを示すマスク。
PixelCoverageMaskAfterShaderULONGLONG32+8408+8408シェーダー実行後のカバレッジマスク。
PixelCoverageMaskAfterA2CSampleMaskULONGLONG32+8440+8440アルファトゥカバレッジとサンプルマスク適用後のカバレッジマスク。
PixelCoverageMaskAfterA2CSampleMaskDepthULONGLONG32+8472+8472さらに深度テスト適用後のカバレッジマスク。
PixelCoverageMaskAfterA2CSampleMaskDepthStencilULONGLONG32+8504+8504さらにステンシルテスト適用後のカバレッジマスク。
PSOutputsDepthBOOL4+8536+8536ピクセルシェーダーが深度を出力するか。TRUEで出力。
PSOutputsMaskBOOL4+8540+8540ピクセルシェーダーがカバレッジマスクを出力するか。TRUEで出力。
GSInputPrimitiveD3D11_TRACE_GS_INPUT_PRIMITIVE4+8544+8544ジオメトリシェーダー入力プリミティブを示すD3D11_TRACE_GS_INPUT_PRIMITIVE列挙値。
GSInputsPrimitiveIDBOOL4+8548+8548ジオメトリシェーダーがプリミティブIDを入力に取るか。TRUEで取る。
HSOutputPatchConstantMaskBYTE32+8552+8552ハルシェーダー出力のパッチ定数で使用される成分マスク。
DSInputPatchConstantMaskBYTE32+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 Structure
import 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