]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d3d11shader/d3d11shader.factor
beb5392e37b1ea302222a6af13066e2bccc6d7d5
[factor.git] / basis / windows / directx / d3d11shader / d3d11shader.factor
1 USING: alien.syntax alien.c-types classes.struct windows.types
2 windows.directx.d3d10shader windows.directx.d3d10
3 windows.directx.d3d11 windows.com windows.com.syntax ;
4 IN: windows.directx.d3d11shader
5
6 LIBRARY: d3d11
7
8 CONSTANT: D3D11_SHVER_PIXEL_SHADER    0
9 CONSTANT: D3D11_SHVER_VERTEX_SHADER   1
10 CONSTANT: D3D11_SHVER_GEOMETRY_SHADER 2
11 CONSTANT: D3D11_SHVER_HULL_SHADER     3
12 CONSTANT: D3D11_SHVER_DOMAIN_SHADER   4
13 CONSTANT: D3D11_SHVER_COMPUTE_SHADER  5
14 TYPEDEF: int D3D11_SHADER_VERSION_TYPE
15
16 CONSTANT: D3D11_RETURN_TYPE_UNORM     1
17 CONSTANT: D3D11_RETURN_TYPE_SNORM     2
18 CONSTANT: D3D11_RETURN_TYPE_SINT      3
19 CONSTANT: D3D11_RETURN_TYPE_UINT      4
20 CONSTANT: D3D11_RETURN_TYPE_FLOAT     5
21 CONSTANT: D3D11_RETURN_TYPE_MIXED     6
22 CONSTANT: D3D11_RETURN_TYPE_DOUBLE    7
23 CONSTANT: D3D11_RETURN_TYPE_CONTINUED 8
24 TYPEDEF: int D3D11_RESOURCE_RETURN_TYPE
25
26 C-ENUM: D3D11_CT_CBUFFER
27         D3D11_CT_TBUFFER
28         D3D11_CT_INTERFACE_POINTERS
29         D3D11_CT_RESOURCE_BIND_INFO ;
30 TYPEDEF: int D3D11_CBUFFER_TYPE
31 TYPEDEF: D3D11_CBUFFER_TYPE* LPD3D11_CBUFFER_TYPE
32
33 STRUCT: D3D11_SIGNATURE_PARAMETER_DESC
34     { SemanticName    LPCSTR                          }
35     { SemanticIndex   UINT                            }
36     { Register        UINT                            }
37     { SystemValueType D3D10_NAME                      }
38     { ComponentType   D3D10_REGISTER_COMPONENT_TYPE   }
39     { Mask            BYTE                            }
40     { ReadWriteMask   BYTE                            }
41     { Stream          UINT                            } ;
42
43 STRUCT: D3D11_SHADER_BUFFER_DESC
44     { Name            LPCSTR                  }
45     { Type            D3D11_CBUFFER_TYPE      }
46     { Variables       UINT                    }
47     { Size            UINT                    }
48     { uFlags          UINT                    } ;
49
50 STRUCT: D3D11_SHADER_VARIABLE_DESC
51     { Name            LPCSTR         }
52     { StartOffset     UINT           }
53     { Size            UINT           }
54     { uFlags          UINT           }
55     { DefaultValue    LPVOID         }
56     { StartTexture    UINT           }
57     { TextureSize     UINT           }
58     { StartSampler    UINT           }
59     { SamplerSize     UINT           } ;
60
61 STRUCT: D3D11_SHADER_TYPE_DESC
62     { Class           D3D10_SHADER_VARIABLE_CLASS    }
63     { Type            D3D10_SHADER_VARIABLE_TYPE     }
64     { Rows            UINT                           }
65     { Columns         UINT                           }
66     { Elements        UINT                           }
67     { Members         UINT                           }
68     { Offset          UINT                           }
69     { Name            LPCSTR                         } ;
70
71 CONSTANT: D3D11_TESSELLATOR_DOMAIN_UNDEFINED 0
72 CONSTANT: D3D11_TESSELLATOR_DOMAIN_ISOLINE   1
73 CONSTANT: D3D11_TESSELLATOR_DOMAIN_TRI       2
74 CONSTANT: D3D11_TESSELLATOR_DOMAIN_QUAD      3
75 TYPEDEF: int D3D11_TESSELLATOR_DOMAIN
76
77 CONSTANT: D3D11_TESSELLATOR_PARTITIONING_UNDEFINED       0
78 CONSTANT: D3D11_TESSELLATOR_PARTITIONING_INTEGER         1
79 CONSTANT: D3D11_TESSELLATOR_PARTITIONING_POW2            2
80 CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD  3
81 CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN 4
82 TYPEDEF: int D3D11_TESSELLATOR_PARTITIONING
83
84 CONSTANT: D3D11_TESSELLATOR_OUTPUT_UNDEFINED    0
85 CONSTANT: D3D11_TESSELLATOR_OUTPUT_POINT        1
86 CONSTANT: D3D11_TESSELLATOR_OUTPUT_LINE         2
87 CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW  3
88 CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW 4
89 TYPEDEF: int D3D11_TESSELLATOR_OUTPUT_PRIMITIVE
90
91 STRUCT: D3D11_SHADER_DESC
92     { Version                     UINT                               }
93     { Creator                     LPCSTR                             }
94     { Flags                       UINT                               }
95     { ConstantBuffers             UINT                               }
96     { BoundResources              UINT                               }
97     { InputParameters             UINT                               }
98     { OutputParameters            UINT                               }
99     { InstructionCount            UINT                               }
100     { TempRegisterCount           UINT                               }
101     { TempArrayCount              UINT                               }
102     { DefCount                    UINT                               }
103     { DclCount                    UINT                               }
104     { TextureNormalInstructions   UINT                               }
105     { TextureLoadInstructions     UINT                               }
106     { TextureCompInstructions     UINT                               }
107     { TextureBiasInstructions     UINT                               }
108     { TextureGradientInstructions UINT                               }
109     { FloatInstructionCount       UINT                               }
110     { IntInstructionCount         UINT                               }
111     { UintInstructionCount        UINT                               }
112     { StaticFlowControlCount      UINT                               }
113     { DynamicFlowControlCount     UINT                               }
114     { MacroInstructionCount       UINT                               }
115     { ArrayInstructionCount       UINT                               }
116     { CutInstructionCount         UINT                               }
117     { EmitInstructionCount        UINT                               }
118     { GSOutputTopology            D3D10_PRIMITIVE_TOPOLOGY           }
119     { GSMaxOutputVertexCount      UINT                               }
120     { InputPrimitive              D3D11_PRIMITIVE                    }
121     { PatchConstantParameters     UINT                               }
122     { cGSInstanceCount            UINT                               }
123     { cControlPoints              UINT                               }
124     { HSOutputPrimitive           D3D11_TESSELLATOR_OUTPUT_PRIMITIVE }
125     { HSPartitioning              D3D11_TESSELLATOR_PARTITIONING     }
126     { TessellatorDomain           D3D11_TESSELLATOR_DOMAIN           }
127     { cBarrierInstructions        UINT                               }
128     { cInterlockedInstructions    UINT                               }
129     { cTextureStoreInstructions   UINT                               } ;
130
131 STRUCT: D3D11_SHADER_INPUT_BIND_DESC
132     { Name                        LPCSTR                        }
133     { Type                        D3D10_SHADER_INPUT_TYPE       }
134     { BindPoint                   UINT                          }
135     { BindCount                   UINT                          }
136     { uFlags                      UINT                          }
137     { ReturnType                  D3D11_RESOURCE_RETURN_TYPE    }
138     { Dimension                   D3D10_SRV_DIMENSION           }
139     { NumSamples                  UINT                          } ;
140
141 COM-INTERFACE: ID3D11ShaderReflectionType f {6E6FFA6A-9BAE-4613-A51E-91652D508C21}
142     HRESULT GetDesc ( D3D11_SHADER_TYPE_DESC* pDesc )
143     ID3D11ShaderReflectionType* GetMemberTypeByIndex ( UINT Index )
144     ID3D11ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name )
145     LPCSTR GetMemberTypeName ( UINT Index )
146     HRESULT IsEqual ( ID3D11ShaderReflectionType* pType )
147     ID3D11ShaderReflectionType* GetSubType ( )
148     ID3D11ShaderReflectionType* GetBaseClass ( )
149     UINT GetNumInterfaces ( )
150     ID3D11ShaderReflectionType* GetInterfaceByIndex ( UINT uIndex )
151     HRESULT IsOfType ( ID3D11ShaderReflectionType* pType )
152     HRESULT ImplementsInterface ( ID3D11ShaderReflectionType* pBase ) ;
153
154 COM-INTERFACE: ID3D11ShaderReflectionVariable f {51F23923-F3E5-4BD1-91CB-606177D8DB4C}
155     HRESULT GetDesc ( D3D11_SHADER_VARIABLE_DESC* pDesc )
156     ID3D11ShaderReflectionType* GetType ( )
157     ID3D11ShaderReflectionConstantBuffer* GetBuffer ( )
158     UINT GetInterfaceSlot ( UINT uArrayIndex ) ;
159
160 COM-INTERFACE: ID3D11ShaderReflectionConstantBuffer f {EB62D63D-93DD-4318-8AE8-C6F83AD371B8}
161     HRESULT GetDesc ( D3D11_SHADER_BUFFER_DESC* pDesc )
162     ID3D11ShaderReflectionVariable* GetVariableByIndex ( UINT Index )
163     ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ;
164
165 COM-INTERFACE: ID3D11ShaderReflection IUnknown {17F27486-A342-4D10-8842-AB0874E7F670}
166     HRESULT GetDesc ( D3D11_SHADER_DESC* pDesc )
167     ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index )
168     ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
169     HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D11_SHADER_INPUT_BIND_DESC* pDesc )
170     HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
171     HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
172     HRESULT GetPatchConstantParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
173     ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name )
174     HRESULT GetResourceBindingDescByName ( LPCSTR Name, D3D11_SHADER_INPUT_BIND_DESC* pDesc )
175     UINT GetMovInstructionCount ( )
176     UINT GetMovcInstructionCount ( )
177     UINT GetConversionInstructionCount ( )
178     UINT GetBitwiseInstructionCount ( )
179     D3D10_PRIMITIVE GetGSInputPrimitive ( )
180     BOOL IsSampleFrequencyShader ( )
181     UINT GetNumInterfaceSlots ( )
182     HRESULT GetMinFeatureLevel ( D3D_FEATURE_LEVEL* pLevel ) ;