source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/d3d11_2.idl@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 4.8 KB
RevLine 
[1166]1/*
2 * Copyright 2017 Ihsan Akmal
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19import "oaidl.idl";
20import "ocidl.idl";
21import "dxgi1_3.idl";
22import "d3dcommon.idl";
23import "d3d11_1.idl";
24
25const UINT D3D11_PACKED_TILE = 0xffffffff;
26
27typedef enum D3D11_TILE_MAPPING_FLAG
28{
29 D3D11_TILE_MAPPING_NO_OVERWRITE = 0x1,
30} D3D11_TILE_MAPPING_FLAG;
31
32typedef enum D3D11_TILE_RANGE_FLAG
33{
34 D3D11_TILE_RANGE_NULL = 0x1,
35 D3D11_TILE_RANGE_SKIP = 0x2,
36 D3D11_TILE_RANGE_REUSE_SINGLE_TILE = 0x4,
37} D3D11_TILE_RANGE_FLAG;
38
39typedef enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG
40{
41 D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x1,
42} D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG;
43
44typedef enum D3D11_TILE_COPY_FLAG
45{
46 D3D11_TILE_COPY_NO_OVERWRITE = 0x1,
47 D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
48 D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4,
49} D3D11_TILE_COPY_FLAG;
50
51typedef struct D3D11_TILED_RESOURCE_COORDINATE
52{
53 UINT X;
54 UINT Y;
55 UINT Z;
56 UINT Subresource;
57} D3D11_TILED_RESOURCE_COORDINATE;
58
59typedef struct D3D11_TILE_REGION_SIZE
60{
61 UINT NumTiles;
62 BOOL bUseBox;
63 UINT Width;
64 UINT16 Height;
65 UINT16 Depth;
66} D3D11_TILE_REGION_SIZE;
67
68typedef struct D3D11_SUBRESOURCE_TILING
69{
70 UINT WidthInTiles;
71 UINT16 HeightInTiles;
72 UINT16 DepthInTiles;
73 UINT StartTileIndexInOverallResource;
74} D3D11_SUBRESOURCE_TILING;
75
76typedef struct D3D11_TILE_SHAPE
77{
78 UINT WidthInTexels;
79 UINT HeightInTexels;
80 UINT DepthInTexels;
81} D3D11_TILE_SHAPE;
82
83typedef struct D3D11_PACKED_MIP_DESC
84{
85 UINT8 NumStandardMips;
86 UINT8 NumPackedMips;
87 UINT NumTilesForPackedMips;
88 UINT StartTileIndexInOverallResource;
89} D3D11_PACKED_MIP_DESC;
90
91[
92 uuid(420d5b32-b90c-4da4-bef0-359f6a24a83a),
93 object,
94 local,
95 pointer_default(unique)
96]
97interface ID3D11DeviceContext2 : ID3D11DeviceContext1
98{
99 HRESULT UpdateTileMappings(
100 ID3D11Resource *resource,
101 UINT region_count,
102 const D3D11_TILED_RESOURCE_COORDINATE *region_start_coordinates,
103 const D3D11_TILE_REGION_SIZE *region_sizes,
104 ID3D11Buffer *pool,
105 UINT range_count,
106 const UINT *range_flags,
107 const UINT *pool_start_offsets,
108 const UINT *range_tile_counts,
109 UINT flags
110 );
111 HRESULT CopyTileMappings(
112 ID3D11Resource *dst_resource,
113 const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
114 ID3D11Resource *src_resource,
115 const D3D11_TILED_RESOURCE_COORDINATE *src_start_coordinate,
116 const D3D11_TILE_REGION_SIZE *region_size,
117 UINT flags
118 );
119 void CopyTiles(
120 ID3D11Resource *resource,
121 const D3D11_TILED_RESOURCE_COORDINATE *start_coordinate,
122 const D3D11_TILE_REGION_SIZE *size,
123 ID3D11Buffer *buffer,
124 UINT64 start_offset,
125 UINT flags
126 );
127 void UpdateTiles(
128 ID3D11Resource *dst_resource,
129 const D3D11_TILED_RESOURCE_COORDINATE *dst_start_coordinate,
130 const D3D11_TILE_REGION_SIZE *dst_region_size,
131 const void *src_data,
132 UINT flags
133 );
134 HRESULT ResizeTilePool(
135 ID3D11Buffer *pool,
136 UINT64 size
137 );
138 void TiledResourceBarrier(
139 ID3D11DeviceChild *before_barrier,
140 ID3D11DeviceChild *after_barrier
141 );
142 BOOL IsAnnotationEnabled();
143 void SetMarkerInt(const WCHAR *label, int data);
144 void BeginEventInt(const WCHAR *label, int data);
145 void EndEvent();
146}
147
148[
149 uuid(9d06dffa-d1e5-4d07-83a8-1bb123f2f841),
150 object,
151 local,
152 pointer_default(unique)
153]
154interface ID3D11Device2 : ID3D11Device1
155{
156 void GetImmediateContext2(ID3D11DeviceContext2 **context);
157 HRESULT CreateDeferredContext2(UINT flags, ID3D11DeviceContext2 **context);
158 void GetResourceTiling(
159 ID3D11Resource *resource,
160 UINT *tile_count,
161 D3D11_PACKED_MIP_DESC *mip_desc,
162 D3D11_TILE_SHAPE *tile_shape,
163 UINT *subresource_tiling_count,
164 UINT first_subresource_tiling,
165 D3D11_SUBRESOURCE_TILING *subresource_tiling
166 );
167 HRESULT CheckMultisampleQualityLevels1(
168 DXGI_FORMAT format,
169 UINT sample_count,
170 UINT flags,
171 UINT *quality_level_count
172 );
173}
Note: See TracBrowser for help on using the repository browser.