annotate win32/directx/d3d10shader.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * d3d10shader.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 module win32.directx.d3d10shader;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 private import win32.windows;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 private import win32.directx.d3d10;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 // some forward references...
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14 enum D3D10_PRIMITIVE_TOPOLOGY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 enum D3D10_SRV_DIMENSION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 uint D3D10_TX_VERSION(uint _Major, uint _Minor) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 return ('T' << 24) | ('X' << 16) | (_Major << 8) | _Minor;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 const D3D10_SHADER_DEBUG = 1 << 0;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 const D3D10_SHADER_SKIP_VALIDATION = 1 << 1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 const D3D10_SHADER_SKIP_OPTIMIZATION = 1 << 2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 const D3D10_SHADER_PACK_MATRIX_ROW_MAJOR = 1 << 3;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 const D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR = 1 << 4;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 const D3D10_SHADER_PARTIAL_PRECISION = 1 << 5;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 const D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT = 1 << 6;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 const D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT = 1 << 7;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 const D3D10_SHADER_NO_PRESHADER = 1 << 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 const D3D10_SHADER_AVOID_FLOW_CONTROL = 1 << 9;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 const D3D10_SHADER_PREFER_FLOW_CONTROL = 1 << 10;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 const D3D10_SHADER_ENABLE_STRICTNESS = 1 << 11;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 const D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY = 1 << 12;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 const D3D10_SHADER_IEEE_STRICTNESS = 1 << 13;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 const D3D10_SHADER_OPTIMIZATION_LEVEL0 = 1 << 14;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 const D3D10_SHADER_OPTIMIZATION_LEVEL1 = 0;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 const D3D10_SHADER_OPTIMIZATION_LEVEL2 = (1 << 14) | (1 << 15);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 const D3D10_SHADER_OPTIMIZATION_LEVEL3 = 1 << 15;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 struct D3D10_SHADER_MACRO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 LPCSTR Name;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 LPCSTR Definition;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 enum D3D10_SHADER_VARIABLE_CLASS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 D3D10_SVC_SCALAR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 D3D10_SVC_VECTOR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 D3D10_SVC_MATRIX_ROWS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 D3D10_SVC_MATRIX_COLUMNS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 D3D10_SVC_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 D3D10_SVC_STRUCT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 D3D10_SVC_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 enum D3D10_SHADER_VARIABLE_FLAGS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 D3D10_SVF_USERPACKED = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 D3D10_SVF_USED = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 D3D10_SVF_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 enum D3D10_SHADER_VARIABLE_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 D3D10_SVT_VOID = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 D3D10_SVT_BOOL = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 D3D10_SVT_INT = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 D3D10_SVT_FLOAT = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 D3D10_SVT_STRING = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 D3D10_SVT_TEXTURE = 5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 D3D10_SVT_TEXTURE1D = 6,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 D3D10_SVT_TEXTURE2D = 7,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 D3D10_SVT_TEXTURE3D = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 D3D10_SVT_TEXTURECUBE = 9,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 D3D10_SVT_SAMPLER = 10,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 D3D10_SVT_PIXELSHADER = 15,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 D3D10_SVT_VERTEXSHADER = 16,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 D3D10_SVT_UINT = 19,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 D3D10_SVT_UINT8 = 20,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 D3D10_SVT_GEOMETRYSHADER = 21,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 D3D10_SVT_RASTERIZER = 22,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 D3D10_SVT_DEPTHSTENCIL = 23,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 D3D10_SVT_BLEND = 24,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 D3D10_SVT_BUFFER = 25,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 D3D10_SVT_CBUFFER = 26,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 D3D10_SVT_TBUFFER = 27,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 D3D10_SVT_TEXTURE1DARRAY = 28,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 D3D10_SVT_TEXTURE2DARRAY = 29,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 D3D10_SVT_RENDERTARGETVIEW = 30,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 D3D10_SVT_DEPTHSTENCILVIEW = 31,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 D3D10_SVT_TEXTURE2DMS = 32,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 D3D10_SVT_TEXTURE2DMSARRAY = 33,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 D3D10_SVT_TEXTURECUBEARRAY = 34,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 D3D10_SVT_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 enum D3D10_SHADER_INPUT_FLAGS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 D3D10_SIF_USERPACKED = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 D3D10_SIF_COMPARISON_SAMPLER = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 D3D10_SIF_TEXTURE_COMPONENT_0 = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 D3D10_SIF_TEXTURE_COMPONENT_1 = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 D3D10_SIF_TEXTURE_COMPONENTS = 12,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 D3D10_SIF_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 enum D3D10_SHADER_INPUT_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 D3D10_SIT_CBUFFER,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 D3D10_SIT_TBUFFER,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 D3D10_SIT_TEXTURE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 D3D10_SIT_SAMPLER
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 enum D3D10_SHADER_CBUFFER_FLAGS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 D3D10_CBF_USERPACKED = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 D3D10_CBF_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 enum D3D10_CBUFFER_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 D3D10_CT_CBUFFER,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 D3D10_CT_TBUFFER
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 enum D3D10_NAME {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 D3D10_NAME_UNDEFINED = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 D3D10_NAME_POSITION = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 D3D10_NAME_CLIP_DISTANCE = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 D3D10_NAME_CULL_DISTANCE = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 D3D10_NAME_VERTEX_ID = 6,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 D3D10_NAME_PRIMITIVE_ID = 7,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 D3D10_NAME_INSTANCE_ID = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 D3D10_NAME_IS_FRONT_FACE = 9,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 D3D10_NAME_SAMPLE_INDEX = 10,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 D3D10_NAME_TARGET = 64,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 D3D10_NAME_DEPTH = 65,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 D3D10_NAME_COVERAGE = 66
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 enum D3D10_RESOURCE_RETURN_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 D3D10_RETURN_TYPE_UNORM = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 D3D10_RETURN_TYPE_SNORM,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 D3D10_RETURN_TYPE_SINT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 D3D10_RETURN_TYPE_UINT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 D3D10_RETURN_TYPE_FLOAT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 D3D10_RETURN_TYPE_MIXED
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 enum D3D10_REGISTER_COMPONENT_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 D3D10_REGISTER_COMPONENT_UINT32,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 D3D10_REGISTER_COMPONENT_SINT32,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 D3D10_REGISTER_COMPONENT_FLOAT32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 enum D3D10_INCLUDE_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 D3D10_INCLUDE_LOCAL,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 D3D10_INCLUDE_SYSTEM,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 D3D10_INCLUDE_FORCE_DWORD = 0x7fffffff
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 interface ID3D10Include {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 /* TODO: fix vtbl[0] bug
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 extern(Windows) :
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 HRESULT Open(D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 HRESULT Close(LPCVOID pData);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 struct D3D10_SHADER_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 UINT Version;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 LPCSTR Creator;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 UINT Flags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 UINT ConstantBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 UINT BoundResources;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 UINT InputParameters;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 UINT OutputParameters;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 UINT InstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176 UINT TempRegisterCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 UINT TempArrayCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178 UINT DefCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 UINT DclCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 UINT TextureNormalInstructions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 UINT TextureLoadInstructions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 UINT TextureCompInstructions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 UINT TextureBiasInstructions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184 UINT TextureGradientInstructions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 UINT FloatInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186 UINT IntInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 UINT UintInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188 UINT StaticFlowControlCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 UINT DynamicFlowControlCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190 UINT MacroInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191 UINT ArrayInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192 UINT CutInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 UINT EmitInstructionCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 D3D10_PRIMITIVE_TOPOLOGY GSOutputTopology;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 UINT GSMaxOutputVertexCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 struct D3D10_SHADER_BUFFER_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 LPCSTR Name;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200 D3D10_CBUFFER_TYPE Type;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201 UINT Variables;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202 UINT Size;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 UINT uFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206 struct D3D10_SHADER_VARIABLE_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 LPCSTR Name;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 UINT StartOffset;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 UINT Size;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210 UINT uFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211 LPVOID DefaultValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 struct D3D10_SHADER_TYPE_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215 D3D10_SHADER_VARIABLE_CLASS Class;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 D3D10_SHADER_VARIABLE_TYPE Type;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 UINT Rows;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 UINT Columns;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 UINT Elements;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220 UINT Members;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221 UINT Offset;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 struct D3D10_SHADER_INPUT_BIND_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 LPCSTR Name;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 D3D10_SHADER_INPUT_TYPE Type;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227 UINT BindPoint;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 UINT BindCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
229 UINT uFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
230 D3D10_RESOURCE_RETURN_TYPE ReturnType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
231 D3D10_SRV_DIMENSION Dimension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
232 UINT NumSamples;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
233 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
234
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
235 struct D3D10_SIGNATURE_PARAMETER_DESC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
236 LPCSTR SemanticName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
237 UINT SemanticIndex;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
238 UINT Register;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
239 D3D10_NAME SystemValueType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
240 D3D10_REGISTER_COMPONENT_TYPE ComponentType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
241 BYTE Mask;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
242 BYTE ReadWriteMask;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
243 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
244
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
245 extern(C) const GUID IID_ID3D10ShaderReflectionType = {0xc530ad7d, 0x9b16, 0x4395, [0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd]};
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
246
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
247 interface ID3D10ShaderReflectionType {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
248 /* TODO: fix vtbl[0] bug
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
249 extern(Windows) :
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
250 HRESULT GetDesc(D3D10_SHADER_TYPE_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
251 ID3D10ShaderReflectionType* GetMemberTypeByIndex(UINT Index);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
252 ID3D10ShaderReflectionType* GetMemberTypeByName(LPCSTR Name);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
253 LPCSTR GetMemberTypeName(UINT Index);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
254 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
255 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
256
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
257 extern(C) const GUID IID_ID3D10ShaderReflectionVariable = {0x1bf63c95, 0x2650, 0x405d, [0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1]};
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
258
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
259 interface ID3D10ShaderReflectionVariable {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
260 /* TODO: fix vtbl[0] bug
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
261 extern(Windows) :
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
262 HRESULT GetDesc(D3D10_SHADER_VARIABLE_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
263 ID3D10ShaderReflectionType* GetType();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
264 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
265 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
266
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
267 extern(C) const GUID IID_ID3D10ShaderReflectionConstantBuffer = {0x66c66a94, 0xdddd, 0x4b62, [0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0]};
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
268
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
269 interface ID3D10ShaderReflectionConstantBuffer {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
270 /* TODO: fix vtbl[0] bug
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
271 extern(Windows) :
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
272 HRESULT GetDesc(D3D10_SHADER_BUFFER_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
273 ID3D10ShaderReflectionVariable* GetVariableByIndex(UINT Index);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
274 ID3D10ShaderReflectionVariable* GetVariableByName(LPCSTR Name);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
275 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
276 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
277
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
278 extern(C) const GUID IID_ID3D10ShaderReflection = {0xd40e20b6, 0xf8f7, 0x42ad, [0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa]};
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
279
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
280 interface ID3D10ShaderReflection : IUnknown {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
281 extern(Windows) :
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
282 HRESULT QueryInterface(REFIID iid, LPVOID* ppv);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
283 ULONG AddRef();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
284 ULONG Release();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
285 HRESULT GetDesc(D3D10_SHADER_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
286 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex(UINT Index);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
287 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName(LPCSTR Name);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
288 HRESULT GetResourceBindingDesc(UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
289 HRESULT GetInputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
290 HRESULT GetOutputParameterDesc(UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
291 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
292
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
293 HRESULT D3D10CompileShader(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob* ppShader, ID3D10Blob* ppErrorMsgs);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
294 HRESULT D3D10DisassembleShader(void* pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob* ppDisassembly);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
295 LPCSTR D3D10GetPixelShaderProfile(ID3D10Device pDevice);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
296 LPCSTR D3D10GetVertexShaderProfile(ID3D10Device pDevice);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
297 LPCSTR D3D10GetGeometryShaderProfile(ID3D10Device pDevice);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
298 HRESULT D3D10ReflectShader(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection* ppReflector);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
299 HRESULT D3D10PreprocessShader(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include pInclude, ID3D10Blob* ppShaderText, ID3D10Blob* ppErrorMsgs);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
300 HRESULT D3D10GetInputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
301 HRESULT D3D10GetOutputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
302 HRESULT D3D10GetInputAndOutputSignatureBlob(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppSignatureBlob);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
303 HRESULT D3D10GetShaderDebugInfo(void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob* ppDebugInfo);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
304