summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/d3d11_2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/d3d11_2.rs')
-rw-r--r--vendor/winapi/src/um/d3d11_2.rs146
1 files changed, 146 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/d3d11_2.rs b/vendor/winapi/src/um/d3d11_2.rs
new file mode 100644
index 0000000..28b655a
--- /dev/null
+++ b/vendor/winapi/src/um/d3d11_2.rs
@@ -0,0 +1,146 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use ctypes::c_void;
+use shared::basetsd::{UINT16, UINT64, UINT8};
+use shared::dxgiformat::DXGI_FORMAT;
+use shared::minwindef::{BOOL, INT, UINT};
+use um::d3d11::{ID3D11Buffer, ID3D11DeviceChild, ID3D11Resource};
+use um::d3d11_1::{
+ ID3D11Device1, ID3D11Device1Vtbl, ID3D11DeviceContext1, ID3D11DeviceContext1Vtbl,
+};
+use um::winnt::{HRESULT, LPCWSTR};
+DEFINE_GUID!{IID_ID3D11DeviceContext2,
+ 0x420d5b32, 0xb90c, 0x4da4, 0xbe, 0xf0, 0x35, 0x9f, 0x6a, 0x24, 0xa8, 0x3a}
+DEFINE_GUID!{IID_ID3D11Device2,
+ 0x9d06dffa, 0xd1e5, 0x4d07, 0x83, 0xa8, 0x1b, 0xb1, 0x23, 0xf2, 0xf8, 0x41}
+STRUCT!{struct D3D11_TILED_RESOURCE_COORDINATE {
+ X: UINT,
+ Y: UINT,
+ Z: UINT,
+ Subresource: UINT,
+}}
+STRUCT!{struct D3D11_TILE_REGION_SIZE {
+ NumTiles: UINT,
+ bUseBox: BOOL,
+ Width: UINT,
+ Height: UINT16,
+ Depth: UINT16,
+}}
+ENUM!{enum D3D11_TILE_MAPPING_FLAG {
+ D3D11_TILE_MAPPING_NO_OVERWRITE = 0x00000001,
+}}
+ENUM!{enum D3D11_TILE_RANGE_FLAG {
+ D3D11_TILE_RANGE_NULL = 0x00000001,
+ D3D11_TILE_RANGE_SKIP = 0x00000002,
+ D3D11_TILE_RANGE_REUSE_SINGLE_TILE = 0x00000004,
+}}
+STRUCT!{struct D3D11_SUBRESOURCE_TILING {
+ WidthInTiles: UINT,
+ HeightInTiles: UINT16,
+ DepthInTiles: UINT16,
+ StartTileIndexInOverallResource: UINT,
+}}
+STRUCT!{struct D3D11_TILE_SHAPE {
+ WidthInTexels: UINT,
+ HeightInTexels: UINT,
+ DepthInTexels: UINT,
+}}
+STRUCT!{struct D3D11_PACKED_MIP_DESC {
+ NumStandardMips: UINT8,
+ NumPackedMips: UINT8,
+ NumTilesForPackedMips: UINT,
+ StartTileIndexInOverallResource: UINT,
+}}
+ENUM!{enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG {
+ D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x00000001,
+}}
+ENUM!{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,
+}}
+RIDL!{#[uuid(0x420d5b32, 0xb90c, 0x4da4, 0xbe, 0xf0, 0x35, 0x9f, 0x6a, 0x24, 0xa8, 0x3a)]
+interface ID3D11DeviceContext2(ID3D11DeviceContext2Vtbl):
+ ID3D11DeviceContext1(ID3D11DeviceContext1Vtbl) {
+ fn UpdateTileMappings(
+ pTiledResource: *mut ID3D11Resource,
+ NumTiledResourceRegions: UINT,
+ pTiledResourceRegionStartCoordinates: *const D3D11_TILED_RESOURCE_COORDINATE,
+ pTiledResourceRegionSizes: *const D3D11_TILE_REGION_SIZE,
+ pTilePool: *mut ID3D11Buffer,
+ NumRanges: UINT,
+ pRangeFlags: *const UINT,
+ pTilePoolStartOffsets: *const UINT,
+ pRangeTileCounts: *const UINT,
+ Flags: UINT,
+ ) -> HRESULT,
+ fn CopyTileMappings(
+ pDestTiledResource: *mut ID3D11Resource,
+ pDestRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
+ pSourceTiledResource: *mut ID3D11Resource,
+ pSourceRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
+ pTileRegionSize: *const D3D11_TILE_REGION_SIZE,
+ Flags: UINT,
+ ) -> HRESULT,
+ fn CopyTiles(
+ pTiledResource: *mut ID3D11Resource,
+ pTileRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
+ pTileRegionSize: *const D3D11_TILE_REGION_SIZE,
+ pBuffer: *mut ID3D11Buffer,
+ BufferStartOffsetInBytes: UINT64,
+ Flags: UINT,
+ ) -> (),
+ fn UpdateTiles(
+ pDestTiledResource: *mut ID3D11Resource,
+ pDestTileRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
+ pDestTileRegionSize: *const D3D11_TILE_REGION_SIZE,
+ pSourceTileData: *const c_void,
+ Flags: UINT,
+ ) -> (),
+ fn ResizeTilePool(
+ pTilePool: *mut ID3D11Buffer,
+ NewSizeInBytes: UINT64,
+ ) -> HRESULT,
+ fn TiledResourceBarrier(
+ pTiledResourceOrViewAccessBeforeBarrier: *mut ID3D11DeviceChild,
+ pTiledResourceOrViewAccessAfterBarrier: *mut ID3D11DeviceChild,
+ ) -> (),
+ fn IsAnnotationEnabled() -> BOOL,
+ fn SetMarkerInt(
+ pLabel: LPCWSTR,
+ Data: INT,
+ ) -> (),
+ fn BeginEventInt(
+ pLabel: LPCWSTR,
+ Data: INT,
+ ) -> (),
+ fn EndEvent() -> (),
+}}
+RIDL!{#[uuid(0x9d06dffa, 0xd1e5, 0x4d07, 0x83, 0xa8, 0x1b, 0xb1, 0x23, 0xf2, 0xf8, 0x41)]
+interface ID3D11Device2(ID3D11Device2Vtbl): ID3D11Device1(ID3D11Device1Vtbl) {
+ fn GetImmediateContext2(
+ ppImmediateContext: *mut *mut ID3D11DeviceContext2,
+ ) -> (),
+ fn CreateDeferredContext2(
+ ContextFlags: UINT,
+ ppDeferredContext: *mut *mut ID3D11DeviceContext2,
+ ) -> HRESULT,
+ fn GetResourceTiling(
+ pTiledResource: *mut ID3D11Resource,
+ pNumTilesForEntireResource: *mut UINT,
+ pPackedMipDesc: *mut D3D11_PACKED_MIP_DESC,
+ pStandardTileShapeForNonPackedMips: *mut D3D11_TILE_SHAPE,
+ pNumSubresourceTilings: *mut UINT,
+ FirstSubresourceTilingToGet: UINT,
+ pSubresourceTilingsForNonPackedMips: *mut D3D11_SUBRESOURCE_TILING,
+ ) -> (),
+ fn CheckMultisampleQualityLevels1(
+ Format: DXGI_FORMAT,
+ SampleCount: UINT,
+ Flags: UINT,
+ pNumQualityLevels: *mut UINT,
+ ) -> HRESULT,
+}}