Mercurial > projects > ddbg_continued
comparison win32/directx/d3d10.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * d3d10.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Placed into public domain * | |
7 \***********************************************************************/ | |
8 module win32.directx.d3d10; | |
9 | |
10 private import win32.windows; | |
11 | |
12 public import win32.directx.dxgitype; | |
13 public import win32.directx.dxgi; | |
14 public import win32.directx.d3d10misc; | |
15 public import win32.directx.d3d10shader; | |
16 public import win32.directx.d3d10effect; | |
17 | |
18 pragma(lib, "d3d10.lib"); | |
19 | |
20 const D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff; | |
21 const D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff; | |
22 const D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff; | |
23 const D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9; | |
24 const D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8; | |
25 const D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2; | |
26 const D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14; | |
27 const D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4; | |
28 const D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32; | |
29 const D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15; | |
30 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; | |
31 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; | |
32 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; | |
33 const D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; | |
34 const D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64; | |
35 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; | |
36 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1; | |
37 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; | |
38 const D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; | |
39 const D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32; | |
40 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1; | |
41 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128; | |
42 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1; | |
43 const D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1; | |
44 const D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128; | |
45 const D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1; | |
46 const D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16; | |
47 const D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1; | |
48 const D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1; | |
49 const D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16; | |
50 const D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32; | |
51 const D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4; | |
52 const D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32; | |
53 const D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096; | |
54 const D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3; | |
55 const D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3; | |
56 const D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10; | |
57 const D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10; | |
58 const D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8; | |
59 const D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7; | |
60 const D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0f; | |
61 const D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0f; | |
62 const D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0f; | |
63 const D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0f; | |
64 const D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0f; | |
65 const D3D10_DEFAULT_DEPTH_BIAS = 0; | |
66 const D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0f; | |
67 const D3D10_DEFAULT_MAX_ANISOTROPY = 16.0f; | |
68 const D3D10_DEFAULT_MIP_LOD_BIAS = 0.0f; | |
69 const D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0; | |
70 const D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff; | |
71 const D3D10_DEFAULT_SCISSOR_ENDX = 0; | |
72 const D3D10_DEFAULT_SCISSOR_ENDY = 0; | |
73 const D3D10_DEFAULT_SCISSOR_STARTX = 0; | |
74 const D3D10_DEFAULT_SCISSOR_STARTY = 0; | |
75 const D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0f; | |
76 const D3D10_DEFAULT_STENCIL_READ_MASK = 0xff; | |
77 const D3D10_DEFAULT_STENCIL_REFERENCE = 0; | |
78 const D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff; | |
79 const D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0; | |
80 const D3D10_DEFAULT_VIEWPORT_HEIGHT = 0; | |
81 const D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0f; | |
82 const D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0f; | |
83 const D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0; | |
84 const D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0; | |
85 const D3D10_DEFAULT_VIEWPORT_WIDTH = 0; | |
86 const D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6; | |
87 const D3D10_FLOAT32_MAX = 3.402823466e+38f; | |
88 const D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6f; | |
89 const D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4f; | |
90 const D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0f; | |
91 const D3D10_FLOAT_TO_SRGB_OFFSET = 0.055f; | |
92 const D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92f; | |
93 const D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055f; | |
94 const D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308f; | |
95 const D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999f; | |
96 const D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999f; | |
97 const D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999f; | |
98 const D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0f; | |
99 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1; | |
100 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32; | |
101 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1; | |
102 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2; | |
103 const D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1; | |
104 const D3D10_GS_INPUT_REGISTER_COMPONENTS = 4; | |
105 const D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
106 const D3D10_GS_INPUT_REGISTER_COUNT = 16; | |
107 const D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2; | |
108 const D3D10_GS_INPUT_REGISTER_READ_PORTS = 1; | |
109 const D3D10_GS_INPUT_REGISTER_VERTICES = 6; | |
110 const D3D10_GS_OUTPUT_ELEMENTS = 32; | |
111 const D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4; | |
112 const D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
113 const D3D10_GS_OUTPUT_REGISTER_COUNT = 32; | |
114 const D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0; | |
115 const D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0; | |
116 const D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0; | |
117 const D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1; | |
118 const D3D10_IA_INSTANCE_ID_BIT_COUNT = 32; | |
119 const D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32; | |
120 const D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32; | |
121 const D3D10_IA_VERTEX_ID_BIT_COUNT = 32; | |
122 const D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16; | |
123 const D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64; | |
124 const D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16; | |
125 const D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff; | |
126 const D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff; | |
127 const D3D10_LINEAR_GAMMA = 1.0f; | |
128 const D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0f; | |
129 const D3D10_MAX_DEPTH = 1.0f; | |
130 const D3D10_MAX_MAXANISOTROPY = 16; | |
131 const D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32; | |
132 const D3D10_MAX_POSITION_VALUE = 3.402823466e+34f; | |
133 const D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17; | |
134 const D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0f; | |
135 const D3D10_MIN_DEPTH = 0.0f; | |
136 const D3D10_MIN_MAXANISOTROPY = 0; | |
137 const D3D10_MIP_LOD_BIAS_MAX = 15.99f; | |
138 const D3D10_MIP_LOD_BIAS_MIN = -16.0f; | |
139 const D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6; | |
140 const D3D10_MIP_LOD_RANGE_BIT_COUNT = 8; | |
141 const D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4f; | |
142 const D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0; | |
143 const D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13; | |
144 const D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15; | |
145 const D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff; | |
146 const D3D10_PS_FRONTFACING_FALSE_VALUE = 0; | |
147 const D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff; | |
148 const D3D10_PS_INPUT_REGISTER_COMPONENTS = 4; | |
149 const D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
150 const D3D10_PS_INPUT_REGISTER_COUNT = 32; | |
151 const D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2; | |
152 const D3D10_PS_INPUT_REGISTER_READ_PORTS = 1; | |
153 const D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0f; | |
154 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1; | |
155 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32; | |
156 const D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1; | |
157 const D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4; | |
158 const D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
159 const D3D10_PS_OUTPUT_REGISTER_COUNT = 8; | |
160 const D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5f; | |
161 const D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096; | |
162 const D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27; | |
163 const D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; | |
164 const D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096; | |
165 const D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32; | |
166 const D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32; | |
167 const D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192; | |
168 const D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024; | |
169 const D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; | |
170 const D3D10_REQ_MAXANISOTROPY = 16; | |
171 const D3D10_REQ_MIP_LEVELS = 14; | |
172 const D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048; | |
173 const D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096; | |
174 const D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192; | |
175 const D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128; | |
176 const D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20; | |
177 const D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096; | |
178 const D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512; | |
179 const D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192; | |
180 const D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512; | |
181 const D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192; | |
182 const D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; | |
183 const D3D10_REQ_TEXTURECUBE_DIMENSION = 8192; | |
184 const D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0; | |
185 const D3D10_SHADER_MAJOR_VERSION = 4; | |
186 const D3D10_SHADER_MINOR_VERSION = 0; | |
187 const D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0; | |
188 const D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5; | |
189 const D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; | |
190 const D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; | |
191 const D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256; | |
192 const D3D10_SO_BUFFER_SLOT_COUNT = 4; | |
193 const D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; | |
194 const D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1; | |
195 const D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64; | |
196 const D3D10_SRGB_GAMMA = 2.2f; | |
197 const D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92f; | |
198 const D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055f; | |
199 const D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4f; | |
200 const D3D10_SRGB_TO_FLOAT_OFFSET = 0.055f; | |
201 const D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045f; | |
202 const D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5f; | |
203 const D3D10_STANDARD_COMPONENT_BIT_COUNT = 32; | |
204 const D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64; | |
205 const D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; | |
206 const D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128; | |
207 const D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32; | |
208 const D3D10_STANDARD_VECTOR_SIZE = 4; | |
209 const D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16; | |
210 const D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64; | |
211 const D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8; | |
212 const D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6; | |
213 const D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18; | |
214 const D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0; | |
215 const D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15; | |
216 const D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; | |
217 const D3D10_VIEWPORT_BOUNDS_MAX = 16383; | |
218 const D3D10_VIEWPORT_BOUNDS_MIN = -16384; | |
219 const D3D10_VS_INPUT_REGISTER_COMPONENTS = 4; | |
220 const D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
221 const D3D10_VS_INPUT_REGISTER_COUNT = 16; | |
222 const D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2; | |
223 const D3D10_VS_INPUT_REGISTER_READ_PORTS = 1; | |
224 const D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4; | |
225 const D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; | |
226 const D3D10_VS_OUTPUT_REGISTER_COUNT = 16; | |
227 const D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10; | |
228 const D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25; | |
229 const D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25; | |
230 const D3D_MAJOR_VERSION = 10; | |
231 const D3D_MINOR_VERSION = 0; | |
232 const D3D_SPEC_DATE_DAY = 8; | |
233 const D3D_SPEC_DATE_MONTH = 8; | |
234 const D3D_SPEC_DATE_YEAR = 2006; | |
235 const D3D_SPEC_VERSION = 1.050005; | |
236 | |
237 const _FACD3D10 = 0x879; | |
238 const _FACD3D10DEBUG = _FACD3D10 + 1; | |
239 | |
240 HRESULT MAKE_D3D10_HRESULT(T)(T code) { | |
241 return MAKE_HRESULT(1, _FACD3D10, code); | |
242 } | |
243 | |
244 HRESULT MAKE_D3D10_STATUS(T)(T code) { | |
245 return MAKE_HRESULT(0, _FACD3D10, code); | |
246 } | |
247 | |
248 const D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS = MAKE_D3D10_HRESULT(1); | |
249 const D3D10_ERROR_FILE_NOT_FOUND = MAKE_D3D10_HRESULT(2); | |
250 | |
251 enum D3D10_INPUT_CLASSIFICATION { | |
252 D3D10_INPUT_PER_VERTEX_DATA = 0, | |
253 D3D10_INPUT_PER_INSTANCE_DATA = 1 | |
254 } | |
255 | |
256 const D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff; | |
257 | |
258 struct D3D10_INPUT_ELEMENT_DESC { | |
259 LPCSTR SemanticName; | |
260 UINT SemanticIndex; | |
261 DXGI_FORMAT Format; | |
262 UINT InputSlot; | |
263 UINT AlignedByteOffset; | |
264 D3D10_INPUT_CLASSIFICATION InputSlotClass; | |
265 UINT InstanceDataStepRate; | |
266 } | |
267 | |
268 enum D3D10_FILL_MODE { | |
269 D3D10_FILL_WIREFRAME = 2, | |
270 D3D10_FILL_SOLID = 3 | |
271 } | |
272 | |
273 enum D3D10_PRIMITIVE_TOPOLOGY { | |
274 D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | |
275 D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | |
276 D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2, | |
277 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | |
278 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | |
279 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | |
280 D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | |
281 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | |
282 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | |
283 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13 | |
284 } | |
285 | |
286 enum D3D10_PRIMITIVE { | |
287 D3D10_PRIMITIVE_UNDEFINED = 0, | |
288 D3D10_PRIMITIVE_POINT = 1, | |
289 D3D10_PRIMITIVE_LINE = 2, | |
290 D3D10_PRIMITIVE_TRIANGLE = 3, | |
291 D3D10_PRIMITIVE_LINE_ADJ = 6, | |
292 D3D10_PRIMITIVE_TRIANGLE_ADJ = 7 | |
293 } | |
294 | |
295 enum D3D10_CULL_MODE { | |
296 D3D10_CULL_NONE = 1, | |
297 D3D10_CULL_FRONT, | |
298 D3D10_CULL_BACK | |
299 } | |
300 | |
301 struct D3D10_SO_DECLARATION_ENTRY { | |
302 LPCSTR SemanticName; | |
303 UINT SemanticIndex; | |
304 BYTE StartComponent; | |
305 BYTE ComponentCount; | |
306 BYTE OutputSlot; | |
307 } | |
308 | |
309 struct D3D10_VIEWPORT { | |
310 INT TopLeftX; | |
311 INT TopLeftY; | |
312 UINT Width; | |
313 UINT Height; | |
314 FLOAT MinDepth; | |
315 FLOAT MaxDepth; | |
316 } | |
317 | |
318 enum D3D10_RESOURCE_DIMENSION { | |
319 D3D10_RESOURCE_DIMENSION_UNKNOWN = 0, | |
320 D3D10_RESOURCE_DIMENSION_BUFFER, | |
321 D3D10_RESOURCE_DIMENSION_TEXTURE1D, | |
322 D3D10_RESOURCE_DIMENSION_TEXTURE2D, | |
323 D3D10_RESOURCE_DIMENSION_TEXTURE3D | |
324 } | |
325 | |
326 enum D3D10_SRV_DIMENSION { | |
327 D3D10_SRV_DIMENSION_UNKNOWN = 0, | |
328 D3D10_SRV_DIMENSION_BUFFER, | |
329 D3D10_SRV_DIMENSION_TEXTURE1D, | |
330 D3D10_SRV_DIMENSION_TEXTURE1DARRAY, | |
331 D3D10_SRV_DIMENSION_TEXTURE2D, | |
332 D3D10_SRV_DIMENSION_TEXTURE2DARRAY, | |
333 D3D10_SRV_DIMENSION_TEXTURE2DMS, | |
334 D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY, | |
335 D3D10_SRV_DIMENSION_TEXTURE3D, | |
336 D3D10_SRV_DIMENSION_TEXTURECUBE | |
337 } | |
338 | |
339 enum D3D10_DSV_DIMENSION { | |
340 D3D10_DSV_DIMENSION_UNKNOWN = 0, | |
341 D3D10_DSV_DIMENSION_TEXTURE1D, | |
342 D3D10_DSV_DIMENSION_TEXTURE1DARRAY, | |
343 D3D10_DSV_DIMENSION_TEXTURE2D, | |
344 D3D10_DSV_DIMENSION_TEXTURE2DARRAY, | |
345 D3D10_DSV_DIMENSION_TEXTURE2DMS, | |
346 D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY6 | |
347 } | |
348 | |
349 enum D3D10_RTV_DIMENSION { | |
350 D3D10_RTV_DIMENSION_UNKNOWN = 0, | |
351 D3D10_RTV_DIMENSION_BUFFER, | |
352 D3D10_RTV_DIMENSION_TEXTURE1D, | |
353 D3D10_RTV_DIMENSION_TEXTURE1DARRAY, | |
354 D3D10_RTV_DIMENSION_TEXTURE2D, | |
355 D3D10_RTV_DIMENSION_TEXTURE2DARRAY, | |
356 D3D10_RTV_DIMENSION_TEXTURE2DMS, | |
357 D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY, | |
358 D3D10_RTV_DIMENSION_TEXTURE3D | |
359 } | |
360 | |
361 enum D3D10_USAGE { | |
362 D3D10_USAGE_DEFAULT = 0, | |
363 D3D10_USAGE_IMMUTABLE, | |
364 D3D10_USAGE_DYNAMIC, | |
365 D3D10_USAGE_STAGING | |
366 } | |
367 | |
368 enum D3D10_BIND_FLAG { | |
369 D3D10_BIND_VERTEX_BUFFER = 0x01, | |
370 D3D10_BIND_INDEX_BUFFER = 0x02, | |
371 D3D10_BIND_CONSTANT_BUFFER = 0x04, | |
372 D3D10_BIND_SHADER_RESOURCE = 0x08, | |
373 D3D10_BIND_STREAM_OUTPUT = 0x10, | |
374 D3D10_BIND_RENDER_TARGET = 0x20, | |
375 D3D10_BIND_DEPTH_STENCIL = 0x40 | |
376 } | |
377 | |
378 enum D3D10_CPU_ACCESS_FLAG { | |
379 D3D10_CPU_ACCESS_WRITE = 0x10000, | |
380 D3D10_CPU_ACCESS_READ = 0x20000 | |
381 } | |
382 | |
383 enum D3D10_RESOURCE_MISC_FLAG { | |
384 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x01, | |
385 D3D10_RESOURCE_MISC_SHARED = 0x02, | |
386 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x04 | |
387 } | |
388 | |
389 enum D3D10_MAP { | |
390 D3D10_MAP_READ = 1, | |
391 D3D10_MAP_WRITE, | |
392 D3D10_MAP_READ_WRITE, | |
393 D3D10_MAP_WRITE_DISCARD, | |
394 D3D10_MAP_WRITE_NO_OVERWRITE | |
395 } | |
396 | |
397 enum D3D10_MAP_FLAG { | |
398 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000 | |
399 } | |
400 | |
401 enum D3D10_RAISE_FLAG { | |
402 D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x01 | |
403 } | |
404 | |
405 enum D3D10_CLEAR_FLAG { | |
406 D3D10_CLEAR_DEPTH = 0x01, | |
407 D3D10_CLEAR_STENCIL = 0x02 | |
408 } | |
409 | |
410 alias RECT D3D10_RECT; | |
411 | |
412 struct D3D10_BOX { | |
413 UINT left; | |
414 UINT top; | |
415 UINT front; | |
416 UINT right; | |
417 UINT bottom; | |
418 UINT back; | |
419 } | |
420 | |
421 extern (Windows) interface ID3D10DeviceChild : IUnknown { | |
422 //extern(Windows) : | |
423 void GetDevice(ID3D10Device* ppDevice); | |
424 HRESULT GetPrivateData(REFGUID guid, UINT *pDataSize, void *pData); | |
425 HRESULT SetPrivateData(REFGUID guid, UINT DataSize, void *pData); | |
426 HRESULT SetPrivateDataInterface(REFGUID guid, IUnknown pData); | |
427 } | |
428 | |
429 enum D3D10_COMPARISON_FUNC { | |
430 D3D10_COMPARISON_NEVER = 1, | |
431 D3D10_COMPARISON_LESS, | |
432 D3D10_COMPARISON_EQUAL, | |
433 D3D10_COMPARISON_LESS_EQUAL, | |
434 D3D10_COMPARISON_GREATER, | |
435 D3D10_COMPARISON_NOT_EQUAL, | |
436 D3D10_COMPARISON_GREATER_EQUAL, | |
437 D3D10_COMPARISON_ALWAYS | |
438 } | |
439 | |
440 enum D3D10_DEPTH_WRITE_MASK { | |
441 D3D10_DEPTH_WRITE_MASK_ZERO = 0, | |
442 D3D10_DEPTH_WRITE_MASK_ALL | |
443 } | |
444 | |
445 enum D3D10_STENCIL_OP { | |
446 D3D10_STENCIL_OP_KEEP = 1, | |
447 D3D10_STENCIL_OP_ZERO, | |
448 D3D10_STENCIL_OP_REPLACE, | |
449 D3D10_STENCIL_OP_INCR_SAT, | |
450 D3D10_STENCIL_OP_DECR_SAT, | |
451 D3D10_STENCIL_OP_INVERT, | |
452 D3D10_STENCIL_OP_INCR, | |
453 D3D10_STENCIL_OP_DECR | |
454 } | |
455 | |
456 struct D3D10_DEPTH_STENCILOP_DESC { | |
457 D3D10_STENCIL_OP StencilFailOp; | |
458 D3D10_STENCIL_OP StencilDepthFailOp; | |
459 D3D10_STENCIL_OP StencilPassOp; | |
460 D3D10_COMPARISON_FUNC StencilFunc; | |
461 } | |
462 | |
463 struct D3D10_DEPTH_STENCIL_DESC { | |
464 BOOL DepthEnable; | |
465 D3D10_DEPTH_WRITE_MASK DepthWriteMask; | |
466 D3D10_COMPARISON_FUNC DepthFunc; | |
467 BOOL StencilEnable; | |
468 UINT8 StencilReadMask; | |
469 UINT8 StencilWriteMask; | |
470 D3D10_DEPTH_STENCILOP_DESC FrontFace; | |
471 D3D10_DEPTH_STENCILOP_DESC BackFace; | |
472 } | |
473 | |
474 interface ID3D10DepthStencilState : ID3D10DeviceChild { | |
475 extern(Windows) : | |
476 void GetDesc(D3D10_DEPTH_STENCIL_DESC *pDesc); | |
477 } | |
478 | |
479 enum D3D10_BLEND { | |
480 D3D10_BLEND_ZERO = 1, | |
481 D3D10_BLEND_ONE = 2, | |
482 D3D10_BLEND_SRC_COLOR = 3, | |
483 D3D10_BLEND_INV_SRC_COLOR = 4, | |
484 D3D10_BLEND_SRC_ALPHA = 5, | |
485 D3D10_BLEND_INV_SRC_ALPHA = 6, | |
486 D3D10_BLEND_DEST_ALPHA = 7, | |
487 D3D10_BLEND_INV_DEST_ALPHA = 8, | |
488 D3D10_BLEND_DEST_COLOR = 9, | |
489 D3D10_BLEND_INV_DEST_COLOR = 10, | |
490 D3D10_BLEND_SRC_ALPHA_SAT = 11, | |
491 D3D10_BLEND_BLEND_FACTOR = 14, | |
492 D3D10_BLEND_INV_BLEND_FACTOR = 15, | |
493 D3D10_BLEND_SRC1_COLOR = 16, | |
494 D3D10_BLEND_INV_SRC1_COLOR = 17, | |
495 D3D10_BLEND_SRC1_ALPHA = 18, | |
496 D3D10_BLEND_INV_SRC1_ALPHA = 19 | |
497 } | |
498 | |
499 enum D3D10_BLEND_OP { | |
500 D3D10_BLEND_OP_ADD = 1, | |
501 D3D10_BLEND_OP_SUBTRACT, | |
502 D3D10_BLEND_OP_REV_SUBTRACT, | |
503 D3D10_BLEND_OP_MIN, | |
504 D3D10_BLEND_OP_MAX | |
505 } | |
506 | |
507 enum D3D10_COLOR_WRITE_ENABLE { | |
508 D3D10_COLOR_WRITE_ENABLE_RED = 1, | |
509 D3D10_COLOR_WRITE_ENABLE_GREEN = 2, | |
510 D3D10_COLOR_WRITE_ENABLE_BLUE = 4, | |
511 D3D10_COLOR_WRITE_ENABLE_ALPHA = 8, | |
512 D3D10_COLOR_WRITE_ENABLE_ALL = (((D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN) | D3D10_COLOR_WRITE_ENABLE_BLUE) | D3D10_COLOR_WRITE_ENABLE_ALPHA) | |
513 } | |
514 | |
515 struct D3D10_BLEND_DESC { | |
516 BOOL AlphaToCoverageEnable; | |
517 BOOL[8] BlendEnable; | |
518 D3D10_BLEND SrcBlend; | |
519 D3D10_BLEND DestBlend; | |
520 D3D10_BLEND_OP BlendOp; | |
521 D3D10_BLEND SrcBlendAlpha; | |
522 D3D10_BLEND DestBlendAlpha; | |
523 D3D10_BLEND_OP BlendOpAlpha; | |
524 UINT8[8] RenderTargetWriteMask; | |
525 } | |
526 | |
527 interface ID3D10BlendState : ID3D10DeviceChild { | |
528 extern(Windows) : | |
529 void GetDesc(D3D10_BLEND_DESC *pDesc); | |
530 } | |
531 | |
532 struct D3D10_RASTERIZER_DESC { | |
533 D3D10_FILL_MODE FillMode; | |
534 D3D10_CULL_MODE CullMode; | |
535 BOOL FrontCounterClockwise; | |
536 INT DepthBias; | |
537 FLOAT DepthBiasClamp; | |
538 FLOAT SlopeScaledDepthBias; | |
539 BOOL DepthClipEnable; | |
540 BOOL ScissorEnable; | |
541 BOOL MultisampleEnable; | |
542 BOOL AntialiasedLineEnable; | |
543 } | |
544 | |
545 interface ID3D10RasterizerState : ID3D10DeviceChild { | |
546 extern(Windows) : | |
547 void GetDesc(D3D10_RASTERIZER_DESC *pDesc); | |
548 } | |
549 | |
550 UINT D3D10CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) { | |
551 return MipSlice + ArraySlice * MipLevels; | |
552 } | |
553 | |
554 struct D3D10_SUBRESOURCE_DATA { | |
555 void *pSysMem; | |
556 UINT SysMemPitch; | |
557 UINT SysMemSlicePitch; | |
558 } | |
559 | |
560 interface ID3D10Resource : ID3D10DeviceChild { | |
561 extern(Windows) : | |
562 void GetType(D3D10_RESOURCE_DIMENSION *rType); | |
563 void SetEvictionPriority(UINT EvictionPriority); | |
564 UINT GetEvictionPriority(); | |
565 } | |
566 | |
567 struct D3D10_BUFFER_DESC { | |
568 UINT ByteWidth; | |
569 D3D10_USAGE Usage; | |
570 UINT BindFlags; | |
571 UINT CPUAccessFlags; | |
572 UINT MiscFlags; | |
573 } | |
574 | |
575 interface ID3D10Buffer : ID3D10Resource { | |
576 extern(Windows) : | |
577 HRESULT Map(D3D10_MAP MapType, UINT MapFlags, void **ppData); | |
578 void Unmap(); | |
579 void GetDesc(D3D10_BUFFER_DESC *pDesc); | |
580 } | |
581 | |
582 struct D3D10_TEXTURE1D_DESC { | |
583 UINT Width; | |
584 UINT MipLevels; | |
585 UINT ArraySize; | |
586 DXGI_FORMAT Format; | |
587 D3D10_USAGE Usage; | |
588 UINT BindFlags; | |
589 UINT CPUAccessFlags; | |
590 UINT MiscFlags; | |
591 } | |
592 | |
593 interface ID3D10Texture1D : ID3D10Resource { | |
594 extern(Windows) : | |
595 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, void **ppData); | |
596 void Unmap(UINT Subresource); | |
597 void GetDesc(D3D10_TEXTURE1D_DESC *pDesc); | |
598 } | |
599 | |
600 struct D3D10_TEXTURE2D_DESC { | |
601 UINT Width; | |
602 UINT Height; | |
603 UINT MipLevels; | |
604 UINT ArraySize; | |
605 DXGI_FORMAT Format; | |
606 DXGI_SAMPLE_DESC SampleDesc; | |
607 D3D10_USAGE Usage; | |
608 UINT BindFlags; | |
609 UINT CPUAccessFlags; | |
610 UINT MiscFlags; | |
611 } | |
612 | |
613 struct D3D10_MAPPED_TEXTURE2D { | |
614 void *pData; | |
615 UINT RowPitch; | |
616 } | |
617 | |
618 interface ID3D10Texture2D : ID3D10Resource { | |
619 extern(Windows) : | |
620 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE2D *pMappedTex2D); | |
621 void Unmap(UINT Subresource); | |
622 void GetDesc(D3D10_TEXTURE2D_DESC *pDesc); | |
623 } | |
624 | |
625 struct D3D10_TEXTURE3D_DESC { | |
626 UINT Width; | |
627 UINT Height; | |
628 UINT Depth; | |
629 UINT MipLevels; | |
630 DXGI_FORMAT Format; | |
631 D3D10_USAGE Usage; | |
632 UINT BindFlags; | |
633 UINT CPUAccessFlags; | |
634 UINT MiscFlags; | |
635 } | |
636 | |
637 struct D3D10_MAPPED_TEXTURE3D { | |
638 void *pData; | |
639 UINT RowPitch; | |
640 UINT DepthPitch; | |
641 } | |
642 | |
643 interface ID3D10Texture3D : ID3D10Resource { | |
644 extern(Windows) : | |
645 HRESULT Map(UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE3D *pMappedTex3D); | |
646 void Unmap(UINT Subresource); | |
647 void GetDesc(D3D10_TEXTURE3D_DESC *pDesc); | |
648 } | |
649 | |
650 enum D3D10_TEXTURECUBE_FACE { | |
651 D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0, | |
652 D3D10_TEXTURECUBE_FACE_NEGATIVE_X, | |
653 D3D10_TEXTURECUBE_FACE_POSITIVE_Y, | |
654 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y, | |
655 D3D10_TEXTURECUBE_FACE_POSITIVE_Z, | |
656 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z | |
657 } | |
658 | |
659 interface ID3D10View : ID3D10DeviceChild { | |
660 extern(Windows) : | |
661 void GetResource(ID3D10Resource *ppResource); | |
662 } | |
663 | |
664 struct D3D10_BUFFER_SRV { | |
665 UINT ElementOffset; | |
666 UINT ElementWidth; | |
667 } | |
668 | |
669 struct D3D10_TEX1D_SRV { | |
670 UINT MostDetailedMip; | |
671 UINT MipLevels; | |
672 } | |
673 | |
674 struct D3D10_TEX1D_ARRAY_SRV { | |
675 UINT MostDetailedMip; | |
676 UINT MipLevels; | |
677 UINT FirstArraySlice; | |
678 UINT ArraySize; | |
679 } | |
680 | |
681 struct D3D10_TEX2D_SRV { | |
682 UINT MostDetailedMip; | |
683 UINT MipLevels; | |
684 } | |
685 | |
686 struct D3D10_TEX2D_ARRAY_SRV { | |
687 UINT MostDetailedMip; | |
688 UINT MipLevels; | |
689 UINT FirstArraySlice; | |
690 UINT ArraySize; | |
691 } | |
692 | |
693 struct D3D10_TEX3D_SRV { | |
694 UINT MostDetailedMip; | |
695 UINT MipLevels; | |
696 } | |
697 | |
698 struct D3D10_TEXCUBE_SRV { | |
699 UINT MostDetailedMip; | |
700 UINT MipLevels; | |
701 } | |
702 | |
703 struct D3D10_TEX2DMS_SRV { | |
704 UINT UnusedField_NothingToDefine; | |
705 } | |
706 | |
707 struct D3D10_TEX2DMS_ARRAY_SRV { | |
708 UINT FirstArraySlice; | |
709 UINT ArraySize; | |
710 } | |
711 | |
712 struct D3D10_SHADER_RESOURCE_VIEW_DESC { | |
713 DXGI_FORMAT Format; | |
714 D3D10_SRV_DIMENSION ViewDimension; | |
715 union { | |
716 D3D10_BUFFER_SRV Buffer; | |
717 D3D10_TEX1D_SRV Texture1D; | |
718 D3D10_TEX1D_ARRAY_SRV Texture1DArray; | |
719 D3D10_TEX2D_SRV Texture2D; | |
720 D3D10_TEX2D_ARRAY_SRV Texture2DArray; | |
721 D3D10_TEX2DMS_SRV Texture2DMS; | |
722 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray; | |
723 D3D10_TEX3D_SRV Texture3D; | |
724 D3D10_TEXCUBE_SRV TextureCube; | |
725 } | |
726 } | |
727 | |
728 interface ID3D10ShaderResourceView : ID3D10View { | |
729 extern(Windows) : | |
730 void GetDesc(D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc); | |
731 } | |
732 | |
733 struct D3D10_BUFFER_RTV { | |
734 UINT ElementOffset; | |
735 UINT ElementWidth; | |
736 } | |
737 | |
738 struct D3D10_TEX1D_RTV { | |
739 UINT MipSlice; | |
740 } | |
741 | |
742 struct D3D10_TEX1D_ARRAY_RTV { | |
743 UINT MipSlice; | |
744 UINT FirstArraySlice; | |
745 UINT ArraySize; | |
746 } | |
747 | |
748 struct D3D10_TEX2D_RTV { | |
749 UINT MipSlice; | |
750 } | |
751 | |
752 struct D3D10_TEX2DMS_RTV { | |
753 UINT UnusedField_NothingToDefine; | |
754 } | |
755 | |
756 struct D3D10_TEX2D_ARRAY_RTV { | |
757 UINT MipSlice; | |
758 UINT FirstArraySlice; | |
759 UINT ArraySize; | |
760 } | |
761 | |
762 struct D3D10_TEX2DMS_ARRAY_RTV { | |
763 UINT FirstArraySlice; | |
764 UINT ArraySize; | |
765 } | |
766 | |
767 struct D3D10_TEX3D_RTV { | |
768 UINT MipSlice; | |
769 UINT FirstWSlice; | |
770 UINT WSize; | |
771 } | |
772 | |
773 struct D3D10_RENDER_TARGET_VIEW_DESC { | |
774 DXGI_FORMAT Format; | |
775 D3D10_RTV_DIMENSION ViewDimension; | |
776 union { | |
777 D3D10_BUFFER_RTV Buffer; | |
778 D3D10_TEX1D_RTV Texture1D; | |
779 D3D10_TEX1D_ARRAY_RTV Texture1DArray; | |
780 D3D10_TEX2D_RTV Texture2D; | |
781 D3D10_TEX2D_ARRAY_RTV Texture2DArray; | |
782 D3D10_TEX2DMS_RTV Texture2DMS; | |
783 D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray; | |
784 D3D10_TEX3D_RTV Texture3D; | |
785 } | |
786 } | |
787 | |
788 interface ID3D10RenderTargetView : ID3D10View { | |
789 extern(Windows) : | |
790 void GetDesc(D3D10_RENDER_TARGET_VIEW_DESC *pDesc); | |
791 } | |
792 | |
793 struct D3D10_TEX1D_DSV { | |
794 UINT MipSlice; | |
795 } | |
796 | |
797 struct D3D10_TEX1D_ARRAY_DSV { | |
798 UINT MipSlice; | |
799 UINT FirstArraySlice; | |
800 UINT ArraySize; | |
801 } | |
802 | |
803 struct D3D10_TEX2D_DSV { | |
804 UINT MipSlice; | |
805 } | |
806 | |
807 struct D3D10_TEX2D_ARRAY_DSV { | |
808 UINT MipSlice; | |
809 UINT FirstArraySlice; | |
810 UINT ArraySize; | |
811 } | |
812 | |
813 struct D3D10_TEX2DMS_DSV { | |
814 UINT UnusedField_NothingToDefine; | |
815 } | |
816 | |
817 struct D3D10_TEX2DMS_ARRAY_DSV { | |
818 UINT FirstArraySlice; | |
819 UINT ArraySize; | |
820 } | |
821 | |
822 struct D3D10_DEPTH_STENCIL_VIEW_DESC { | |
823 DXGI_FORMAT Format; | |
824 D3D10_DSV_DIMENSION ViewDimension; | |
825 union { | |
826 D3D10_TEX1D_DSV Texture1D; | |
827 D3D10_TEX1D_ARRAY_DSV Texture1DArray; | |
828 D3D10_TEX2D_DSV Texture2D; | |
829 D3D10_TEX2D_ARRAY_DSV Texture2DArray; | |
830 D3D10_TEX2DMS_DSV Texture2DMS; | |
831 D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray; | |
832 } | |
833 } | |
834 | |
835 interface ID3D10DepthStencilView : ID3D10View { | |
836 extern(Windows) : | |
837 void GetDesc(D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc); | |
838 } | |
839 | |
840 interface ID3D10VertexShader : ID3D10DeviceChild { } | |
841 | |
842 interface ID3D10GeometryShader : ID3D10DeviceChild { } | |
843 | |
844 interface ID3D10PixelShader : ID3D10DeviceChild { } | |
845 | |
846 interface ID3D10InputLayout : ID3D10DeviceChild { } | |
847 | |
848 enum D3D10_FILTER { | |
849 D3D10_FILTER_MIN_MAG_MIP_POINT = 0x00, | |
850 D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01, | |
851 D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04, | |
852 D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05, | |
853 D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, | |
854 D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, | |
855 D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, | |
856 D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15, | |
857 D3D10_FILTER_ANISOTROPIC = 0x55, | |
858 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, | |
859 D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, | |
860 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, | |
861 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, | |
862 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, | |
863 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, | |
864 D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, | |
865 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, | |
866 D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5, | |
867 D3D10_FILTER_TEXT_1BIT = 0x80000000 | |
868 } | |
869 | |
870 | |
871 enum D3D10_FILTER_TYPE { | |
872 D3D10_FILTER_TYPE_POINT = 0, | |
873 D3D10_FILTER_TYPE_LINEAR | |
874 } | |
875 | |
876 const D3D10_FILTER_TYPE_MASK = 0x03; | |
877 | |
878 const D3D10_MIN_FILTER_SHIFT = 4; | |
879 | |
880 const D3D10_MAG_FILTER_SHIFT = 2; | |
881 | |
882 const D3D10_MIP_FILTER_SHIFT = 0; | |
883 | |
884 const D3D10_COMPARISON_FILTERING_BIT = 0x80; | |
885 | |
886 const D3D10_ANISOTROPIC_FILTERING_BIT = 0x40; | |
887 | |
888 const D3D10_TEXT_1BIT_BIT = 0x80000000; | |
889 | |
890 D3D10_FILTER D3D10_ENCODE_BASIC_FILTER(int min, int mag, int mip, bool bComparison) { | |
891 return cast(D3D10_FILTER)(((bComparison) ? D3D10_COMPARISON_FILTERING_BIT : 0) | | |
892 ((min & D3D10_FILTER_TYPE_MASK) << D3D10_MIN_FILTER_SHIFT) | | |
893 ((mag & D3D10_FILTER_TYPE_MASK) << D3D10_MAG_FILTER_SHIFT) | | |
894 ((mip & D3D10_FILTER_TYPE_MASK) << D3D10_MIP_FILTER_SHIFT)); | |
895 } | |
896 | |
897 D3D10_FILTER D3D10_ENCODE_ANISOTROPIC_FILTER(bool bComparison) { | |
898 return cast(D3D10_FILTER)(D3D10_ANISOTROPIC_FILTERING_BIT | | |
899 D3D10_ENCODE_BASIC_FILTER(D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR, | |
900 D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR, D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR, | |
901 bComparison)); | |
902 } | |
903 | |
904 D3D10_FILTER_TYPE D3D10_DECODE_MIN_FILTER(D3D10_FILTER d3d10Filter) { | |
905 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MIN_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); | |
906 } | |
907 | |
908 D3D10_FILTER_TYPE D3D10_DECODE_MAG_FILTER(D3D10_FILTER d3d10Filter) { | |
909 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MAG_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); | |
910 } | |
911 | |
912 D3D10_FILTER_TYPE D3D10_DECODE_MIP_FILTER(D3D10_FILTER d3d10Filter) { | |
913 return cast(D3D10_FILTER_TYPE)((d3d10Filter >> D3D10_MIP_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); | |
914 } | |
915 | |
916 bool D3D10_DECODE_IS_COMPARISON_FILTER(D3D10_FILTER d3d10Filter) { | |
917 return (d3d10Filter & D3D10_COMPARISON_FILTERING_BIT) == D3D10_COMPARISON_FILTERING_BIT; | |
918 } | |
919 | |
920 bool D3D10_DECODE_IS_ANISOTROPIC_FILTER(D3D10_FILTER d3d10Filter) { | |
921 return ((d3d10Filter & D3D10_ANISOTROPIC_FILTERING_BIT) && | |
922 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER(d3d10Filter)) && | |
923 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER(d3d10Filter)) && | |
924 (D3D10_FILTER_TYPE.D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER(d3d10Filter))); | |
925 } | |
926 | |
927 bool D3D10_DECODE_IS_TEXT_1BIT_FILTER(D3D10_FILTER d3d10Filter) { | |
928 return d3d10Filter == D3D10_TEXT_1BIT_BIT; | |
929 } | |
930 | |
931 enum D3D10_TEXTURE_ADDRESS_MODE { | |
932 D3D10_TEXTURE_ADDRESS_WRAP = 1, | |
933 D3D10_TEXTURE_ADDRESS_MIRROR, | |
934 D3D10_TEXTURE_ADDRESS_CLAMP, | |
935 D3D10_TEXTURE_ADDRESS_BORDER, | |
936 D3D10_TEXTURE_ADDRESS_MIRROR_ONCE | |
937 } | |
938 | |
939 struct D3D10_SAMPLER_DESC { | |
940 D3D10_FILTER Filter; | |
941 D3D10_TEXTURE_ADDRESS_MODE AddressU; | |
942 D3D10_TEXTURE_ADDRESS_MODE AddressV; | |
943 D3D10_TEXTURE_ADDRESS_MODE AddressW; | |
944 FLOAT MipLODBias; | |
945 UINT MaxAnisotropy; | |
946 D3D10_COMPARISON_FUNC ComparisonFunc; | |
947 FLOAT[4] BorderColor; | |
948 FLOAT MinLOD; | |
949 FLOAT MaxLOD; | |
950 } | |
951 | |
952 interface ID3D10SamplerState : ID3D10DeviceChild { | |
953 extern(Windows) : | |
954 void GetDesc(D3D10_SAMPLER_DESC *pDesc); | |
955 } | |
956 | |
957 enum D3D10_FORMAT_SUPPORT { | |
958 D3D10_FORMAT_SUPPORT_BUFFER = 0x000001, | |
959 D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x000002, | |
960 D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x000004, | |
961 D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x000008, | |
962 D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x000010, | |
963 D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x000020, | |
964 D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x000040, | |
965 D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x000080, | |
966 D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x000100, | |
967 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x000200, | |
968 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x000400, | |
969 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x000800, | |
970 D3D10_FORMAT_SUPPORT_MIP = 0x001000, | |
971 D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x002000, | |
972 D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x004000, | |
973 D3D10_FORMAT_SUPPORT_BLENDABLE = 0x008000, | |
974 D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x010000, | |
975 D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x020000, | |
976 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x040000, | |
977 D3D10_FORMAT_SUPPORT_DISPLAY = 0x080000, | |
978 D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, | |
979 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, | |
980 D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, | |
981 D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x800000 | |
982 } | |
983 | |
984 interface ID3D10Asynchronous : ID3D10DeviceChild { | |
985 extern(Windows) : | |
986 void Begin(); | |
987 void End(); | |
988 HRESULT GetData(void *pData, UINT DataSize, UINT GetDataFlags); | |
989 UINT GetDataSize(); | |
990 } | |
991 | |
992 enum D3D10_ASYNC_GETDATA_FLAG { | |
993 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1 | |
994 } | |
995 | |
996 enum D3D10_QUERY { | |
997 D3D10_QUERY_EVENT = 0, | |
998 D3D10_QUERY_OCCLUSION = (D3D10_QUERY_EVENT + 1), | |
999 D3D10_QUERY_TIMESTAMP = (D3D10_QUERY_OCCLUSION + 1), | |
1000 D3D10_QUERY_TIMESTAMP_DISJOINT = (D3D10_QUERY_TIMESTAMP + 1), | |
1001 D3D10_QUERY_PIPELINE_STATISTICS = (D3D10_QUERY_TIMESTAMP_DISJOINT + 1), | |
1002 D3D10_QUERY_OCCLUSION_PREDICATE = (D3D10_QUERY_PIPELINE_STATISTICS + 1), | |
1003 D3D10_QUERY_SO_STATISTICS = (D3D10_QUERY_OCCLUSION_PREDICATE + 1), | |
1004 D3D10_QUERY_SO_OVERFLOW_PREDICATE = (D3D10_QUERY_SO_STATISTICS + 1) | |
1005 } | |
1006 | |
1007 enum D3D10_QUERY_MISC_FLAG { | |
1008 D3D10_QUERY_MISC_PREDICATEHINT = 0x01 | |
1009 } | |
1010 | |
1011 struct D3D10_QUERY_DESC { | |
1012 D3D10_QUERY Query; | |
1013 UINT MiscFlags; | |
1014 } | |
1015 | |
1016 interface ID3D10Query : ID3D10Asynchronous { | |
1017 extern(Windows) : | |
1018 void GetDesc(D3D10_QUERY_DESC *pDesc); | |
1019 } | |
1020 | |
1021 interface ID3D10Predicate : ID3D10Query { } | |
1022 | |
1023 struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT { | |
1024 UINT64 Frequency; | |
1025 BOOL Disjoint; | |
1026 } | |
1027 | |
1028 struct D3D10_QUERY_DATA_PIPELINE_STATISTICS { | |
1029 UINT64 IAVertices; | |
1030 UINT64 IAPrimitives; | |
1031 UINT64 VSInvocations; | |
1032 UINT64 GSInvocations; | |
1033 UINT64 GSPrimitives; | |
1034 UINT64 CInvocations; | |
1035 UINT64 CPrimitives; | |
1036 UINT64 PSInvocations; | |
1037 } | |
1038 | |
1039 struct D3D10_QUERY_DATA_SO_STATISTICS { | |
1040 UINT64 NumPrimitivesWritten; | |
1041 UINT64 PrimitivesStorageNeeded; | |
1042 } | |
1043 | |
1044 enum D3D10_COUNTER { | |
1045 D3D10_COUNTER_GPU_IDLE = 0, | |
1046 D3D10_COUNTER_VERTEX_PROCESSING = (D3D10_COUNTER_GPU_IDLE + 1), | |
1047 D3D10_COUNTER_GEOMETRY_PROCESSING = (D3D10_COUNTER_VERTEX_PROCESSING + 1), | |
1048 D3D10_COUNTER_PIXEL_PROCESSING = (D3D10_COUNTER_GEOMETRY_PROCESSING + 1), | |
1049 D3D10_COUNTER_OTHER_GPU_PROCESSING = (D3D10_COUNTER_PIXEL_PROCESSING + 1), | |
1050 D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = (D3D10_COUNTER_OTHER_GPU_PROCESSING + 1), | |
1051 D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = (D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1), | |
1052 D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = (D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1), | |
1053 D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = (D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1), | |
1054 D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = (D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1), | |
1055 D3D10_COUNTER_VS_MEMORY_LIMITED = (D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1), | |
1056 D3D10_COUNTER_VS_COMPUTATION_LIMITED = (D3D10_COUNTER_VS_MEMORY_LIMITED + 1), | |
1057 D3D10_COUNTER_GS_MEMORY_LIMITED = (D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1), | |
1058 D3D10_COUNTER_GS_COMPUTATION_LIMITED = (D3D10_COUNTER_GS_MEMORY_LIMITED + 1), | |
1059 D3D10_COUNTER_PS_MEMORY_LIMITED = (D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1), | |
1060 D3D10_COUNTER_PS_COMPUTATION_LIMITED = (D3D10_COUNTER_PS_MEMORY_LIMITED + 1), | |
1061 D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = (D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1), | |
1062 D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = (D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1), | |
1063 D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000 | |
1064 } | |
1065 | |
1066 enum D3D10_COUNTER_TYPE { | |
1067 D3D10_COUNTER_TYPE_FLOAT32 = 0, | |
1068 D3D10_COUNTER_TYPE_UINT16 = (D3D10_COUNTER_TYPE_FLOAT32 + 1), | |
1069 D3D10_COUNTER_TYPE_UINT32 = (D3D10_COUNTER_TYPE_UINT16 + 1), | |
1070 D3D10_COUNTER_TYPE_UINT64 = (D3D10_COUNTER_TYPE_UINT32 + 1) | |
1071 } | |
1072 | |
1073 struct D3D10_COUNTER_DESC { | |
1074 D3D10_COUNTER Counter; | |
1075 UINT MiscFlags; | |
1076 } | |
1077 | |
1078 struct D3D10_COUNTER_INFO { | |
1079 D3D10_COUNTER LastDeviceDependentCounter; | |
1080 UINT NumSimultaneousCounters; | |
1081 UINT8 NumDetectableParallelUnits; | |
1082 } | |
1083 | |
1084 interface ID3D10Counter : ID3D10Asynchronous { | |
1085 extern(Windows) : | |
1086 void GetDesc(D3D10_COUNTER_DESC *pDesc); | |
1087 } | |
1088 | |
1089 interface ID3D10Device : IUnknown { | |
1090 extern(Windows) : | |
1091 void VSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1092 void PSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1093 void PSSetShader(ID3D10PixelShader pPixelShader); | |
1094 void PSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1095 void VSSetShader(ID3D10VertexShader pVertexShader); | |
1096 void DrawIndexed(UINT IndexCount, UINT StartIndexLocation, INT BaseVertexLocation); | |
1097 void Draw(UINT VertexCount, UINT StartVertexLocation); | |
1098 void PSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1099 void IASetInputLayout(ID3D10InputLayout pInputLayout); | |
1100 void IASetVertexBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppVertexBuffers, UINT* pStrides, UINT* pOffsets); | |
1101 void IASetIndexBuffer(ID3D10Buffer pIndexBuffer, DXGI_FORMAT Format, UINT Offset); | |
1102 void DrawIndexedInstanced(UINT IndexCountPerInstance, UINT InstanceCount, UINT StartIndexLocation, INT BaseVertexLocation, UINT StartInstanceLocation); | |
1103 void DrawInstanced(UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation); | |
1104 void GSSetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1105 void GSSetShader(ID3D10GeometryShader pShader); | |
1106 void IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY Topology); | |
1107 void VSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1108 void VSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1109 void SetPredication(ID3D10Predicate pPredicate, BOOL PredicateValue); | |
1110 void GSSetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1111 void GSSetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1112 void OMSetRenderTargets(UINT NumViews, ID3D10RenderTargetView* ppRenderTargetViews, ID3D10DepthStencilView pDepthStencilView); | |
1113 void OMSetBlendState(ID3D10BlendState pBlendState, FLOAT[4] BlendFactor, UINT SampleMask); | |
1114 void OMSetDepthStencilState(ID3D10DepthStencilState pDepthStencilState, UINT StencilRef); | |
1115 void SOSetTargets(UINT NumBuffers, ID3D10Buffer* ppSOTargets, UINT* pOffsets); | |
1116 void DrawAuto(); | |
1117 void RSSetState(ID3D10RasterizerState pRasterizerState); | |
1118 void RSSetViewports(UINT NumViewports, D3D10_VIEWPORT* pViewports); | |
1119 void RSSetScissorRects(UINT NumRects, D3D10_RECT* pRects); | |
1120 void CopySubresourceRegion(ID3D10Resource pDstResource, UINT DstSubresource, UINT DstX, UINT DstY, UINT DstZ, ID3D10Resource pSrcResource, UINT SrcSubresource, D3D10_BOX* pSrcBox); | |
1121 void CopyResource(ID3D10Resource pDstResource, ID3D10Resource pSrcResource); | |
1122 void UpdateSubresource(ID3D10Resource pDstResource, UINT DstSubresource, D3D10_BOX* pDstBox, void* pSrcData, UINT SrcRowPitch, UINT SrcDepthPitch); | |
1123 void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4] ColorRGBA); | |
1124 void ClearDepthStencilView(ID3D10DepthStencilView pDepthStencilView, UINT ClearFlags, FLOAT Depth, UINT8 Stencil); | |
1125 void GenerateMips(ID3D10ShaderResourceView pShaderResourceView); | |
1126 void ResolveSubresource(ID3D10Resource pDstResource, UINT DstSubresource, ID3D10Resource pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format); | |
1127 void VSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1128 void PSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1129 void PSGetShader(ID3D10PixelShader* ppPixelShader); | |
1130 void PSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1131 void VSGetShader(ID3D10VertexShader* ppVertexShader); | |
1132 void PSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1133 void IAGetInputLayout(ID3D10InputLayout* ppInputLayout); | |
1134 void IAGetVertexBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppVertexBuffers, UINT* pStrides, UINT* pOffsets); | |
1135 void IAGetIndexBuffer(ID3D10Buffer* pIndexBuffer, DXGI_FORMAT* Format, UINT* Offset); | |
1136 void GSGetConstantBuffers(UINT StartSlot, UINT NumBuffers, ID3D10Buffer* ppConstantBuffers); | |
1137 void GSGetShader(ID3D10GeometryShader* ppGeometryShader); | |
1138 void IAGetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY* pTopology); | |
1139 void VSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1140 void VSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1141 void GetPredication(ID3D10Predicate* ppPredicate, BOOL* pPredicateValue); | |
1142 void GSGetShaderResources(UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView* ppShaderResourceViews); | |
1143 void GSGetSamplers(UINT StartSlot, UINT NumSamplers, ID3D10SamplerState* ppSamplers); | |
1144 void OMGetRenderTargets(UINT NumViews, ID3D10RenderTargetView* ppRenderTargetViews, ID3D10DepthStencilView* ppDepthStencilView); | |
1145 void OMGetBlendState(ID3D10BlendState* ppBlendState, FLOAT BlendFactor[ 4 ], UINT* pSampleMask); | |
1146 void OMGetDepthStencilState(ID3D10DepthStencilState* ppDepthStencilState, UINT* pStencilRef); | |
1147 void SOGetTargets(UINT NumBuffers, ID3D10Buffer* ppSOTargets, UINT* pOffsets); | |
1148 void RSGetState(ID3D10RasterizerState* ppRasterizerState); | |
1149 void RSGetViewports(UINT* NumViewports, D3D10_VIEWPORT* pViewports); | |
1150 void RSGetScissorRects(UINT* NumRects, D3D10_RECT* pRects); | |
1151 HRESULT GetDeviceRemovedReason(); | |
1152 HRESULT SetExceptionMode(UINT RaiseFlags); | |
1153 UINT GetExceptionMode(); | |
1154 HRESULT GetPrivateData(REFGUID guid, UINT* pDataSize, void* pData); | |
1155 HRESULT SetPrivateData(REFGUID guid, UINT DataSize, void* pData); | |
1156 HRESULT SetPrivateDataInterface(REFGUID guid, IUnknown pData); | |
1157 void ClearState(); | |
1158 void Flush(); | |
1159 HRESULT CreateBuffer(D3D10_BUFFER_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Buffer* ppBuffer); | |
1160 HRESULT CreateTexture1D(D3D10_TEXTURE1D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture1D* ppTexture1D); | |
1161 HRESULT CreateTexture2D(D3D10_TEXTURE2D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture2D* ppTexture2D); | |
1162 HRESULT CreateTexture3D(D3D10_TEXTURE3D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture3D* ppTexture3D); | |
1163 HRESULT CreateShaderResourceView(ID3D10Resource pResource, D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D10ShaderResourceView* ppSRView); | |
1164 HRESULT CreateRenderTargetView(ID3D10Resource pResource, D3D10_RENDER_TARGET_VIEW_DESC* pDesc, ID3D10RenderTargetView* ppRTView); | |
1165 HRESULT CreateDepthStencilView(ID3D10Resource pResource, D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D10DepthStencilView* ppDepthStencilView); | |
1166 HRESULT CreateInputLayout(D3D10_INPUT_ELEMENT_DESC* pInputElementDescs, UINT NumElements, void* pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D10InputLayout* ppInputLayout); | |
1167 HRESULT CreateVertexShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10VertexShader* ppVertexShader); | |
1168 HRESULT CreateGeometryShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10GeometryShader* ppGeometryShader); | |
1169 HRESULT CreateGeometryShaderWithStreamOutput(void* pShaderBytecode, SIZE_T BytecodeLength, D3D10_SO_DECLARATION_ENTRY* pSODeclaration, UINT NumEntries, UINT OutputStreamStride, ID3D10GeometryShader* ppGeometryShader); | |
1170 HRESULT CreatePixelShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10PixelShader* ppPixelShader); | |
1171 HRESULT CreateBlendState(D3D10_BLEND_DESC* pBlendStateDesc, ID3D10BlendState* ppBlendState); | |
1172 HRESULT CreateDepthStencilState(D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D10DepthStencilState* ppDepthStencilState); | |
1173 HRESULT CreateRasterizerState(D3D10_RASTERIZER_DESC* pRasterizerDesc, ID3D10RasterizerState* ppRasterizerState); | |
1174 HRESULT CreateSamplerState(D3D10_SAMPLER_DESC* pSamplerDesc, ID3D10SamplerState* ppSamplerState); | |
1175 HRESULT CreateQuery(D3D10_QUERY_DESC* pQueryDesc, ID3D10Query* ppQuery); | |
1176 HRESULT CreatePredicate(D3D10_QUERY_DESC* pPredicateDesc, ID3D10Predicate* ppPredicate); | |
1177 HRESULT CreateCounter(D3D10_COUNTER_DESC* pCounterDesc, ID3D10Counter* ppCounter); | |
1178 HRESULT CheckFormatSupport(DXGI_FORMAT Format, UINT* pFormatSupport); | |
1179 HRESULT CheckMultisampleQualityLevels(DXGI_FORMAT Format, UINT SampleCount, UINT* pNumQualityLevels); | |
1180 void CheckCounterInfo(D3D10_COUNTER_INFO* pCounterInfo); | |
1181 HRESULT CheckCounter(D3D10_COUNTER_DESC* pDesc, D3D10_COUNTER_TYPE* pType, UINT* pActiveCounters, LPSTR szName, UINT* pNameLength, LPSTR szUnits, UINT* pUnitsLength, LPSTR szDescription, UINT* pDescriptionLength); | |
1182 UINT GetCreationFlags(); | |
1183 HRESULT OpenSharedResource(HANDLE hResource, REFIID ReturnedInterface, void** ppResource); | |
1184 void SetTextFilterSize(UINT Width, UINT Height); | |
1185 void GetTextFilterSize(UINT* pWidth, UINT* pHeight); | |
1186 } | |
1187 | |
1188 interface ID3D10Multithread : IUnknown { | |
1189 extern(Windows) : | |
1190 void Enter(); | |
1191 void Leave(); | |
1192 BOOL SetMultithreadProtected(BOOL bMTProtect); | |
1193 BOOL GetMultithreadProtected(); | |
1194 } | |
1195 | |
1196 enum D3D10_CREATE_DEVICE_FLAG { | |
1197 D3D10_CREATE_DEVICE_SINGLETHREADED = 0x01, | |
1198 D3D10_CREATE_DEVICE_DEBUG = 0x02, | |
1199 D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x04, | |
1200 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x08 | |
1201 } | |
1202 | |
1203 const D3D10_SDK_VERSION = 29; | |
1204 | |
1205 extern(C) const GUID IID_ID3D10DeviceChild = {0x9B7E4C00, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1206 extern(C) const GUID IID_ID3D10DepthStencilState = {0x2B4B1CC8, 0xA4AD, 0x41f8, [0x83, 0x22, 0xCA, 0x86, 0xFC, 0x3E, 0xC6, 0x75]}; | |
1207 extern(C) const GUID IID_ID3D10BlendState = {0xEDAD8D19, 0x8A35, 0x4d6d, [0x85, 0x66, 0x2E, 0xA2, 0x76, 0xCD, 0xE1, 0x61]}; | |
1208 extern(C) const GUID IID_ID3D10RasterizerState = {0xA2A07292, 0x89AF, 0x4345, [0xBE, 0x2E, 0xC5, 0x3D, 0x9F, 0xBB, 0x6E, 0x9F]}; | |
1209 extern(C) const GUID IID_ID3D10Resource = {0x9B7E4C01, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1210 extern(C) const GUID IID_ID3D10Buffer = {0x9B7E4C02, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1211 extern(C) const GUID IID_ID3D10Texture1D = {0x9B7E4C03, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1212 extern(C) const GUID IID_ID3D10Texture2D = {0x9B7E4C04, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1213 extern(C) const GUID IID_ID3D10Texture3D = {0x9B7E4C05, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1214 extern(C) const GUID IID_ID3D10View = {0xC902B03F, 0x60A7, 0x49BA, [0x99, 0x36, 0x2A, 0x3A, 0xB3, 0x7A, 0x7E, 0x33]}; | |
1215 extern(C) const GUID IID_ID3D10ShaderResourceView = {0x9B7E4C07, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1216 extern(C) const GUID IID_ID3D10RenderTargetView = {0x9B7E4C08, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1217 extern(C) const GUID IID_ID3D10DepthStencilView = {0x9B7E4C09, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1218 extern(C) const GUID IID_ID3D10VertexShader = {0x9B7E4C0A, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1219 extern(C) const GUID IID_ID3D10GeometryShader = {0x6316BE88, 0x54CD, 0x4040, [0xAB, 0x44, 0x20, 0x46, 0x1B, 0xC8, 0x1F, 0x68]}; | |
1220 extern(C) const GUID IID_ID3D10PixelShader = {0x4968B601, 0x9D00, 0x4cde, [0x83, 0x46, 0x8E, 0x7F, 0x67, 0x58, 0x19, 0xB6]}; | |
1221 extern(C) const GUID IID_ID3D10InputLayout = {0x9B7E4C0B, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1222 extern(C) const GUID IID_ID3D10SamplerState = {0x9B7E4C0C, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1223 extern(C) const GUID IID_ID3D10Asynchronous = {0x9B7E4C0D, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1224 extern(C) const GUID IID_ID3D10Query = {0x9B7E4C0E, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1225 extern(C) const GUID IID_ID3D10Predicate = {0x9B7E4C10, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1226 extern(C) const GUID IID_ID3D10Counter = {0x9B7E4C11, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1227 extern(C) const GUID IID_ID3D10Device = {0x9B7E4C0F, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1228 extern(C) const GUID IID_ID3D10Multithread = {0x9B7E4E00, 0x342C, 0x4106, [0xA1, 0x9F, 0x4F, 0x27, 0x04, 0xF6, 0x89, 0xF0]}; | |
1229 |