diff options
Diffstat (limited to 'contrib/DirectX-Headers/include/directx/d3dcommon.idl')
| -rw-r--r-- | contrib/DirectX-Headers/include/directx/d3dcommon.idl | 911 |
1 files changed, 911 insertions, 0 deletions
diff --git a/contrib/DirectX-Headers/include/directx/d3dcommon.idl b/contrib/DirectX-Headers/include/directx/d3dcommon.idl new file mode 100644 index 0000000..c7bf623 --- /dev/null +++ b/contrib/DirectX-Headers/include/directx/d3dcommon.idl | |||
| @@ -0,0 +1,911 @@ | |||
| 1 | /*------------------------------------------------------------------------------------- | ||
| 2 | * | ||
| 3 | * Copyright (c) Microsoft Corporation | ||
| 4 | * Licensed under the MIT license | ||
| 5 | * | ||
| 6 | *-------------------------------------------------------------------------------------*/ | ||
| 7 | import "OAIdl.idl"; | ||
| 8 | import "OCIdl.idl"; | ||
| 9 | |||
| 10 | //---------------------------------------------------------------------------- | ||
| 11 | // | ||
| 12 | // D3D-version-neutral runtime information. | ||
| 13 | // | ||
| 14 | //---------------------------------------------------------------------------- | ||
| 15 | |||
| 16 | typedef enum D3D_DRIVER_TYPE | ||
| 17 | { | ||
| 18 | D3D_DRIVER_TYPE_UNKNOWN, | ||
| 19 | D3D_DRIVER_TYPE_HARDWARE, | ||
| 20 | D3D_DRIVER_TYPE_REFERENCE, | ||
| 21 | D3D_DRIVER_TYPE_NULL, | ||
| 22 | D3D_DRIVER_TYPE_SOFTWARE, | ||
| 23 | D3D_DRIVER_TYPE_WARP, | ||
| 24 | } D3D_DRIVER_TYPE; | ||
| 25 | |||
| 26 | typedef enum D3D_FEATURE_LEVEL | ||
| 27 | { | ||
| 28 | D3D_FEATURE_LEVEL_1_0_CORE = 0x1000, | ||
| 29 | D3D_FEATURE_LEVEL_9_1 = 0x9100, | ||
| 30 | D3D_FEATURE_LEVEL_9_2 = 0x9200, | ||
| 31 | D3D_FEATURE_LEVEL_9_3 = 0x9300, | ||
| 32 | D3D_FEATURE_LEVEL_10_0 = 0xa000, | ||
| 33 | D3D_FEATURE_LEVEL_10_1 = 0xa100, | ||
| 34 | D3D_FEATURE_LEVEL_11_0 = 0xb000, | ||
| 35 | D3D_FEATURE_LEVEL_11_1 = 0xb100, | ||
| 36 | D3D_FEATURE_LEVEL_12_0 = 0xc000, | ||
| 37 | D3D_FEATURE_LEVEL_12_1 = 0xc100, | ||
| 38 | D3D_FEATURE_LEVEL_12_2 = 0xc200 | ||
| 39 | } D3D_FEATURE_LEVEL; | ||
| 40 | |||
| 41 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048") | ||
| 42 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096") | ||
| 43 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048") | ||
| 44 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096") | ||
| 45 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512") | ||
| 46 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096") | ||
| 47 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256") | ||
| 48 | cpp_quote("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2") | ||
| 49 | cpp_quote("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535") | ||
| 50 | cpp_quote("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575") | ||
| 51 | cpp_quote("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1") | ||
| 52 | cpp_quote("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4") | ||
| 53 | cpp_quote("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128") | ||
| 54 | cpp_quote("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048") | ||
| 55 | cpp_quote("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192") | ||
| 56 | |||
| 57 | typedef enum D3D_PRIMITIVE_TOPOLOGY | ||
| 58 | { | ||
| 59 | D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | ||
| 60 | D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | ||
| 61 | D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, | ||
| 62 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | ||
| 63 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | ||
| 64 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | ||
| 65 | // 6 is reserved for legacy triangle fans | ||
| 66 | // Adjacency values should be equal to (0x8 & non-adjacency): | ||
| 67 | D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | ||
| 68 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | ||
| 69 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | ||
| 70 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | ||
| 71 | D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, | ||
| 72 | D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, | ||
| 73 | D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, | ||
| 74 | D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, | ||
| 75 | D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, | ||
| 76 | D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, | ||
| 77 | D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, | ||
| 78 | D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, | ||
| 79 | D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, | ||
| 80 | D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, | ||
| 81 | D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, | ||
| 82 | D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, | ||
| 83 | D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, | ||
| 84 | D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, | ||
| 85 | D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, | ||
| 86 | D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, | ||
| 87 | D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, | ||
| 88 | D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, | ||
| 89 | D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, | ||
| 90 | D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, | ||
| 91 | D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, | ||
| 92 | D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, | ||
| 93 | D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, | ||
| 94 | D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, | ||
| 95 | D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, | ||
| 96 | D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, | ||
| 97 | D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, | ||
| 98 | D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, | ||
| 99 | D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, | ||
| 100 | D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, | ||
| 101 | D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, | ||
| 102 | D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, | ||
| 103 | |||
| 104 | D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 105 | D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 106 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 107 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 108 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 109 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 110 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 111 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 112 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 113 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 114 | |||
| 115 | D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
| 116 | D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
| 117 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
| 118 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
| 119 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
| 120 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
| 121 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
| 122 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
| 123 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
| 124 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
| 125 | D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST, | ||
| 126 | D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, | ||
| 127 | D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, | ||
| 128 | D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, | ||
| 129 | D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, | ||
| 130 | D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, | ||
| 131 | D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, | ||
| 132 | D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, | ||
| 133 | D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, | ||
| 134 | D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, | ||
| 135 | D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, | ||
| 136 | D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, | ||
| 137 | D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, | ||
| 138 | D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, | ||
| 139 | D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, | ||
| 140 | D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, | ||
| 141 | D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, | ||
| 142 | D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, | ||
| 143 | D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, | ||
| 144 | D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, | ||
| 145 | D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, | ||
| 146 | D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, | ||
| 147 | D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, | ||
| 148 | D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, | ||
| 149 | D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, | ||
| 150 | D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, | ||
| 151 | D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, | ||
| 152 | D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, | ||
| 153 | D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, | ||
| 154 | D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, | ||
| 155 | D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, | ||
| 156 | D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST, | ||
| 157 | } D3D_PRIMITIVE_TOPOLOGY; | ||
| 158 | |||
| 159 | typedef enum D3D_PRIMITIVE | ||
| 160 | { | ||
| 161 | D3D_PRIMITIVE_UNDEFINED = 0, | ||
| 162 | D3D_PRIMITIVE_POINT = 1, | ||
| 163 | D3D_PRIMITIVE_LINE = 2, | ||
| 164 | D3D_PRIMITIVE_TRIANGLE = 3, | ||
| 165 | // Adjacency values should be equal to (0x4 & non-adjacency): | ||
| 166 | D3D_PRIMITIVE_LINE_ADJ = 6, | ||
| 167 | D3D_PRIMITIVE_TRIANGLE_ADJ = 7, | ||
| 168 | D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, | ||
| 169 | D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, | ||
| 170 | D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, | ||
| 171 | D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, | ||
| 172 | D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, | ||
| 173 | D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, | ||
| 174 | D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, | ||
| 175 | D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, | ||
| 176 | D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, | ||
| 177 | D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, | ||
| 178 | D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, | ||
| 179 | D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, | ||
| 180 | D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, | ||
| 181 | D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, | ||
| 182 | D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, | ||
| 183 | D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, | ||
| 184 | D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, | ||
| 185 | D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, | ||
| 186 | D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, | ||
| 187 | D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, | ||
| 188 | D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, | ||
| 189 | D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, | ||
| 190 | D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, | ||
| 191 | D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, | ||
| 192 | D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, | ||
| 193 | D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, | ||
| 194 | D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, | ||
| 195 | D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, | ||
| 196 | D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, | ||
| 197 | D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, | ||
| 198 | D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, | ||
| 199 | D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, | ||
| 200 | |||
| 201 | D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 202 | D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 203 | D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 204 | D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 205 | D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 206 | D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 207 | |||
| 208 | D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
| 209 | D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
| 210 | D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
| 211 | D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
| 212 | D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
| 213 | D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
| 214 | D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH, | ||
| 215 | D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH, | ||
| 216 | D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH, | ||
| 217 | D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH, | ||
| 218 | D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH, | ||
| 219 | D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH, | ||
| 220 | D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH, | ||
| 221 | D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH, | ||
| 222 | D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH, | ||
| 223 | D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH, | ||
| 224 | D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH, | ||
| 225 | D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH, | ||
| 226 | D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH, | ||
| 227 | D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH, | ||
| 228 | D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH, | ||
| 229 | D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH, | ||
| 230 | D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH, | ||
| 231 | D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH, | ||
| 232 | D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH, | ||
| 233 | D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH, | ||
| 234 | D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH, | ||
| 235 | D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH, | ||
| 236 | D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH, | ||
| 237 | D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH, | ||
| 238 | D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH, | ||
| 239 | D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH, | ||
| 240 | D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH, | ||
| 241 | D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH, | ||
| 242 | D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH, | ||
| 243 | D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH, | ||
| 244 | D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH, | ||
| 245 | D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH, | ||
| 246 | } D3D_PRIMITIVE; | ||
| 247 | |||
| 248 | typedef enum D3D_SRV_DIMENSION | ||
| 249 | { | ||
| 250 | D3D_SRV_DIMENSION_UNKNOWN = 0, | ||
| 251 | D3D_SRV_DIMENSION_BUFFER = 1, | ||
| 252 | D3D_SRV_DIMENSION_TEXTURE1D = 2, | ||
| 253 | D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
| 254 | D3D_SRV_DIMENSION_TEXTURE2D = 4, | ||
| 255 | D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
| 256 | D3D_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
| 257 | D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
| 258 | D3D_SRV_DIMENSION_TEXTURE3D = 8, | ||
| 259 | D3D_SRV_DIMENSION_TEXTURECUBE = 9, | ||
| 260 | D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
| 261 | D3D_SRV_DIMENSION_BUFFEREX = 11, | ||
| 262 | |||
| 263 | D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 264 | D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 265 | D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 266 | D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 267 | D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 268 | D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 269 | D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 270 | D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 271 | D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 272 | D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 273 | |||
| 274 | D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 275 | D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 276 | D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 277 | D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 278 | D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 279 | D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 280 | D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 281 | D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 282 | D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 283 | D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 284 | D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 285 | |||
| 286 | D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
| 287 | D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
| 288 | D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
| 289 | D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
| 290 | D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
| 291 | D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
| 292 | D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
| 293 | D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
| 294 | D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
| 295 | D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
| 296 | D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
| 297 | D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX, | ||
| 298 | } D3D_SRV_DIMENSION; | ||
| 299 | |||
| 300 | // Bits in shaders indicating features they use which the runtime checks against current device support: | ||
| 301 | cpp_quote("#define D3D_SHADER_FEATURE_DOUBLES 0x00001") | ||
| 302 | cpp_quote("#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002") | ||
| 303 | cpp_quote("#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004") | ||
| 304 | cpp_quote("#define D3D_SHADER_FEATURE_64_UAVS 0x00008") | ||
| 305 | cpp_quote("#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010") | ||
| 306 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020") | ||
| 307 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040") | ||
| 308 | cpp_quote("#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080") | ||
| 309 | cpp_quote("#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100") | ||
| 310 | cpp_quote("#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200") | ||
| 311 | cpp_quote("#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400") | ||
| 312 | cpp_quote("#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800") | ||
| 313 | cpp_quote("#define D3D_SHADER_FEATURE_ROVS 0x01000") | ||
| 314 | cpp_quote("#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000") | ||
| 315 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000") | ||
| 316 | cpp_quote("#define D3D_SHADER_FEATURE_INT64_OPS 0x08000") | ||
| 317 | cpp_quote("#define D3D_SHADER_FEATURE_VIEW_ID 0x10000") | ||
| 318 | cpp_quote("#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000") | ||
| 319 | cpp_quote("#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000") | ||
| 320 | cpp_quote("#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000") | ||
| 321 | cpp_quote("#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000") | ||
| 322 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000") | ||
| 323 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000") | ||
| 324 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000") | ||
| 325 | cpp_quote("#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000") | ||
| 326 | cpp_quote("#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000") | ||
| 327 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000") | ||
| 328 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000") | ||
| 329 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000") | ||
| 330 | |||
| 331 | // Additional internal shader feature flags are listed in dxbcutils.h (not relevant/useful for public to see) | ||
| 332 | // When adding entries here, make sure they don't conflict with what's there. | ||
| 333 | |||
| 334 | //---------------------------------------------------------------------------- | ||
| 335 | // | ||
| 336 | // Shader compilation information. | ||
| 337 | // | ||
| 338 | //---------------------------------------------------------------------------- | ||
| 339 | |||
| 340 | //---------------------------------------------------------------------------- | ||
| 341 | // D3D_SHADER_MACRO: | ||
| 342 | // ---------- | ||
| 343 | // Preprocessor macro definition. The application pass in a NULL-terminated | ||
| 344 | // array of this structure to various D3D APIs. This enables the application | ||
| 345 | // to #define tokens at runtime, before the file is parsed. | ||
| 346 | //---------------------------------------------------------------------------- | ||
| 347 | |||
| 348 | typedef struct _D3D_SHADER_MACRO | ||
| 349 | { | ||
| 350 | LPCSTR Name; | ||
| 351 | LPCSTR Definition; | ||
| 352 | } D3D_SHADER_MACRO, *LPD3D_SHADER_MACRO; | ||
| 353 | |||
| 354 | //---------------------------------------------------------------------------- | ||
| 355 | // ID3DBlob: | ||
| 356 | // ------------ | ||
| 357 | // The buffer object is used by D3D to return arbitrary size data. | ||
| 358 | // For compatibility with D3D10 this interface is also called ID3D10Blob, | ||
| 359 | // but the version-neutral form is preferred. | ||
| 360 | // | ||
| 361 | // GetBufferPointer - | ||
| 362 | // Returns a pointer to the beginning of the buffer. | ||
| 363 | // | ||
| 364 | // GetBufferSize - | ||
| 365 | // Returns the size of the buffer, in bytes. | ||
| 366 | //---------------------------------------------------------------------------- | ||
| 367 | |||
| 368 | // {8BA5FB08-5195-40e2-AC58-0D989C3A0102} | ||
| 369 | cpp_quote("DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);") | ||
| 370 | |||
| 371 | [ uuid( 8BA5FB08-5195-40e2-AC58-0D989C3A0102 ), object, local, pointer_default( unique ) ] | ||
| 372 | interface ID3D10Blob : IUnknown | ||
| 373 | { | ||
| 374 | LPVOID GetBufferPointer(); | ||
| 375 | SIZE_T GetBufferSize(); | ||
| 376 | }; | ||
| 377 | |||
| 378 | cpp_quote("typedef interface ID3D10Blob* LPD3D10BLOB;") | ||
| 379 | |||
| 380 | typedef ID3D10Blob ID3DBlob; | ||
| 381 | cpp_quote("typedef ID3DBlob* LPD3DBLOB;") | ||
| 382 | cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob") | ||
| 383 | |||
| 384 | // ID3DDestructionNotifier: An interface to QI for, to set a callback which is triggered when the object is fully destroyed | ||
| 385 | typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void* pData); | ||
| 386 | |||
| 387 | [uuid(a06eb39a-50da-425b-8c31-4eecd6c270f3), object, local, pointer_default(unique)] | ||
| 388 | interface ID3DDestructionNotifier | ||
| 389 | : IUnknown | ||
| 390 | { | ||
| 391 | HRESULT RegisterDestructionCallback( | ||
| 392 | [annotation("_In_")] PFN_DESTRUCTION_CALLBACK callbackFn, | ||
| 393 | [annotation("_In_")] void* pData, | ||
| 394 | [annotation("_Out_")] UINT* pCallbackID | ||
| 395 | ); | ||
| 396 | HRESULT UnregisterDestructionCallback( | ||
| 397 | [annotation("_In_")] UINT callbackID | ||
| 398 | ); | ||
| 399 | }; | ||
| 400 | |||
| 401 | typedef enum _D3D_INCLUDE_TYPE | ||
| 402 | { | ||
| 403 | D3D_INCLUDE_LOCAL, | ||
| 404 | D3D_INCLUDE_SYSTEM, | ||
| 405 | |||
| 406 | D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL, | ||
| 407 | D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM, | ||
| 408 | |||
| 409 | // force 32-bit size enum | ||
| 410 | D3D_INCLUDE_FORCE_DWORD = 0x7fffffff | ||
| 411 | } D3D_INCLUDE_TYPE; | ||
| 412 | |||
| 413 | //---------------------------------------------------------------------------- | ||
| 414 | // ID3DInclude: | ||
| 415 | // ------------- | ||
| 416 | // This interface is intended to be implemented by the application, and can | ||
| 417 | // be used by various D3D APIs. This enables application-specific handling | ||
| 418 | // of #include directives in source files. | ||
| 419 | // | ||
| 420 | // Open() | ||
| 421 | // Opens an include file. If successful, it should fill in ppData and | ||
| 422 | // pBytes. The data pointer returned must remain valid until Close is | ||
| 423 | // subsequently called. The name of the file is encoded in UTF-8 format. | ||
| 424 | // Close() | ||
| 425 | // Closes an include file. If Open was successful, Close is guaranteed | ||
| 426 | // to be called before the API using this interface returns. | ||
| 427 | //---------------------------------------------------------------------------- | ||
| 428 | |||
| 429 | cpp_quote("typedef interface ID3DInclude ID3DInclude;") | ||
| 430 | |||
| 431 | cpp_quote("#undef INTERFACE") | ||
| 432 | cpp_quote("#define INTERFACE ID3DInclude") | ||
| 433 | |||
| 434 | cpp_quote("DECLARE_INTERFACE(ID3DInclude)") | ||
| 435 | cpp_quote("{") | ||
| 436 | cpp_quote(" STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;") | ||
| 437 | cpp_quote(" STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;") | ||
| 438 | cpp_quote("};") | ||
| 439 | |||
| 440 | cpp_quote("typedef ID3DInclude* LPD3DINCLUDE;") | ||
| 441 | |||
| 442 | //---------------------------------------------------------------------------- | ||
| 443 | // | ||
| 444 | // Shader reflection information. | ||
| 445 | // | ||
| 446 | //---------------------------------------------------------------------------- | ||
| 447 | |||
| 448 | typedef enum _D3D_SHADER_VARIABLE_CLASS | ||
| 449 | { | ||
| 450 | D3D_SVC_SCALAR, | ||
| 451 | D3D_SVC_VECTOR, | ||
| 452 | D3D_SVC_MATRIX_ROWS, | ||
| 453 | D3D_SVC_MATRIX_COLUMNS, | ||
| 454 | D3D_SVC_OBJECT, | ||
| 455 | D3D_SVC_STRUCT, | ||
| 456 | D3D_SVC_INTERFACE_CLASS, | ||
| 457 | D3D_SVC_INTERFACE_POINTER, | ||
| 458 | |||
| 459 | D3D10_SVC_SCALAR = D3D_SVC_SCALAR, | ||
| 460 | D3D10_SVC_VECTOR = D3D_SVC_VECTOR, | ||
| 461 | D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS, | ||
| 462 | D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS, | ||
| 463 | D3D10_SVC_OBJECT = D3D_SVC_OBJECT, | ||
| 464 | D3D10_SVC_STRUCT = D3D_SVC_STRUCT, | ||
| 465 | |||
| 466 | D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS, | ||
| 467 | D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER, | ||
| 468 | |||
| 469 | // force 32-bit size enum | ||
| 470 | D3D_SVC_FORCE_DWORD = 0x7fffffff | ||
| 471 | } D3D_SHADER_VARIABLE_CLASS; | ||
| 472 | |||
| 473 | typedef enum _D3D_SHADER_VARIABLE_FLAGS | ||
| 474 | { | ||
| 475 | D3D_SVF_USERPACKED = 1, | ||
| 476 | D3D_SVF_USED = 2, | ||
| 477 | |||
| 478 | D3D_SVF_INTERFACE_POINTER = 4, | ||
| 479 | D3D_SVF_INTERFACE_PARAMETER = 8, | ||
| 480 | |||
| 481 | D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED, | ||
| 482 | D3D10_SVF_USED = D3D_SVF_USED, | ||
| 483 | |||
| 484 | D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER, | ||
| 485 | D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER, | ||
| 486 | |||
| 487 | // force 32-bit size enum | ||
| 488 | D3D_SVF_FORCE_DWORD = 0x7fffffff | ||
| 489 | } D3D_SHADER_VARIABLE_FLAGS; | ||
| 490 | |||
| 491 | typedef enum _D3D_SHADER_VARIABLE_TYPE | ||
| 492 | { | ||
| 493 | D3D_SVT_VOID = 0, | ||
| 494 | D3D_SVT_BOOL = 1, | ||
| 495 | D3D_SVT_INT = 2, | ||
| 496 | D3D_SVT_FLOAT = 3, | ||
| 497 | D3D_SVT_STRING = 4, | ||
| 498 | D3D_SVT_TEXTURE = 5, | ||
| 499 | D3D_SVT_TEXTURE1D = 6, | ||
| 500 | D3D_SVT_TEXTURE2D = 7, | ||
| 501 | D3D_SVT_TEXTURE3D = 8, | ||
| 502 | D3D_SVT_TEXTURECUBE = 9, | ||
| 503 | D3D_SVT_SAMPLER = 10, | ||
| 504 | D3D_SVT_SAMPLER1D = 11, | ||
| 505 | D3D_SVT_SAMPLER2D = 12, | ||
| 506 | D3D_SVT_SAMPLER3D = 13, | ||
| 507 | D3D_SVT_SAMPLERCUBE = 14, | ||
| 508 | D3D_SVT_PIXELSHADER = 15, | ||
| 509 | D3D_SVT_VERTEXSHADER = 16, | ||
| 510 | D3D_SVT_PIXELFRAGMENT = 17, | ||
| 511 | D3D_SVT_VERTEXFRAGMENT = 18, | ||
| 512 | D3D_SVT_UINT = 19, | ||
| 513 | D3D_SVT_UINT8 = 20, | ||
| 514 | D3D_SVT_GEOMETRYSHADER = 21, | ||
| 515 | D3D_SVT_RASTERIZER = 22, | ||
| 516 | D3D_SVT_DEPTHSTENCIL = 23, | ||
| 517 | D3D_SVT_BLEND = 24, | ||
| 518 | D3D_SVT_BUFFER = 25, | ||
| 519 | D3D_SVT_CBUFFER = 26, | ||
| 520 | D3D_SVT_TBUFFER = 27, | ||
| 521 | D3D_SVT_TEXTURE1DARRAY = 28, | ||
| 522 | D3D_SVT_TEXTURE2DARRAY = 29, | ||
| 523 | D3D_SVT_RENDERTARGETVIEW = 30, | ||
| 524 | D3D_SVT_DEPTHSTENCILVIEW = 31, | ||
| 525 | |||
| 526 | D3D_SVT_TEXTURE2DMS = 32, | ||
| 527 | D3D_SVT_TEXTURE2DMSARRAY = 33, | ||
| 528 | |||
| 529 | D3D_SVT_TEXTURECUBEARRAY = 34, | ||
| 530 | |||
| 531 | D3D_SVT_HULLSHADER = 35, | ||
| 532 | D3D_SVT_DOMAINSHADER = 36, | ||
| 533 | |||
| 534 | D3D_SVT_INTERFACE_POINTER = 37, | ||
| 535 | D3D_SVT_COMPUTESHADER = 38, | ||
| 536 | |||
| 537 | D3D_SVT_DOUBLE = 39, | ||
| 538 | |||
| 539 | D3D_SVT_RWTEXTURE1D = 40, | ||
| 540 | D3D_SVT_RWTEXTURE1DARRAY = 41, | ||
| 541 | D3D_SVT_RWTEXTURE2D = 42, | ||
| 542 | D3D_SVT_RWTEXTURE2DARRAY = 43, | ||
| 543 | D3D_SVT_RWTEXTURE3D = 44, | ||
| 544 | D3D_SVT_RWBUFFER = 45, | ||
| 545 | |||
| 546 | D3D_SVT_BYTEADDRESS_BUFFER = 46, | ||
| 547 | D3D_SVT_RWBYTEADDRESS_BUFFER = 47, | ||
| 548 | D3D_SVT_STRUCTURED_BUFFER = 48, | ||
| 549 | D3D_SVT_RWSTRUCTURED_BUFFER = 49, | ||
| 550 | D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, | ||
| 551 | D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, | ||
| 552 | |||
| 553 | D3D_SVT_MIN8FLOAT = 52, | ||
| 554 | D3D_SVT_MIN10FLOAT = 53, | ||
| 555 | D3D_SVT_MIN16FLOAT = 54, | ||
| 556 | D3D_SVT_MIN12INT = 55, | ||
| 557 | D3D_SVT_MIN16INT = 56, | ||
| 558 | D3D_SVT_MIN16UINT = 57, | ||
| 559 | |||
| 560 | D3D10_SVT_VOID = D3D_SVT_VOID, | ||
| 561 | D3D10_SVT_BOOL = D3D_SVT_BOOL, | ||
| 562 | D3D10_SVT_INT = D3D_SVT_INT, | ||
| 563 | D3D10_SVT_FLOAT = D3D_SVT_FLOAT, | ||
| 564 | D3D10_SVT_STRING = D3D_SVT_STRING, | ||
| 565 | D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE, | ||
| 566 | D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D, | ||
| 567 | D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D, | ||
| 568 | D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D, | ||
| 569 | D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE, | ||
| 570 | D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER, | ||
| 571 | D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D, | ||
| 572 | D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D, | ||
| 573 | D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D, | ||
| 574 | D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE, | ||
| 575 | D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER, | ||
| 576 | D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER, | ||
| 577 | D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT, | ||
| 578 | D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT, | ||
| 579 | D3D10_SVT_UINT = D3D_SVT_UINT, | ||
| 580 | D3D10_SVT_UINT8 = D3D_SVT_UINT8, | ||
| 581 | D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER, | ||
| 582 | D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER, | ||
| 583 | D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL, | ||
| 584 | D3D10_SVT_BLEND = D3D_SVT_BLEND, | ||
| 585 | D3D10_SVT_BUFFER = D3D_SVT_BUFFER, | ||
| 586 | D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER, | ||
| 587 | D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER, | ||
| 588 | D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY, | ||
| 589 | D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY, | ||
| 590 | D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW, | ||
| 591 | D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW, | ||
| 592 | |||
| 593 | D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS, | ||
| 594 | D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY, | ||
| 595 | |||
| 596 | D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY, | ||
| 597 | |||
| 598 | D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER, | ||
| 599 | D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER, | ||
| 600 | |||
| 601 | D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER, | ||
| 602 | D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER, | ||
| 603 | |||
| 604 | D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE, | ||
| 605 | |||
| 606 | D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D, | ||
| 607 | D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY, | ||
| 608 | D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D, | ||
| 609 | D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY, | ||
| 610 | D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D, | ||
| 611 | D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER, | ||
| 612 | |||
| 613 | D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER, | ||
| 614 | D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER, | ||
| 615 | D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER, | ||
| 616 | D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER, | ||
| 617 | D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER, | ||
| 618 | D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER, | ||
| 619 | |||
| 620 | // force 32-bit size enum | ||
| 621 | D3D_SVT_FORCE_DWORD = 0x7fffffff | ||
| 622 | } D3D_SHADER_VARIABLE_TYPE; | ||
| 623 | |||
| 624 | typedef enum _D3D_SHADER_INPUT_FLAGS | ||
| 625 | { | ||
| 626 | D3D_SIF_USERPACKED = 0x01, | ||
| 627 | D3D_SIF_COMPARISON_SAMPLER = 0x02, // is this a comparison sampler? | ||
| 628 | D3D_SIF_TEXTURE_COMPONENT_0 = 0x04, // this 2-bit value encodes c - 1, where c | ||
| 629 | D3D_SIF_TEXTURE_COMPONENT_1 = 0x08, // is the number of components in the texture | ||
| 630 | D3D_SIF_TEXTURE_COMPONENTS = 0x0c, | ||
| 631 | D3D_SIF_UNUSED = 0x10, | ||
| 632 | |||
| 633 | D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED, | ||
| 634 | D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER, | ||
| 635 | D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0, | ||
| 636 | D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1, | ||
| 637 | D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS, | ||
| 638 | |||
| 639 | // force 32-bit size enum | ||
| 640 | D3D_SIF_FORCE_DWORD = 0x7fffffff | ||
| 641 | } D3D_SHADER_INPUT_FLAGS; | ||
| 642 | |||
| 643 | typedef enum _D3D_SHADER_INPUT_TYPE | ||
| 644 | { | ||
| 645 | D3D_SIT_CBUFFER, | ||
| 646 | D3D_SIT_TBUFFER, | ||
| 647 | D3D_SIT_TEXTURE, | ||
| 648 | D3D_SIT_SAMPLER, | ||
| 649 | D3D_SIT_UAV_RWTYPED, | ||
| 650 | D3D_SIT_STRUCTURED, | ||
| 651 | D3D_SIT_UAV_RWSTRUCTURED, | ||
| 652 | D3D_SIT_BYTEADDRESS, | ||
| 653 | D3D_SIT_UAV_RWBYTEADDRESS, | ||
| 654 | D3D_SIT_UAV_APPEND_STRUCTURED, | ||
| 655 | D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
| 656 | D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
| 657 | D3D_SIT_RTACCELERATIONSTRUCTURE, | ||
| 658 | D3D_SIT_UAV_FEEDBACKTEXTURE, | ||
| 659 | |||
| 660 | D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER, | ||
| 661 | D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER, | ||
| 662 | D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE, | ||
| 663 | D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER, | ||
| 664 | |||
| 665 | D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED, | ||
| 666 | D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED, | ||
| 667 | D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED, | ||
| 668 | D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS, | ||
| 669 | D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS, | ||
| 670 | D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED, | ||
| 671 | D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
| 672 | D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
| 673 | } D3D_SHADER_INPUT_TYPE; | ||
| 674 | |||
| 675 | typedef enum _D3D_SHADER_CBUFFER_FLAGS | ||
| 676 | { | ||
| 677 | D3D_CBF_USERPACKED = 1, | ||
| 678 | |||
| 679 | D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED, | ||
| 680 | |||
| 681 | // force 32-bit size enum | ||
| 682 | D3D_CBF_FORCE_DWORD = 0x7fffffff | ||
| 683 | } D3D_SHADER_CBUFFER_FLAGS; | ||
| 684 | |||
| 685 | typedef enum _D3D_CBUFFER_TYPE | ||
| 686 | { | ||
| 687 | D3D_CT_CBUFFER, | ||
| 688 | D3D_CT_TBUFFER, | ||
| 689 | D3D_CT_INTERFACE_POINTERS, | ||
| 690 | D3D_CT_RESOURCE_BIND_INFO, | ||
| 691 | |||
| 692 | D3D10_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 693 | D3D10_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 694 | |||
| 695 | D3D11_CT_CBUFFER = D3D_CT_CBUFFER, | ||
| 696 | D3D11_CT_TBUFFER = D3D_CT_TBUFFER, | ||
| 697 | D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS, | ||
| 698 | D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO, | ||
| 699 | } D3D_CBUFFER_TYPE; | ||
| 700 | |||
| 701 | typedef enum D3D_NAME | ||
| 702 | { | ||
| 703 | D3D_NAME_UNDEFINED = 0, | ||
| 704 | |||
| 705 | // Names meaningful to both HLSL and hardware | ||
| 706 | D3D_NAME_POSITION = 1, | ||
| 707 | D3D_NAME_CLIP_DISTANCE = 2, | ||
| 708 | D3D_NAME_CULL_DISTANCE = 3, | ||
| 709 | D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, | ||
| 710 | D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, | ||
| 711 | D3D_NAME_VERTEX_ID = 6, | ||
| 712 | D3D_NAME_PRIMITIVE_ID = 7, | ||
| 713 | D3D_NAME_INSTANCE_ID = 8, | ||
| 714 | D3D_NAME_IS_FRONT_FACE = 9, | ||
| 715 | D3D_NAME_SAMPLE_INDEX = 10, | ||
| 716 | D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, | ||
| 717 | D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, | ||
| 718 | D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, | ||
| 719 | D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, | ||
| 720 | D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, | ||
| 721 | D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, | ||
| 722 | D3D_NAME_BARYCENTRICS = 23, | ||
| 723 | D3D_NAME_SHADINGRATE = 24, | ||
| 724 | D3D_NAME_CULLPRIMITIVE = 25, | ||
| 725 | |||
| 726 | // Names meaningful to HLSL only | ||
| 727 | D3D_NAME_TARGET = 64, | ||
| 728 | D3D_NAME_DEPTH = 65, | ||
| 729 | D3D_NAME_COVERAGE = 66, | ||
| 730 | D3D_NAME_DEPTH_GREATER_EQUAL = 67, | ||
| 731 | D3D_NAME_DEPTH_LESS_EQUAL = 68, | ||
| 732 | D3D_NAME_STENCIL_REF = 69, | ||
| 733 | D3D_NAME_INNER_COVERAGE = 70, | ||
| 734 | |||
| 735 | D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED, | ||
| 736 | D3D10_NAME_POSITION = D3D_NAME_POSITION, | ||
| 737 | D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE, | ||
| 738 | D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE, | ||
| 739 | D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX, | ||
| 740 | D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX, | ||
| 741 | D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID, | ||
| 742 | D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID, | ||
| 743 | D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID, | ||
| 744 | D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE, | ||
| 745 | D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX, | ||
| 746 | D3D10_NAME_TARGET = D3D_NAME_TARGET, | ||
| 747 | D3D10_NAME_DEPTH = D3D_NAME_DEPTH, | ||
| 748 | D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE, | ||
| 749 | |||
| 750 | D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR, | ||
| 751 | D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR, | ||
| 752 | D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR, | ||
| 753 | D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR, | ||
| 754 | D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR, | ||
| 755 | D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR, | ||
| 756 | D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL, | ||
| 757 | D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL, | ||
| 758 | |||
| 759 | D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF, | ||
| 760 | D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE, | ||
| 761 | |||
| 762 | D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS, | ||
| 763 | D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE, | ||
| 764 | D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE, | ||
| 765 | } D3D_NAME; | ||
| 766 | |||
| 767 | typedef enum D3D_RESOURCE_RETURN_TYPE | ||
| 768 | { | ||
| 769 | D3D_RETURN_TYPE_UNORM = 1, | ||
| 770 | D3D_RETURN_TYPE_SNORM = 2, | ||
| 771 | D3D_RETURN_TYPE_SINT = 3, | ||
| 772 | D3D_RETURN_TYPE_UINT = 4, | ||
| 773 | D3D_RETURN_TYPE_FLOAT = 5, | ||
| 774 | D3D_RETURN_TYPE_MIXED = 6, | ||
| 775 | D3D_RETURN_TYPE_DOUBLE = 7, | ||
| 776 | D3D_RETURN_TYPE_CONTINUED = 8, | ||
| 777 | |||
| 778 | D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 779 | D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 780 | D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 781 | D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 782 | D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 783 | D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 784 | |||
| 785 | D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
| 786 | D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
| 787 | D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
| 788 | D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
| 789 | D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
| 790 | D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
| 791 | D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE, | ||
| 792 | D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED, | ||
| 793 | } D3D_RESOURCE_RETURN_TYPE; | ||
| 794 | |||
| 795 | typedef enum D3D_REGISTER_COMPONENT_TYPE | ||
| 796 | { | ||
| 797 | D3D_REGISTER_COMPONENT_UNKNOWN = 0, | ||
| 798 | D3D_REGISTER_COMPONENT_UINT32 = 1, | ||
| 799 | D3D_REGISTER_COMPONENT_SINT32 = 2, | ||
| 800 | D3D_REGISTER_COMPONENT_FLOAT32 = 3, | ||
| 801 | |||
| 802 | D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN, | ||
| 803 | D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32, | ||
| 804 | D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32, | ||
| 805 | D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32, | ||
| 806 | } D3D_REGISTER_COMPONENT_TYPE; | ||
| 807 | |||
| 808 | typedef enum D3D_TESSELLATOR_DOMAIN | ||
| 809 | { | ||
| 810 | D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0, | ||
| 811 | D3D_TESSELLATOR_DOMAIN_ISOLINE = 1, | ||
| 812 | D3D_TESSELLATOR_DOMAIN_TRI = 2, | ||
| 813 | D3D_TESSELLATOR_DOMAIN_QUAD = 3, | ||
| 814 | |||
| 815 | D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED, | ||
| 816 | D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE, | ||
| 817 | D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI, | ||
| 818 | D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD, | ||
| 819 | } D3D_TESSELLATOR_DOMAIN; | ||
| 820 | |||
| 821 | typedef enum D3D_TESSELLATOR_PARTITIONING | ||
| 822 | { | ||
| 823 | D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0, | ||
| 824 | D3D_TESSELLATOR_PARTITIONING_INTEGER = 1, | ||
| 825 | D3D_TESSELLATOR_PARTITIONING_POW2 = 2, | ||
| 826 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, | ||
| 827 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, | ||
| 828 | |||
| 829 | D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED, | ||
| 830 | D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER, | ||
| 831 | D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2, | ||
| 832 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, | ||
| 833 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, | ||
| 834 | } D3D_TESSELLATOR_PARTITIONING; | ||
| 835 | |||
| 836 | typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE | ||
| 837 | { | ||
| 838 | D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, | ||
| 839 | D3D_TESSELLATOR_OUTPUT_POINT = 1, | ||
| 840 | D3D_TESSELLATOR_OUTPUT_LINE = 2, | ||
| 841 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, | ||
| 842 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, | ||
| 843 | |||
| 844 | D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED, | ||
| 845 | D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT, | ||
| 846 | D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE, | ||
| 847 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, | ||
| 848 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, | ||
| 849 | } D3D_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
| 850 | |||
| 851 | typedef enum D3D_MIN_PRECISION | ||
| 852 | { | ||
| 853 | D3D_MIN_PRECISION_DEFAULT = 0, // Default precision for the shader model | ||
| 854 | D3D_MIN_PRECISION_FLOAT_16 = 1, // Min 16 bit/component float | ||
| 855 | D3D_MIN_PRECISION_FLOAT_2_8 = 2, // Min 10(2.8)bit/comp. float | ||
| 856 | D3D_MIN_PRECISION_RESERVED = 3, // Reserved for future use | ||
| 857 | D3D_MIN_PRECISION_SINT_16 = 4, // Min 16 bit/comp. signed integer | ||
| 858 | D3D_MIN_PRECISION_UINT_16 = 5, // Min 16 bit/comp. unsigned integer | ||
| 859 | |||
| 860 | // These values are abstractions of width only for use in situations | ||
| 861 | // where a general width is needed instead of specific types. They | ||
| 862 | // will never be used in shader operands. | ||
| 863 | D3D_MIN_PRECISION_ANY_16 = 0xf0, | ||
| 864 | D3D_MIN_PRECISION_ANY_10 = 0xf1, | ||
| 865 | } D3D_MIN_PRECISION; | ||
| 866 | |||
| 867 | typedef enum D3D_INTERPOLATION_MODE | ||
| 868 | { | ||
| 869 | D3D_INTERPOLATION_UNDEFINED = 0, | ||
| 870 | D3D_INTERPOLATION_CONSTANT = 1, | ||
| 871 | D3D_INTERPOLATION_LINEAR = 2, | ||
| 872 | D3D_INTERPOLATION_LINEAR_CENTROID = 3, | ||
| 873 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, | ||
| 874 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, | ||
| 875 | D3D_INTERPOLATION_LINEAR_SAMPLE = 6, | ||
| 876 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, | ||
| 877 | } D3D_INTERPOLATION_MODE; | ||
| 878 | |||
| 879 | // Parameter flags. | ||
| 880 | typedef enum _D3D_PARAMETER_FLAGS | ||
| 881 | { | ||
| 882 | D3D_PF_NONE = 0x00000000, | ||
| 883 | D3D_PF_IN = 0x00000001, | ||
| 884 | D3D_PF_OUT = 0x00000002, | ||
| 885 | D3D_PF_FORCE_DWORD = 0x7fffffff | ||
| 886 | } D3D_PARAMETER_FLAGS; | ||
| 887 | |||
| 888 | // Well-Known Private Data IDs (WKPDID_*): | ||
| 889 | |||
| 890 | // WKPDID_D3DDebugObjectName provides a unique name to objects in order to assist the developer during debugging. | ||
| 891 | // | ||
| 892 | // const char c_szName[] = "texture.jpg"; | ||
| 893 | // pObject->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName ); | ||
| 894 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);") | ||
| 895 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);") | ||
| 896 | cpp_quote("DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);") | ||
| 897 | cpp_quote("DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);") | ||
| 898 | |||
| 899 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)") | ||
| 900 | cpp_quote("#define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)") | ||
| 901 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)") | ||
| 902 | cpp_quote("#define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)") | ||
| 903 | |||
| 904 | cpp_quote("#define D3D_COMPONENT_MASK_X 1") | ||
| 905 | cpp_quote("#define D3D_COMPONENT_MASK_Y 2") | ||
| 906 | cpp_quote("#define D3D_COMPONENT_MASK_Z 4") | ||
| 907 | cpp_quote("#define D3D_COMPONENT_MASK_W 8") | ||
| 908 | |||
| 909 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);") // Feature_D3D1XDisplayable | ||
| 910 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);") // Feature_D3D1XDisplayable | ||
| 911 | |||
