ホーム › Graphics.Direct3D12 › ID3D12Device
ID3D12Device
COMメソッド 37
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 7 DWORD GetNodeCount()
vtbl 8 HRESULT CreateCommandQueue(D3D12_COMMAND_QUEUE_DESC* pDesc, GUID* riid, void** ppCommandQueue)
| pDesc | D3D12_COMMAND_QUEUE_DESC* | in | 作成するコマンドキューの種類や優先度を定義する記述子を指す。 |
| riid | GUID* | in | 取得するコマンドキューインターフェイスのGUIDを指す。 |
| ppCommandQueue | void** | out | 作成されたコマンドキューを受け取る出力ポインタ。 |
vtbl 9 HRESULT CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE type, GUID* riid, void** ppCommandAllocator)
| type | D3D12_COMMAND_LIST_TYPE | in | 作成するアロケータの対象コマンドリスト種別を示すD3D12_COMMAND_LIST_TYPE値を指定する。 |
| riid | GUID* | in | 取得するコマンドアロケータインターフェイスのGUIDを指す。 |
| ppCommandAllocator | void** | out | 作成されたコマンドアロケータを受け取る出力ポインタ。 |
vtbl 10 HRESULT CreateGraphicsPipelineState(D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, GUID* riid, void** ppPipelineState)
| pDesc | D3D12_GRAPHICS_PIPELINE_STATE_DESC* | in | グラフィックスパイプラインの全状態を定義する記述子を指す。 |
| riid | GUID* | in | 取得するパイプラインステートインターフェイスのGUIDを指す。 |
| ppPipelineState | void** | out | 作成されたグラフィックスパイプラインステートを受け取る出力ポインタ。 |
vtbl 11 HRESULT CreateComputePipelineState(D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, GUID* riid, void** ppPipelineState)
| pDesc | D3D12_COMPUTE_PIPELINE_STATE_DESC* | in | コンピュートパイプラインの状態を定義する記述子を指す。 |
| riid | GUID* | in | 取得するパイプラインステートインターフェイスのGUIDを指す。 |
| ppPipelineState | void** | out | 作成されたコンピュートパイプラインステートを受け取る出力ポインタ。 |
vtbl 12 HRESULT CreateCommandList(DWORD nodeMask, D3D12_COMMAND_LIST_TYPE type, ID3D12CommandAllocator* pCommandAllocator, ID3D12PipelineState* pInitialState, GUID* riid, void** ppCommandList)
| nodeMask | DWORD | in | コマンドリストが対象とするGPUノードを示すビットマスク。単一GPUでは0。 |
| type | D3D12_COMMAND_LIST_TYPE | in | 作成するコマンドリストの種別を示すD3D12_COMMAND_LIST_TYPE値を指定する。 |
| pCommandAllocator | ID3D12CommandAllocator* | in | コマンド記録に使用するコマンドアロケータを指す。 |
| pInitialState | ID3D12PipelineState* | inoptional | コマンドリストの初期パイプラインステートを指す。NULL可。 |
| riid | GUID* | in | 取得するコマンドリストインターフェイスのGUIDを指す。 |
| ppCommandList | void** | out | 作成されたコマンドリストを受け取る出力ポインタ。 |
vtbl 13 HRESULT CheckFeatureSupport(D3D12_FEATURE Feature, void* pFeatureSupportData, DWORD FeatureSupportDataSize)
| Feature | D3D12_FEATURE | in | サポート状況を問い合わせる機能を示すD3D12_FEATURE値を指定する。 |
| pFeatureSupportData | void* | inout | 機能ごとの問い合わせ結果を格納する構造体を指す。 |
| FeatureSupportDataSize | DWORD | in | pFeatureSupportDataが指す構造体のサイズをバイト単位で指定する。 |
vtbl 14 HRESULT CreateDescriptorHeap(D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, GUID* riid, void** ppvHeap)
| pDescriptorHeapDesc | D3D12_DESCRIPTOR_HEAP_DESC* | in | 作成するディスクリプタヒープの種別・数・可視性を定義する記述子を指す。 |
| riid | GUID* | in | 取得するディスクリプタヒープインターフェイスのGUIDを指す。 |
| ppvHeap | void** | out | 作成されたディスクリプタヒープを受け取る出力ポインタ。 |
vtbl 15 DWORD GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType)
| DescriptorHeapType | D3D12_DESCRIPTOR_HEAP_TYPE | in | 増分サイズを取得する対象のディスクリプタヒープ種別を示すD3D12_DESCRIPTOR_HEAP_TYPE値を指定する。 |
vtbl 16 HRESULT CreateRootSignature(DWORD nodeMask, void* pBlobWithRootSignature, UINT_PTR blobLengthInBytes, GUID* riid, void** ppvRootSignature)
| nodeMask | DWORD | in | ルートシグネチャが対象とするGPUノードを示すビットマスク。単一GPUでは0。 |
| pBlobWithRootSignature | void* | in | シリアライズ済みルートシグネチャを含むBlobデータを指す。 |
| blobLengthInBytes | UINT_PTR | in | Blobデータのサイズをバイト単位で指定する。 |
| riid | GUID* | in | 取得するルートシグネチャインターフェイスのGUIDを指す。 |
| ppvRootSignature | void** | out | 作成されたルートシグネチャを受け取る出力ポインタ。 |
vtbl 17 void CreateConstantBufferView(D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pDesc | D3D12_CONSTANT_BUFFER_VIEW_DESC* | inoptional | 作成する定数バッファビューの記述子を指す。NULLならNULLビューを作る。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | ビューを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 18 void CreateShaderResourceView(ID3D12Resource* pResource, D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pResource | ID3D12Resource* | inoptional | ビューを作成する対象リソースを指す。NULL可(NULLビュー)。 |
| pDesc | D3D12_SHADER_RESOURCE_VIEW_DESC* | inoptional | SRVの記述子を指す。NULLならリソースの既定構成で作成する。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | ビューを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 19 void CreateUnorderedAccessView(ID3D12Resource* pResource, ID3D12Resource* pCounterResource, D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pResource | ID3D12Resource* | inoptional | UAVを作成する対象リソースを指す。NULL可(NULLビュー)。 |
| pCounterResource | ID3D12Resource* | inoptional | 付随するカウンタを保持するリソースを指す。不要ならNULL可。 |
| pDesc | D3D12_UNORDERED_ACCESS_VIEW_DESC* | inoptional | UAVの記述子を指す。NULLならリソースの既定構成で作成する。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | ビューを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 20 void CreateRenderTargetView(ID3D12Resource* pResource, D3D12_RENDER_TARGET_VIEW_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pResource | ID3D12Resource* | inoptional | RTVを作成する対象リソースを指す。NULL可(NULLビュー)。 |
| pDesc | D3D12_RENDER_TARGET_VIEW_DESC* | inoptional | RTVの記述子を指す。NULLならリソースの既定構成で作成する。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | ビューを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 21 void CreateDepthStencilView(ID3D12Resource* pResource, D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pResource | ID3D12Resource* | inoptional | DSVを作成する対象リソースを指す。NULL可(NULLビュー)。 |
| pDesc | D3D12_DEPTH_STENCIL_VIEW_DESC* | inoptional | DSVの記述子を指す。NULLならリソースの既定構成で作成する。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | ビューを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 22 void CreateSampler(D3D12_SAMPLER_DESC* pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
| pDesc | D3D12_SAMPLER_DESC* | in | 作成するサンプラの記述子(フィルタ・アドレッシング等)を指す。 |
| DestDescriptor | D3D12_CPU_DESCRIPTOR_HANDLE | in | サンプラを書き込む宛先のCPUディスクリプタハンドルを指定する。 |
vtbl 23 void CopyDescriptors(DWORD NumDestDescriptorRanges, D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, DWORD* pDestDescriptorRangeSizes, DWORD NumSrcDescriptorRanges, D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, DWORD* pSrcDescriptorRangeSizes, D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType)
| NumDestDescriptorRanges | DWORD | in | 宛先ディスクリプタ範囲の数を指定する。 |
| pDestDescriptorRangeStarts | D3D12_CPU_DESCRIPTOR_HANDLE* | in | 各宛先範囲の開始CPUディスクリプタハンドル配列を指す。 |
| pDestDescriptorRangeSizes | DWORD* | inoptional | 各宛先範囲のディスクリプタ数配列を指す。NULLなら各1個とみなす。 |
| NumSrcDescriptorRanges | DWORD | in | コピー元ディスクリプタ範囲の数を指定する。 |
| pSrcDescriptorRangeStarts | D3D12_CPU_DESCRIPTOR_HANDLE* | in | 各コピー元範囲の開始CPUディスクリプタハンドル配列を指す。 |
| pSrcDescriptorRangeSizes | DWORD* | inoptional | 各コピー元範囲のディスクリプタ数配列を指す。NULLなら各1個とみなす。 |
| DescriptorHeapsType | D3D12_DESCRIPTOR_HEAP_TYPE | in | コピー対象のディスクリプタヒープ種別を示すD3D12_DESCRIPTOR_HEAP_TYPE値を指定する。 |
vtbl 24 void CopyDescriptorsSimple(DWORD NumDescriptors, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType)
| NumDescriptors | DWORD | in | コピーするディスクリプタの数を指定する。 |
| DestDescriptorRangeStart | D3D12_CPU_DESCRIPTOR_HANDLE | in | 宛先範囲の開始CPUディスクリプタハンドルを指定する。 |
| SrcDescriptorRangeStart | D3D12_CPU_DESCRIPTOR_HANDLE | in | コピー元範囲の開始CPUディスクリプタハンドルを指定する。 |
| DescriptorHeapsType | D3D12_DESCRIPTOR_HEAP_TYPE | in | コピー対象のディスクリプタヒープ種別を示すD3D12_DESCRIPTOR_HEAP_TYPE値を指定する。 |
vtbl 25 D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo(DWORD visibleMask, DWORD numResourceDescs, D3D12_RESOURCE_DESC* pResourceDescs)
| visibleMask | DWORD | in | リソースが可視となるGPUノードを示すビットマスク。単一GPUでは0。 |
| numResourceDescs | DWORD | in | pResourceDescs配列の要素数を指定する。 |
| pResourceDescs | D3D12_RESOURCE_DESC* | in | アロケーション情報を算出する対象リソースの記述子配列を指す。 |
vtbl 26 D3D12_HEAP_PROPERTIES GetCustomHeapProperties(DWORD nodeMask, D3D12_HEAP_TYPE heapType)
| nodeMask | DWORD | in | 対象とするGPUノードを示すビットマスク。単一GPUでは0。 |
| heapType | D3D12_HEAP_TYPE | in | プロパティを取得する対象のヒープ種別を示すD3D12_HEAP_TYPE値を指定する。 |
vtbl 27 HRESULT CreateCommittedResource(D3D12_HEAP_PROPERTIES* pHeapProperties, D3D12_HEAP_FLAGS HeapFlags, D3D12_RESOURCE_DESC* pDesc, D3D12_RESOURCE_STATES InitialResourceState, D3D12_CLEAR_VALUE* pOptimizedClearValue, GUID* riidResource, void** ppvResource)
| pHeapProperties | D3D12_HEAP_PROPERTIES* | in | リソース専用に確保するヒープのプロパティを指す。 |
| HeapFlags | D3D12_HEAP_FLAGS | in | ヒープの動作を指定するD3D12_HEAP_FLAGSのビット組み合わせ。 |
| pDesc | D3D12_RESOURCE_DESC* | in | 作成するリソースの記述子を指す。 |
| InitialResourceState | D3D12_RESOURCE_STATES | in | 作成直後のリソース状態を示すD3D12_RESOURCE_STATESを指定する。 |
| pOptimizedClearValue | D3D12_CLEAR_VALUE* | inoptional | クリア最適化に用いる値を指す。テクスチャ以外などではNULL可。 |
| riidResource | GUID* | in | 取得するリソースインターフェイスのGUIDを指す。 |
| ppvResource | void** | outoptional | 作成されたリソースを受け取る出力ポインタ。 |
vtbl 28 HRESULT CreateHeap(D3D12_HEAP_DESC* pDesc, GUID* riid, void** ppvHeap)
| pDesc | D3D12_HEAP_DESC* | in | 作成するヒープのサイズや種別を定義する記述子を指す。 |
| riid | GUID* | in | 取得するヒープインターフェイスのGUIDを指す。 |
| ppvHeap | void** | outoptional | 作成されたヒープを受け取る出力ポインタ。 |
vtbl 29 HRESULT CreatePlacedResource(ID3D12Heap* pHeap, ULONGLONG HeapOffset, D3D12_RESOURCE_DESC* pDesc, D3D12_RESOURCE_STATES InitialState, D3D12_CLEAR_VALUE* pOptimizedClearValue, GUID* riid, void** ppvResource)
| pHeap | ID3D12Heap* | in | リソースを配置する既存のヒープを指す。 |
| HeapOffset | ULONGLONG | in | ヒープ内の配置先バイトオフセット(整列必須)を指定する。 |
| pDesc | D3D12_RESOURCE_DESC* | in | 作成するリソースの記述子を指す。 |
| InitialState | D3D12_RESOURCE_STATES | in | 作成直後のリソース状態を示すD3D12_RESOURCE_STATESを指定する。 |
| pOptimizedClearValue | D3D12_CLEAR_VALUE* | inoptional | クリア最適化に用いる値を指す。不要ならNULL可。 |
| riid | GUID* | in | 取得するリソースインターフェイスのGUIDを指す。 |
| ppvResource | void** | outoptional | 作成された配置リソースを受け取る出力ポインタ。 |
vtbl 30 HRESULT CreateReservedResource(D3D12_RESOURCE_DESC* pDesc, D3D12_RESOURCE_STATES InitialState, D3D12_CLEAR_VALUE* pOptimizedClearValue, GUID* riid, void** ppvResource)
| pDesc | D3D12_RESOURCE_DESC* | in | 作成する予約(タイル化)リソースの記述子を指す。 |
| InitialState | D3D12_RESOURCE_STATES | in | 作成直後のリソース状態を示すD3D12_RESOURCE_STATESを指定する。 |
| pOptimizedClearValue | D3D12_CLEAR_VALUE* | inoptional | クリア最適化に用いる値を指す。不要ならNULL可。 |
| riid | GUID* | in | 取得するリソースインターフェイスのGUIDを指す。 |
| ppvResource | void** | outoptional | 作成された予約リソースを受け取る出力ポインタ。 |
vtbl 31 HRESULT CreateSharedHandle(ID3D12DeviceChild* pObject, SECURITY_ATTRIBUTES* pAttributes, DWORD Access, LPWSTR Name, HANDLE* pHandle)
| pObject | ID3D12DeviceChild* | in | 共有ハンドルを作成する対象のデバイス子オブジェクトを指す。 |
| pAttributes | SECURITY_ATTRIBUTES* | inoptional | ハンドルのセキュリティ属性を指す。既定でよければNULL可。 |
| Access | DWORD | in | 共有ハンドルに付与するアクセス権を指定する。 |
| Name | LPWSTR | inoptional | 共有ハンドルに付与する名前(ワイド文字列)を指定する。無名ならNULL可。 |
| pHandle | HANDLE* | out | 作成された共有NTハンドルを受け取る出力ポインタ。 |
| NTHandle | HANDLE | in | 開く対象の共有NTハンドルを指定する。 |
| riid | GUID* | in | 取得するオブジェクトインターフェイスのGUIDを指す。 |
| ppvObj | void** | outoptional | 開いた共有オブジェクトを受け取る出力ポインタ。 |
| Name | LPWSTR | in | 開く対象の名前付き共有ハンドルの名前(ワイド文字列)を指定する。 |
| Access | DWORD | in | ハンドルを開く際のアクセス権を指定する。 |
| pNTHandle | HANDLE* | out | 名前から取得したNTハンドルを受け取る出力ポインタ。 |
vtbl 34 HRESULT MakeResident(DWORD NumObjects, ID3D12Pageable** ppObjects)
| NumObjects | DWORD | in | 常駐化するオブジェクトの数を指定する。 |
| ppObjects | ID3D12Pageable** | in | GPUメモリに常駐させるID3D12Pageableオブジェクトの配列を指す。 |
vtbl 35 HRESULT Evict(DWORD NumObjects, ID3D12Pageable** ppObjects)
| NumObjects | DWORD | in | 退避するオブジェクトの数を指定する。 |
| ppObjects | ID3D12Pageable** | in | GPUメモリから退避させるID3D12Pageableオブジェクトの配列を指す。 |
vtbl 36 HRESULT CreateFence(ULONGLONG InitialValue, D3D12_FENCE_FLAGS Flags, GUID* riid, void** ppFence)
| InitialValue | ULONGLONG | in | フェンスの初期値となる64ビット値を指定する。 |
| Flags | D3D12_FENCE_FLAGS | in | 共有可否などフェンスの動作を指定するD3D12_FENCE_FLAGSのビット組み合わせ。 |
| riid | GUID* | in | 取得するフェンスインターフェイスのGUIDを指す。 |
| ppFence | void** | out | 作成されたフェンスを受け取る出力ポインタ。 |
vtbl 37 HRESULT GetDeviceRemovedReason()
vtbl 38 void GetCopyableFootprints(D3D12_RESOURCE_DESC* pResourceDesc, DWORD FirstSubresource, DWORD NumSubresources, ULONGLONG BaseOffset, D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, DWORD* pNumRows, ULONGLONG* pRowSizeInBytes, ULONGLONG* pTotalBytes)
| pResourceDesc | D3D12_RESOURCE_DESC* | in | フットプリントを算出する対象リソースの記述子を指す。 |
| FirstSubresource | DWORD | in | 算出を開始するサブリソースのインデックスを指定する。 |
| NumSubresources | DWORD | in | 算出対象とするサブリソースの数を指定する。 |
| BaseOffset | ULONGLONG | in | 計算の基点とするバッファ内バイトオフセットを指定する。 |
| pLayouts | D3D12_PLACED_SUBRESOURCE_FOOTPRINT* | outoptional | 各サブリソースの配置フットプリントを受け取る出力配列を指す。NULL可。 |
| pNumRows | DWORD* | outoptional | 各サブリソースの行数を受け取る出力配列を指す。NULL可。 |
| pRowSizeInBytes | ULONGLONG* | outoptional | 各サブリソースの1行あたりバイト数を受け取る出力配列を指す。NULL可。 |
| pTotalBytes | ULONGLONG* | outoptional | 全サブリソースの合計必要バイト数を受け取る出力ポインタ。NULL可。 |
vtbl 39 HRESULT CreateQueryHeap(D3D12_QUERY_HEAP_DESC* pDesc, GUID* riid, void** ppvHeap)
| pDesc | D3D12_QUERY_HEAP_DESC* | in | 作成するクエリヒープの種別と数を定義する記述子を指す。 |
| riid | GUID* | in | 取得するクエリヒープインターフェイスのGUIDを指す。 |
| ppvHeap | void** | outoptional | 作成されたクエリヒープを受け取る出力ポインタ。 |
| Enable | BOOL | in | GPUの安定電力状態(クロック固定)を有効化するならTRUEを指定する。 |
vtbl 41 HRESULT CreateCommandSignature(D3D12_COMMAND_SIGNATURE_DESC* pDesc, ID3D12RootSignature* pRootSignature, GUID* riid, void** ppvCommandSignature)
| pDesc | D3D12_COMMAND_SIGNATURE_DESC* | in | 間接実行コマンドの引数レイアウトを定義する記述子を指す。 |
| pRootSignature | ID3D12RootSignature* | inoptional | ルート引数を変更するコマンドを含む場合に対応するルートシグネチャを指す。不要ならNULL可。 |
| riid | GUID* | in | 取得するコマンドシグネチャインターフェイスのGUIDを指す。 |
| ppvCommandSignature | void** | outoptional | 作成されたコマンドシグネチャを受け取る出力ポインタ。 |
vtbl 42 void GetResourceTiling(ID3D12Resource* pTiledResource, DWORD* pNumTilesForEntireResource, D3D12_PACKED_MIP_INFO* pPackedMipDesc, D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, DWORD* pNumSubresourceTilings, DWORD FirstSubresourceTilingToGet, D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips)
| pTiledResource | ID3D12Resource* | in | タイル情報を取得する対象のタイル化リソースを指す。 |
| pNumTilesForEntireResource | DWORD* | outoptional | リソース全体のタイル総数を受け取る出力ポインタ。NULL可。 |
| pPackedMipDesc | D3D12_PACKED_MIP_INFO* | outoptional | パックドミップの情報を受け取るD3D12_PACKED_MIP_INFO出力ポインタ。NULL可。 |
| pStandardTileShapeForNonPackedMips | D3D12_TILE_SHAPE* | outoptional | 非パックミップの標準タイル形状を受け取る出力ポインタ。NULL可。 |
| pNumSubresourceTilings | DWORD* | inoutoptional | 入力時は取得数、出力時は実数を示すサブリソースタイリング数の入出力ポインタ。 |
| FirstSubresourceTilingToGet | DWORD | in | 取得を開始するサブリソースのインデックスを指定する。 |
| pSubresourceTilingsForNonPackedMips | D3D12_SUBRESOURCE_TILING* | out | 各サブリソースのタイリング情報を受け取る出力配列を指す。 |
vtbl 43 LUID GetAdapterLuid()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12Device "{189819F1-1DB6-4B57-BE54-1821339B85F7}" #usecom global ID3D12Device IID_ID3D12Device "{}" #comfunc global ID3D12Device_GetNodeCount 7 #comfunc global ID3D12Device_CreateCommandQueue 8 var,var,sptr #comfunc global ID3D12Device_CreateCommandAllocator 9 int,var,sptr #comfunc global ID3D12Device_CreateGraphicsPipelineState 10 var,var,sptr #comfunc global ID3D12Device_CreateComputePipelineState 11 var,var,sptr #comfunc global ID3D12Device_CreateCommandList 12 int,int,sptr,sptr,var,sptr #comfunc global ID3D12Device_CheckFeatureSupport 13 int,sptr,int #comfunc global ID3D12Device_CreateDescriptorHeap 14 var,var,sptr #comfunc global ID3D12Device_GetDescriptorHandleIncrementSize 15 int #comfunc global ID3D12Device_CreateRootSignature 16 int,sptr,sptr,var,sptr #comfunc global ID3D12Device_CreateConstantBufferView 17 var,int #comfunc global ID3D12Device_CreateShaderResourceView 18 sptr,var,int #comfunc global ID3D12Device_CreateUnorderedAccessView 19 sptr,sptr,var,int #comfunc global ID3D12Device_CreateRenderTargetView 20 sptr,var,int #comfunc global ID3D12Device_CreateDepthStencilView 21 sptr,var,int #comfunc global ID3D12Device_CreateSampler 22 var,int #comfunc global ID3D12Device_CopyDescriptors 23 int,var,var,int,var,var,int #comfunc global ID3D12Device_CopyDescriptorsSimple 24 int,int,int,int #comfunc global ID3D12Device_GetResourceAllocationInfo 25 int,int,var #comfunc global ID3D12Device_GetCustomHeapProperties 26 int,int #comfunc global ID3D12Device_CreateCommittedResource 27 var,int,var,int,var,var,sptr #comfunc global ID3D12Device_CreateHeap 28 var,var,sptr #comfunc global ID3D12Device_CreatePlacedResource 29 sptr,int64,var,int,var,var,sptr #comfunc global ID3D12Device_CreateReservedResource 30 var,int,var,var,sptr #comfunc global ID3D12Device_CreateSharedHandle 31 sptr,var,int,wstr,sptr #comfunc global ID3D12Device_OpenSharedHandle 32 sptr,var,sptr #comfunc global ID3D12Device_OpenSharedHandleByName 33 wstr,int,sptr #comfunc global ID3D12Device_MakeResident 34 int,sptr #comfunc global ID3D12Device_Evict 35 int,sptr #comfunc global ID3D12Device_CreateFence 36 int64,int,var,sptr #comfunc global ID3D12Device_GetDeviceRemovedReason 37 #comfunc global ID3D12Device_GetCopyableFootprints 38 var,int,int,int64,var,var,var,var #comfunc global ID3D12Device_CreateQueryHeap 39 var,var,sptr #comfunc global ID3D12Device_SetStablePowerState 40 int #comfunc global ID3D12Device_CreateCommandSignature 41 var,sptr,var,sptr #comfunc global ID3D12Device_GetResourceTiling 42 sptr,var,var,var,var,int,var #comfunc global ID3D12Device_GetAdapterLuid 43 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12Device "{189819F1-1DB6-4B57-BE54-1821339B85F7}" #usecom global ID3D12Device IID_ID3D12Device "{}" #comfunc global ID3D12Device_GetNodeCount 7 #comfunc global ID3D12Device_CreateCommandQueue 8 sptr,sptr,sptr #comfunc global ID3D12Device_CreateCommandAllocator 9 int,sptr,sptr #comfunc global ID3D12Device_CreateGraphicsPipelineState 10 sptr,sptr,sptr #comfunc global ID3D12Device_CreateComputePipelineState 11 sptr,sptr,sptr #comfunc global ID3D12Device_CreateCommandList 12 int,int,sptr,sptr,sptr,sptr #comfunc global ID3D12Device_CheckFeatureSupport 13 int,sptr,int #comfunc global ID3D12Device_CreateDescriptorHeap 14 sptr,sptr,sptr #comfunc global ID3D12Device_GetDescriptorHandleIncrementSize 15 int #comfunc global ID3D12Device_CreateRootSignature 16 int,sptr,sptr,sptr,sptr #comfunc global ID3D12Device_CreateConstantBufferView 17 sptr,int #comfunc global ID3D12Device_CreateShaderResourceView 18 sptr,sptr,int #comfunc global ID3D12Device_CreateUnorderedAccessView 19 sptr,sptr,sptr,int #comfunc global ID3D12Device_CreateRenderTargetView 20 sptr,sptr,int #comfunc global ID3D12Device_CreateDepthStencilView 21 sptr,sptr,int #comfunc global ID3D12Device_CreateSampler 22 sptr,int #comfunc global ID3D12Device_CopyDescriptors 23 int,sptr,sptr,int,sptr,sptr,int #comfunc global ID3D12Device_CopyDescriptorsSimple 24 int,int,int,int #comfunc global ID3D12Device_GetResourceAllocationInfo 25 int,int,sptr #comfunc global ID3D12Device_GetCustomHeapProperties 26 int,int #comfunc global ID3D12Device_CreateCommittedResource 27 sptr,int,sptr,int,sptr,sptr,sptr #comfunc global ID3D12Device_CreateHeap 28 sptr,sptr,sptr #comfunc global ID3D12Device_CreatePlacedResource 29 sptr,int64,sptr,int,sptr,sptr,sptr #comfunc global ID3D12Device_CreateReservedResource 30 sptr,int,sptr,sptr,sptr #comfunc global ID3D12Device_CreateSharedHandle 31 sptr,sptr,int,wstr,sptr #comfunc global ID3D12Device_OpenSharedHandle 32 sptr,sptr,sptr #comfunc global ID3D12Device_OpenSharedHandleByName 33 wstr,int,sptr #comfunc global ID3D12Device_MakeResident 34 int,sptr #comfunc global ID3D12Device_Evict 35 int,sptr #comfunc global ID3D12Device_CreateFence 36 int64,int,sptr,sptr #comfunc global ID3D12Device_GetDeviceRemovedReason 37 #comfunc global ID3D12Device_GetCopyableFootprints 38 sptr,int,int,int64,sptr,sptr,sptr,sptr #comfunc global ID3D12Device_CreateQueryHeap 39 sptr,sptr,sptr #comfunc global ID3D12Device_SetStablePowerState 40 int #comfunc global ID3D12Device_CreateCommandSignature 41 sptr,sptr,sptr,sptr #comfunc global ID3D12Device_GetResourceTiling 42 sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global ID3D12Device_GetAdapterLuid 43 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。