//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // D3D11.2 IDL // // Contains interface definitions for the D3D11.2 API. // // Copyright (C) Microsoft Corporation // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// import "oaidl.idl"; import "ocidl.idl"; import "dxgi1_3.idl"; import "d3dcommon.idl"; import "d3d11_1.idl"; // cpp_quote( "#ifdef __cplusplus" ) cpp_quote( "}" ) // extern C cpp_quote( "#endif" ) cpp_quote( "#include \"d3d11_1.h\" //") // cpp_quote( "#ifdef __cplusplus" ) cpp_quote( "extern \"C\"{" ) cpp_quote( "#endif" ) typedef struct D3D11_TILED_RESOURCE_COORDINATE { UINT X; UINT Y; UINT Z; UINT Subresource; } D3D11_TILED_RESOURCE_COORDINATE; typedef struct D3D11_TILE_REGION_SIZE { UINT NumTiles; BOOL bUseBox; UINT Width; UINT16 Height; UINT16 Depth; } D3D11_TILE_REGION_SIZE; typedef enum D3D11_TILE_MAPPING_FLAG { D3D11_TILE_MAPPING_NO_OVERWRITE = 0x00000001, } D3D11_TILE_MAPPING_FLAG; typedef enum D3D11_TILE_RANGE_FLAG { D3D11_TILE_RANGE_NULL = 0x00000001, D3D11_TILE_RANGE_SKIP = 0x00000002, D3D11_TILE_RANGE_REUSE_SINGLE_TILE = 0x00000004, } D3D11_TILE_RANGE_FLAG; typedef struct D3D11_SUBRESOURCE_TILING { UINT WidthInTiles; UINT16 HeightInTiles; UINT16 DepthInTiles; UINT StartTileIndexInOverallResource; } D3D11_SUBRESOURCE_TILING; const UINT D3D11_PACKED_TILE = 0xffffffff; typedef struct D3D11_TILE_SHAPE { UINT WidthInTexels; UINT HeightInTexels; UINT DepthInTexels; } D3D11_TILE_SHAPE; typedef struct D3D11_PACKED_MIP_DESC { UINT8 NumStandardMips; UINT8 NumPackedMips; UINT NumTilesForPackedMips; UINT StartTileIndexInOverallResource; } D3D11_PACKED_MIP_DESC; typedef enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG { D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x00000001, } D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG; typedef enum D3D11_TILE_COPY_FLAG { D3D11_TILE_COPY_NO_OVERWRITE = 0x00000001, D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x00000002, D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x00000004, } D3D11_TILE_COPY_FLAG; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // DeviceContext2 // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// [ uuid( 420d5b32-b90c-4da4-bef0-359f6a24a83a ), object, local, pointer_default( unique ) ] interface ID3D11DeviceContext2 : ID3D11DeviceContext1 { HRESULT UpdateTileMappings( [annotation("_In_")] ID3D11Resource* pTiledResource, [annotation("_In_")] UINT NumTiledResourceRegions, [annotation("_In_reads_opt_(NumTiledResourceRegions)")] const D3D11_TILED_RESOURCE_COORDINATE* pTiledResourceRegionStartCoordinates, [annotation("_In_reads_opt_(NumTiledResourceRegions)")] const D3D11_TILE_REGION_SIZE* pTiledResourceRegionSizes, [annotation("_In_opt_")] ID3D11Buffer* pTilePool, [annotation("_In_")] UINT NumRanges, [annotation("_In_reads_opt_(NumRanges)")] const UINT* pRangeFlags, [annotation("_In_reads_opt_(NumRanges)")] const UINT* pTilePoolStartOffsets, [annotation("_In_reads_opt_(NumRanges)")] const UINT* pRangeTileCounts, [annotation("_In_")] UINT Flags ); HRESULT CopyTileMappings( [annotation("_In_")] ID3D11Resource* pDestTiledResource, [annotation("_In_")] const D3D11_TILED_RESOURCE_COORDINATE* pDestRegionStartCoordinate, [annotation("_In_")] ID3D11Resource* pSourceTiledResource, [annotation("_In_")] const D3D11_TILED_RESOURCE_COORDINATE* pSourceRegionStartCoordinate, [annotation("_In_")] const D3D11_TILE_REGION_SIZE* pTileRegionSize, [annotation("_In_")] UINT Flags ); void CopyTiles( [annotation("_In_")] ID3D11Resource* pTiledResource, [annotation("_In_")] const D3D11_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, [annotation("_In_")] const D3D11_TILE_REGION_SIZE* pTileRegionSize, [annotation("_In_")] ID3D11Buffer* pBuffer, [annotation("_In_")] UINT64 BufferStartOffsetInBytes, [annotation("_In_")] UINT Flags ); void UpdateTiles( [annotation("_In_")] ID3D11Resource* pDestTiledResource, [annotation("_In_")] const D3D11_TILED_RESOURCE_COORDINATE* pDestTileRegionStartCoordinate, [annotation("_In_")] const D3D11_TILE_REGION_SIZE* pDestTileRegionSize, [annotation("_In_")] const void* pSourceTileData, [annotation("_In_")] UINT Flags ); HRESULT ResizeTilePool( [annotation("_In_")] ID3D11Buffer* pTilePool, [annotation("_In_")] UINT64 NewSizeInBytes ); void TiledResourceBarrier( [annotation("_In_opt_")] ID3D11DeviceChild* pTiledResourceOrViewAccessBeforeBarrier, [annotation("_In_opt_")] ID3D11DeviceChild* pTiledResourceOrViewAccessAfterBarrier ); BOOL IsAnnotationEnabled(); void SetMarkerInt( [annotation("_In_")] LPCWSTR pLabel, INT Data ); void BeginEventInt( [annotation("_In_")] LPCWSTR pLabel, INT Data ); void EndEvent(); };[ uuid( 9d06dffa-d1e5-4d07-83a8-1bb123f2f841 ), object, local, pointer_default( unique ) ] interface ID3D11Device2 : ID3D11Device1 { void GetImmediateContext2( [annotation("_Outptr_")] ID3D11DeviceContext2** ppImmediateContext ); HRESULT CreateDeferredContext2( UINT ContextFlags, [annotation("_COM_Outptr_opt_")] ID3D11DeviceContext2** ppDeferredContext ); void GetResourceTiling( [annotation("_In_")] ID3D11Resource* pTiledResource, [annotation("_Out_opt_")] UINT* pNumTilesForEntireResource, [annotation("_Out_opt_")] D3D11_PACKED_MIP_DESC* pPackedMipDesc, [annotation("_Out_opt_")] D3D11_TILE_SHAPE* pStandardTileShapeForNonPackedMips, [annotation("_Inout_opt_")] UINT* pNumSubresourceTilings, [annotation("_In_")] UINT FirstSubresourceTilingToGet, [annotation("_Out_writes_(*pNumSubresourceTilings)")] D3D11_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips ); HRESULT CheckMultisampleQualityLevels1( [annotation("_In_")] DXGI_FORMAT Format, [annotation("_In_")] UINT SampleCount, [annotation("_In_")] UINT Flags, [annotation("_Out_")] UINT *pNumQualityLevels); }; cpp_quote( "DEFINE_GUID(IID_ID3D11DeviceContext2,0x420d5b32,0xb90c,0x4da4,0xbe,0xf0,0x35,0x9f,0x6a,0x24,0xa8,0x3a);" ) cpp_quote( "DEFINE_GUID(IID_ID3D11Device2,0x9d06dffa,0xd1e5,0x4d07,0x83,0xa8,0x1b,0xb1,0x23,0xf2,0xf8,0x41);" )