ホーム › Graphics.Direct3D11 › ID3D11DeviceContext2
ID3D11DeviceContext2
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 134 HRESULT UpdateTileMappings(ID3D11Resource* pTiledResource, DWORD NumTiledResourceRegions, D3D11_TILED_RESOURCE_COORDINATE* pTiledResourceRegionStartCoordinates, D3D11_TILE_REGION_SIZE* pTiledResourceRegionSizes, ID3D11Buffer* pTilePool, DWORD NumRanges, DWORD* pRangeFlags, DWORD* pTilePoolStartOffsets, DWORD* pRangeTileCounts, DWORD Flags)
| pTiledResource | ID3D11Resource* | in | マッピングを更新するタイルリソース。 |
| NumTiledResourceRegions | DWORD | in | リソース側の領域数。 |
| pTiledResourceRegionStartCoordinates | D3D11_TILED_RESOURCE_COORDINATE* | inoptional | 各領域の開始タイル座標配列。 |
| pTiledResourceRegionSizes | D3D11_TILE_REGION_SIZE* | inoptional | 各領域のタイルサイズ配列。NULL可。 |
| pTilePool | ID3D11Buffer* | inoptional | マップ先のタイルプールバッファ。NULLでNULLマップ。 |
| NumRanges | DWORD | in | プール側の範囲数。 |
| pRangeFlags | DWORD* | inoptional | 各範囲のフラグ配列(SKIP/NULL等)。NULL可。 |
| pTilePoolStartOffsets | DWORD* | inoptional | 各範囲のプール開始タイルオフセット配列。 |
| pRangeTileCounts | DWORD* | inoptional | 各範囲のタイル数配列。NULL可。 |
| Flags | DWORD | in | 更新動作フラグ(D3D11_TILE_MAPPING_FLAGS)。0可。 |
vtbl 135 HRESULT CopyTileMappings(ID3D11Resource* pDestTiledResource, D3D11_TILED_RESOURCE_COORDINATE* pDestRegionStartCoordinate, ID3D11Resource* pSourceTiledResource, D3D11_TILED_RESOURCE_COORDINATE* pSourceRegionStartCoordinate, D3D11_TILE_REGION_SIZE* pTileRegionSize, DWORD Flags)
| pDestTiledResource | ID3D11Resource* | in | コピー先タイルリソース。 |
| pDestRegionStartCoordinate | D3D11_TILED_RESOURCE_COORDINATE* | in | コピー先の開始タイル座標。 |
| pSourceTiledResource | ID3D11Resource* | in | コピー元タイルリソース。 |
| pSourceRegionStartCoordinate | D3D11_TILED_RESOURCE_COORDINATE* | in | コピー元の開始タイル座標。 |
| pTileRegionSize | D3D11_TILE_REGION_SIZE* | in | コピーするタイル領域サイズ。 |
| Flags | DWORD | in | コピー動作フラグ。0可。 |
vtbl 136 void CopyTiles(ID3D11Resource* pTiledResource, D3D11_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, D3D11_TILE_REGION_SIZE* pTileRegionSize, ID3D11Buffer* pBuffer, ULONGLONG BufferStartOffsetInBytes, DWORD Flags)
| pTiledResource | ID3D11Resource* | in | 対象のタイルリソース。 |
| pTileRegionStartCoordinate | D3D11_TILED_RESOURCE_COORDINATE* | in | 対象の開始タイル座標。 |
| pTileRegionSize | D3D11_TILE_REGION_SIZE* | in | 対象のタイル領域サイズ。 |
| pBuffer | ID3D11Buffer* | in | コピー相手のリニアバッファ。 |
| BufferStartOffsetInBytes | ULONGLONG | in | バッファ内の開始バイトオフセット。 |
| Flags | DWORD | in | 方向等のコピーフラグ(D3D11_TILE_COPY_FLAGS)。 |
vtbl 137 void UpdateTiles(ID3D11Resource* pDestTiledResource, D3D11_TILED_RESOURCE_COORDINATE* pDestTileRegionStartCoordinate, D3D11_TILE_REGION_SIZE* pDestTileRegionSize, void* pSourceTileData, DWORD Flags)
| pDestTiledResource | ID3D11Resource* | in | 更新先のタイルリソース。 |
| pDestTileRegionStartCoordinate | D3D11_TILED_RESOURCE_COORDINATE* | in | 更新先の開始タイル座標。 |
| pDestTileRegionSize | D3D11_TILE_REGION_SIZE* | in | 更新するタイル領域サイズ。 |
| pSourceTileData | void* | in | 書き込むソースデータ。 |
| Flags | DWORD | in | 更新動作フラグ。0可。 |
vtbl 138 HRESULT ResizeTilePool(ID3D11Buffer* pTilePool, ULONGLONG NewSizeInBytes)
| pTilePool | ID3D11Buffer* | in | サイズ変更するタイルプールバッファ。 |
| NewSizeInBytes | ULONGLONG | in | 新しいプールサイズ(バイト。タイル境界整列)。 |
vtbl 139 void TiledResourceBarrier(ID3D11DeviceChild* pTiledResourceOrViewAccessBeforeBarrier, ID3D11DeviceChild* pTiledResourceOrViewAccessAfterBarrier)
| pTiledResourceOrViewAccessBeforeBarrier | ID3D11DeviceChild* | inoptional | バリア前にアクセスするリソース/ビュー。NULL可。 |
| pTiledResourceOrViewAccessAfterBarrier | ID3D11DeviceChild* | inoptional | バリア後にアクセスするリソース/ビュー。NULL可。 |
vtbl 140 BOOL IsAnnotationEnabled()
| pLabel | LPWSTR | in | マーカーのラベル文字列。 |
| Data | INT | in | マーカーに付随する整数データ。 |
| pLabel | LPWSTR | in | イベントのラベル文字列。 |
| Data | INT | in | イベントに付随する整数データ。 |
vtbl 143 void EndEvent()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D11DeviceContext2 "{420D5B32-B90C-4DA4-BEF0-359F6A24A83A}" #usecom global ID3D11DeviceContext2 IID_ID3D11DeviceContext2 "{}" #comfunc global ID3D11DeviceContext2_UpdateTileMappings 134 sptr,int,var,var,sptr,int,var,var,var,int #comfunc global ID3D11DeviceContext2_CopyTileMappings 135 sptr,var,sptr,var,var,int #comfunc global ID3D11DeviceContext2_CopyTiles 136 sptr,var,var,sptr,int64,int #comfunc global ID3D11DeviceContext2_UpdateTiles 137 sptr,var,var,sptr,int #comfunc global ID3D11DeviceContext2_ResizeTilePool 138 sptr,int64 #comfunc global ID3D11DeviceContext2_TiledResourceBarrier 139 sptr,sptr #comfunc global ID3D11DeviceContext2_IsAnnotationEnabled 140 #comfunc global ID3D11DeviceContext2_SetMarkerInt 141 wstr,int #comfunc global ID3D11DeviceContext2_BeginEventInt 142 wstr,int #comfunc global ID3D11DeviceContext2_EndEvent 143 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D11DeviceContext2 "{420D5B32-B90C-4DA4-BEF0-359F6A24A83A}" #usecom global ID3D11DeviceContext2 IID_ID3D11DeviceContext2 "{}" #comfunc global ID3D11DeviceContext2_UpdateTileMappings 134 sptr,int,sptr,sptr,sptr,int,sptr,sptr,sptr,int #comfunc global ID3D11DeviceContext2_CopyTileMappings 135 sptr,sptr,sptr,sptr,sptr,int #comfunc global ID3D11DeviceContext2_CopyTiles 136 sptr,sptr,sptr,sptr,int64,int #comfunc global ID3D11DeviceContext2_UpdateTiles 137 sptr,sptr,sptr,sptr,int #comfunc global ID3D11DeviceContext2_ResizeTilePool 138 sptr,int64 #comfunc global ID3D11DeviceContext2_TiledResourceBarrier 139 sptr,sptr #comfunc global ID3D11DeviceContext2_IsAnnotationEnabled 140 #comfunc global ID3D11DeviceContext2_SetMarkerInt 141 wstr,int #comfunc global ID3D11DeviceContext2_BeginEventInt 142 wstr,int #comfunc global ID3D11DeviceContext2_EndEvent 143 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。