]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d3d10shader/d3d10shader.factor
4507441fd0f92dfdbbc60b8d94bf3c0c635a2d5d
[factor.git] / basis / windows / directx / d3d10shader / d3d10shader.factor
1 USING: alien.syntax alien.c-types classes.struct windows.types windows.com
2 windows.com.syntax windows.directx.d3d10 ;
3 IN: windows.directx.d3d10shader
4
5 LIBRARY: d3d10
6
7 CONSTANT: D3D10_SHADER_DEBUG                          1
8 CONSTANT: D3D10_SHADER_SKIP_VALIDATION                2
9 CONSTANT: D3D10_SHADER_SKIP_OPTIMIZATION              4
10 CONSTANT: D3D10_SHADER_PACK_MATRIX_ROW_MAJOR          8
11 CONSTANT: D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR       16
12 CONSTANT: D3D10_SHADER_PARTIAL_PRECISION              32
13 CONSTANT: D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT       64
14 CONSTANT: D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT       128
15 CONSTANT: D3D10_SHADER_NO_PRESHADER                   256
16 CONSTANT: D3D10_SHADER_AVOID_FLOW_CONTROL             512
17 CONSTANT: D3D10_SHADER_PREFER_FLOW_CONTROL            1024
18 CONSTANT: D3D10_SHADER_ENABLE_STRICTNESS              2048
19 CONSTANT: D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 4096
20 CONSTANT: D3D10_SHADER_IEEE_STRICTNESS                8192
21 CONSTANT: D3D10_SHADER_WARNINGS_ARE_ERRORS            262144
22
23 CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL0 16384
24 CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL1 0
25 CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL2 49152
26 CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL3 32768
27
28 STRUCT: D3D10_SHADER_MACRO
29     { Name       LPCSTR }
30     { Definition LPCSTR } ;
31 TYPEDEF: D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO
32
33 CONSTANT: D3D10_SVC_SCALAR            0
34 CONSTANT: D3D10_SVC_VECTOR            1
35 CONSTANT: D3D10_SVC_MATRIX_ROWS       2
36 CONSTANT: D3D10_SVC_MATRIX_COLUMNS    3
37 CONSTANT: D3D10_SVC_OBJECT            4
38 CONSTANT: D3D10_SVC_STRUCT            5
39 CONSTANT: D3D11_SVC_INTERFACE_CLASS   6
40 CONSTANT: D3D11_SVC_INTERFACE_POINTER 7
41 CONSTANT: D3D10_SVC_FORCE_DWORD       HEX: 7fffffff
42 TYPEDEF: int D3D10_SHADER_VARIABLE_CLASS
43 TYPEDEF: D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS
44
45 CONSTANT: D3D10_SVF_USERPACKED        1
46 CONSTANT: D3D10_SVF_USED              2
47 CONSTANT: D3D11_SVF_INTERFACE_POINTER 4
48 CONSTANT: D3D10_SVF_FORCE_DWORD       HEX: 7fffffff
49 TYPEDEF: int D3D10_SHADER_VARIABLE_FLAGS
50 TYPEDEF: D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS
51
52 CONSTANT: D3D10_SVT_VOID              0
53 CONSTANT: D3D10_SVT_BOOL              1
54 CONSTANT: D3D10_SVT_INT               2
55 CONSTANT: D3D10_SVT_FLOAT             3
56 CONSTANT: D3D10_SVT_STRING            4
57 CONSTANT: D3D10_SVT_TEXTURE           5
58 CONSTANT: D3D10_SVT_TEXTURE1D         6
59 CONSTANT: D3D10_SVT_TEXTURE2D         7
60 CONSTANT: D3D10_SVT_TEXTURE3D         8
61 CONSTANT: D3D10_SVT_TEXTURECUBE       9
62 CONSTANT: D3D10_SVT_SAMPLER           10
63 CONSTANT: D3D10_SVT_PIXELSHADER       15
64 CONSTANT: D3D10_SVT_VERTEXSHADER      16
65 CONSTANT: D3D10_SVT_UINT              19
66 CONSTANT: D3D10_SVT_UINT8             20
67 CONSTANT: D3D10_SVT_GEOMETRYSHADER    21
68 CONSTANT: D3D10_SVT_RASTERIZER        22
69 CONSTANT: D3D10_SVT_DEPTHSTENCIL      23
70 CONSTANT: D3D10_SVT_BLEND             24
71 CONSTANT: D3D10_SVT_BUFFER            25
72 CONSTANT: D3D10_SVT_CBUFFER           26
73 CONSTANT: D3D10_SVT_TBUFFER           27
74 CONSTANT: D3D10_SVT_TEXTURE1DARRAY    28
75 CONSTANT: D3D10_SVT_TEXTURE2DARRAY    29
76 CONSTANT: D3D10_SVT_RENDERTARGETVIEW  30
77 CONSTANT: D3D10_SVT_DEPTHSTENCILVIEW  31
78 CONSTANT: D3D10_SVT_TEXTURE2DMS       32
79 CONSTANT: D3D10_SVT_TEXTURE2DMSARRAY  33
80 CONSTANT: D3D10_SVT_TEXTURECUBEARRAY  34
81 CONSTANT: D3D11_SVT_HULLSHADER        35
82 CONSTANT: D3D11_SVT_DOMAINSHADER      36
83 CONSTANT: D3D11_SVT_INTERFACE_POINTER 37
84 CONSTANT: D3D11_SVT_COMPUTESHADER     38
85 CONSTANT: D3D11_SVT_DOUBLE            39
86 CONSTANT: D3D10_SVT_FORCE_DWORD       HEX: 7ffffff
87 TYPEDEF: int D3D10_SHADER_VARIABLE_TYPE
88 TYPEDEF: D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE
89
90 CONSTANT: D3D10_SIF_USERPACKED          1
91 CONSTANT: D3D10_SIF_COMPARISON_SAMPLER  2
92 CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_0 4
93 CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_1 8
94 CONSTANT: D3D10_SIF_TEXTURE_COMPONENTS  12
95 CONSTANT: D3D10_SIF_FORCE_DWORD         HEX: 7ffffff
96 TYPEDEF: int D3D10_SHADER_INPUT_FLAGS
97 TYPEDEF: D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS
98
99 CONSTANT: D3D10_SIT_CBUFFER                       0
100 CONSTANT: D3D10_SIT_TBUFFER                       1
101 CONSTANT: D3D10_SIT_TEXTURE                       2
102 CONSTANT: D3D10_SIT_SAMPLER                       3
103 CONSTANT: D3D11_SIT_UAV_RWTYPED                   4
104 CONSTANT: D3D11_SIT_STRUCTURED                    5
105 CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED              6
106 CONSTANT: D3D11_SIT_BYTEADDRESS                   7
107 CONSTANT: D3D11_SIT_UAV_RWBYTEADDRESS             8
108 CONSTANT: D3D11_SIT_UAV_APPEND_STRUCTURED         9
109 CONSTANT: D3D11_SIT_UAV_CONSUME_STRUCTURED        10
110 CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER 11
111 TYPEDEF: int D3D10_SHADER_INPUT_TYPE
112 TYPEDEF: D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE
113
114 CONSTANT: D3D10_CBF_USERPACKED  1
115 CONSTANT: D3D10_CBF_FORCE_DWORD HEX: 7fffffff
116 TYPEDEF: int D3D10_SHADER_CBUFFER_FLAGS
117 TYPEDEF: D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS
118
119 CONSTANT: D3D10_CT_CBUFFER 0
120 CONSTANT: D3D10_CT_TBUFFER 1
121 TYPEDEF: int D3D10_CBUFFER_TYPE
122 TYPEDEF: D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE
123
124 CONSTANT: D3D10_NAME_UNDEFINED                     0
125 CONSTANT: D3D10_NAME_POSITION                      1
126 CONSTANT: D3D10_NAME_CLIP_DISTANCE                 2
127 CONSTANT: D3D10_NAME_CULL_DISTANCE                 3
128 CONSTANT: D3D10_NAME_RENDER_TARGET_ARRAY_INDEX     4
129 CONSTANT: D3D10_NAME_VIEWPORT_ARRAY_INDEX          5
130 CONSTANT: D3D10_NAME_VERTEX_ID                     6
131 CONSTANT: D3D10_NAME_PRIMITIVE_ID                  7
132 CONSTANT: D3D10_NAME_INSTANCE_ID                   8
133 CONSTANT: D3D10_NAME_IS_FRONT_FACE                 9
134 CONSTANT: D3D10_NAME_SAMPLE_INDEX                  10
135 CONSTANT: D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR    11
136 CONSTANT: D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR  12
137 CONSTANT: D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR     13
138 CONSTANT: D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR   14
139 CONSTANT: D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR  15
140 CONSTANT: D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR 16
141 CONSTANT: D3D10_NAME_TARGET                        64
142 CONSTANT: D3D10_NAME_DEPTH                         65
143 CONSTANT: D3D10_NAME_COVERAGE                      66
144 CONSTANT: D3D11_NAME_DEPTH_GREATER_EQUAL           67
145 CONSTANT: D3D11_NAME_DEPTH_LESS_EQUAL              68
146 TYPEDEF: int D3D10_NAME
147
148 CONSTANT: D3D10_RETURN_TYPE_UNORM 1
149 CONSTANT: D3D10_RETURN_TYPE_SNORM 2
150 CONSTANT: D3D10_RETURN_TYPE_SINT  3
151 CONSTANT: D3D10_RETURN_TYPE_UINT  4
152 CONSTANT: D3D10_RETURN_TYPE_FLOAT 5
153 CONSTANT: D3D10_RETURN_TYPE_MIXED 6
154 TYPEDEF: int D3D10_RESOURCE_RETURN_TYPE
155
156 CONSTANT: D3D10_REGISTER_COMPONENT_UNKNOWN 0
157 CONSTANT: D3D10_REGISTER_COMPONENT_UINT32  1
158 CONSTANT: D3D10_REGISTER_COMPONENT_SINT32  2
159 CONSTANT: D3D10_REGISTER_COMPONENT_FLOAT32 3
160 TYPEDEF: int D3D10_REGISTER_COMPONENT_TYPE
161
162 CONSTANT: D3D10_INCLUDE_LOCAL       0
163 CONSTANT: D3D10_INCLUDE_SYSTEM      1
164 CONSTANT: D3D10_INCLUDE_FORCE_DWORD HEX: 7fffffff
165 TYPEDEF: int D3D10_INCLUDE_TYPE
166 TYPEDEF: D3D10_INCLUDE_TYPE* LPD3D10_INCLUDE_TYPE
167
168 COM-INTERFACE: ID3D10Include f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD}
169     HRESULT Open ( D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes )
170     HRESULT Close ( LPCVOID pData ) ;
171 TYPEDEF: ID3D10Include* LPD3D10INCLUDE
172
173 STRUCT: D3D10_SHADER_DESC
174     { Version                     UINT                     }
175     { Creator                     LPCSTR                   }
176     { Flags                       UINT                     }
177     { ConstantBuffers             UINT                     }
178     { BoundResources              UINT                     }
179     { InputParameters             UINT                     }
180     { OutputParameters            UINT                     }
181     { InstructionCount            UINT                     }
182     { TempRegisterCount           UINT                     }
183     { TempArrayCount              UINT                     }
184     { DefCount                    UINT                     }
185     { DclCount                    UINT                     }
186     { TextureNormalInstructions   UINT                     }
187     { TextureLoadInstructions     UINT                     }
188     { TextureCompInstructions     UINT                     }
189     { TextureBiasInstructions     UINT                     }
190     { TextureGradientInstructions UINT                     }
191     { FloatInstructionCount       UINT                     }
192     { IntInstructionCount         UINT                     }
193     { UintInstructionCount        UINT                     }
194     { StaticFlowControlCount      UINT                     }
195     { DynamicFlowControlCount     UINT                     }
196     { MacroInstructionCount       UINT                     }
197     { ArrayInstructionCount       UINT                     }
198     { CutInstructionCount         UINT                     }
199     { EmitInstructionCount        UINT                     }
200     { GSOutputTopology            D3D10_PRIMITIVE_TOPOLOGY }
201     { GSMaxOutputVertexCount      UINT                     } ;
202
203 STRUCT: D3D10_SHADER_BUFFER_DESC
204     { Name      LPCSTR             }
205     { Type      D3D10_CBUFFER_TYPE }
206     { Variables UINT               }
207     { Size      UINT               }
208     { uFlags    UINT               } ;
209
210 STRUCT: D3D10_SHADER_VARIABLE_DESC
211     { Name         LPCSTR }
212     { StartOffset  UINT   }
213     { Size         UINT   }
214     { uFlags       UINT   }
215     { DefaultValue LPVOID } ;
216
217 STRUCT: D3D10_SHADER_TYPE_DESC
218     { Class    D3D10_SHADER_VARIABLE_CLASS }
219     { Type     D3D10_SHADER_VARIABLE_TYPE  }
220     { Rows     UINT                        }
221     { Columns  UINT                        }
222     { Elements UINT                        }
223     { Members  UINT                        }
224     { Offset   UINT                        } ;
225
226 STRUCT: D3D10_SHADER_INPUT_BIND_DESC
227     { Name       LPCSTR                     }
228     { Type       D3D10_SHADER_INPUT_TYPE    }
229     { BindPoint  UINT                       }
230     { BindCount  UINT                       }
231     { uFlags     UINT                       }
232     { ReturnType D3D10_RESOURCE_RETURN_TYPE }
233     { Dimension  D3D10_SRV_DIMENSION        }
234     { NumSamples UINT                       } ;
235
236 STRUCT: D3D10_SIGNATURE_PARAMETER_DESC
237     { SemanticName    LPCSTR                        }
238     { SemanticIndex   UINT                          }
239     { Register        UINT                          }
240     { SystemValueType D3D10_NAME                    }
241     { ComponentType   D3D10_REGISTER_COMPONENT_TYPE }
242     { Mask            BYTE                          }
243     { ReadWriteMask   BYTE                          } ;
244
245 COM-INTERFACE: ID3D10ShaderReflectionType f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD}
246     HRESULT GetDesc ( D3D10_SHADER_TYPE_DESC* pDesc )
247     ID3D10ShaderReflectionType* GetMemberTypeByIndex ( UINT Index )
248     ID3D10ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name )
249     LPCSTR GetMemberTypeName ( UINT Index ) ;
250
251 COM-INTERFACE: ID3D10ShaderReflectionVariable f {1BF63C95-2650-405d-99C1-3636BD1DA0A1}
252     HRESULT GetDesc ( D3D10_SHADER_VARIABLE_DESC* pDesc )
253     ID3D10ShaderReflectionType* GetType ( ) ;
254
255 COM-INTERFACE: ID3D10ShaderReflectionConstantBuffer f {66C66A94-DDDD-4b62-A66A-F0DA33C2B4D0}
256     HRESULT GetDesc ( D3D10_SHADER_BUFFER_DESC* pDesc )
257     ID3D10ShaderReflectionVariable* GetVariableByIndex ( UINT Index )
258     ID3D10ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ;
259
260 COM-INTERFACE: ID3D10ShaderReflection IUnknown {D40E20B6-F8F7-42ad-AB20-4BAF8F15DFAA}
261     HRESULT GetDesc ( D3D10_SHADER_DESC* pDesc )
262     ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index )
263     ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
264     HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc )
265     HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc )
266     HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) ;
267
268 FUNCTION: 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 ) ;
269 FUNCTION: HRESULT D3D10DisassembleShader ( void* pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob** ppDisassembly ) ;
270 FUNCTION: LPCSTR D3D10GetPixelShaderProfile ( ID3D10Device* pDevice ) ;
271 FUNCTION: LPCSTR D3D10GetVertexShaderProfile ( ID3D10Device* pDevice ) ;
272 FUNCTION: LPCSTR D3D10GetGeometryShaderProfile ( ID3D10Device* pDevice ) ;
273 FUNCTION: HRESULT D3D10ReflectShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection** ppReflector ) ;
274 FUNCTION: HRESULT D3D10PreprocessShader ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include* pInclude, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs ) ;
275 FUNCTION: HRESULT D3D10GetInputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
276 FUNCTION: HRESULT D3D10GetOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
277 FUNCTION: HRESULT D3D10GetInputAndOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
278 FUNCTION: HRESULT D3D10GetShaderDebugInfo ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppDebugInfo ) ;