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

ID3D12CommandQueue

COM
IID0ec870a6-5d7e-4c22-8cfc-5baae07616ed継承元ID3D12Pageable自前メソッド開始 vtbl8

メソッド 11

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 8 void UpdateTileMappings(ID3D12Resource* pResource, DWORD NumResourceRegions, D3D12_TILED_RESOURCE_COORDINATE* pResourceRegionStartCoordinates, D3D12_TILE_REGION_SIZE* pResourceRegionSizes, ID3D12Heap* pHeap, DWORD NumRanges, D3D12_TILE_RANGE_FLAGS* pRangeFlags, DWORD* pHeapRangeStartOffsets, DWORD* pRangeTileCounts, D3D12_TILE_MAPPING_FLAGS Flags)
pResourceID3D12Resource*inタイルマッピングを更新する対象のタイル化リソースを指す。
NumResourceRegionsDWORDinリソース側のタイル領域の数を指定する。
pResourceRegionStartCoordinatesD3D12_TILED_RESOURCE_COORDINATE*inoptional各リソース領域の開始座標配列を指す。NULL可。
pResourceRegionSizesD3D12_TILE_REGION_SIZE*inoptional各リソース領域のサイズ配列を指す。NULL可。
pHeapID3D12Heap*inoptionalタイルをマッピングするヒープを指す。NULLマッピングならNULL可。
NumRangesDWORDinヒープ側の範囲の数を指定する。
pRangeFlagsD3D12_TILE_RANGE_FLAGS*inoptional各範囲の動作を示すD3D12_TILE_RANGE_FLAGS配列を指す。NULL可。
pHeapRangeStartOffsetsDWORD*inoptional各範囲のヒープ内開始タイルオフセット配列を指す。NULL可。
pRangeTileCountsDWORD*inoptional各範囲のタイル数配列を指す。NULL可。
FlagsD3D12_TILE_MAPPING_FLAGSin更新全体の動作を示すD3D12_TILE_MAPPING_FLAGSを指定する。
vtbl 9 void CopyTileMappings(ID3D12Resource* pDstResource, D3D12_TILED_RESOURCE_COORDINATE* pDstRegionStartCoordinate, ID3D12Resource* pSrcResource, D3D12_TILED_RESOURCE_COORDINATE* pSrcRegionStartCoordinate, D3D12_TILE_REGION_SIZE* pRegionSize, D3D12_TILE_MAPPING_FLAGS Flags)
pDstResourceID3D12Resource*inマッピングのコピー先タイル化リソースを指す。
pDstRegionStartCoordinateD3D12_TILED_RESOURCE_COORDINATE*inコピー先領域の開始座標を指す。
pSrcResourceID3D12Resource*inマッピングのコピー元タイル化リソースを指す。
pSrcRegionStartCoordinateD3D12_TILED_RESOURCE_COORDINATE*inコピー元領域の開始座標を指す。
pRegionSizeD3D12_TILE_REGION_SIZE*inコピーするタイル領域のサイズを示すD3D12_TILE_REGION_SIZEを指す。
FlagsD3D12_TILE_MAPPING_FLAGSinコピー動作を示すD3D12_TILE_MAPPING_FLAGSを指定する。
vtbl 10 void ExecuteCommandLists(DWORD NumCommandLists, ID3D12CommandList** ppCommandLists)
NumCommandListsDWORDin実行するコマンドリストの数を指定する。
ppCommandListsID3D12CommandList**in実行するID3D12CommandListの配列を指す。配列順に実行される。
vtbl 11 void SetMarker(DWORD Metadata, void* pData, DWORD Size)
MetadataDWORDinマーカーデータの解釈方法を示すメタデータ値を指定する。
pDatavoid*inoptionalマーカーに付随するデータを指す。
SizeDWORDinpDataが指すデータのサイズをバイト単位で指定する。
vtbl 12 void BeginEvent(DWORD Metadata, void* pData, DWORD Size)
MetadataDWORDinイベントデータの解釈方法を示すメタデータ値を指定する。
pDatavoid*inoptionalイベントに付随するデータ(通常は名前)を指す。
SizeDWORDinpDataが指すデータのサイズをバイト単位で指定する。
vtbl 13 void EndEvent()
vtbl 14 HRESULT Signal(ID3D12Fence* pFence, ULONGLONG Value)
pFenceID3D12Fence*inGPUのキュー実行完了時にシグナルする対象のフェンスを指す。
ValueULONGLONGinフェンスに設定する64ビット値を指定する。
vtbl 15 HRESULT Wait(ID3D12Fence* pFence, ULONGLONG Value)
pFenceID3D12Fence*in待機する対象のフェンスを指す。
ValueULONGLONGinフェンスがこの64ビット値以上になるまでキューの実行を待機させる。
vtbl 16 HRESULT GetTimestampFrequency(ULONGLONG* pFrequency)
pFrequencyULONGLONG*outGPUタイムスタンプの1秒あたりのカウント数(周波数)を受け取る出力ポインタ。
vtbl 17 HRESULT GetClockCalibration(ULONGLONG* pGpuTimestamp, ULONGLONG* pCpuTimestamp)
pGpuTimestampULONGLONG*out同時刻のGPUタイムスタンプ値を受け取る出力ポインタ。
pCpuTimestampULONGLONG*out同時刻のCPUタイムスタンプ値を受け取る出力ポインタ。
vtbl 18 D3D12_COMMAND_QUEUE_DESC GetDesc()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D12CommandQueue "{0EC870A6-5D7E-4C22-8CFC-5BAAE07616ED}"
#usecom global ID3D12CommandQueue IID_ID3D12CommandQueue "{}"
#comfunc global ID3D12CommandQueue_UpdateTileMappings     8 sptr,int,var,var,sptr,int,var,var,var,int
#comfunc global ID3D12CommandQueue_CopyTileMappings       9 sptr,var,sptr,var,var,int
#comfunc global ID3D12CommandQueue_ExecuteCommandLists    10 int,sptr
#comfunc global ID3D12CommandQueue_SetMarker              11 int,sptr,int
#comfunc global ID3D12CommandQueue_BeginEvent             12 int,sptr,int
#comfunc global ID3D12CommandQueue_EndEvent               13
#comfunc global ID3D12CommandQueue_Signal                 14 sptr,int64
#comfunc global ID3D12CommandQueue_Wait                   15 sptr,int64
#comfunc global ID3D12CommandQueue_GetTimestampFrequency  16 var
#comfunc global ID3D12CommandQueue_GetClockCalibration    17 var,var
#comfunc global ID3D12CommandQueue_GetDesc                18
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。