1 /**************************************************************************
3 * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21 * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 **************************************************************************/
35 #if defined __cplusplus
45 tgsi_build_header( void );
48 tgsi_default_processor( void );
53 struct tgsi_header
*header
);
59 struct tgsi_declaration
60 tgsi_default_declaration( void );
62 struct tgsi_declaration
63 tgsi_build_declaration(
70 struct tgsi_header
*header
);
72 struct tgsi_full_declaration
73 tgsi_default_full_declaration( void );
76 tgsi_build_full_declaration(
77 const struct tgsi_full_declaration
*full_decl
,
78 struct tgsi_token
*tokens
,
79 struct tgsi_header
*header
,
82 struct tgsi_declaration_range
83 tgsi_default_declaration_range( void );
85 struct tgsi_declaration_range
86 tgsi_build_declaration_range(
89 struct tgsi_declaration
*declaration
,
90 struct tgsi_header
*header
);
92 struct tgsi_declaration_semantic
93 tgsi_default_declaration_semantic( void );
95 struct tgsi_declaration_semantic
96 tgsi_build_declaration_semantic(
97 unsigned semantic_name
,
98 unsigned semantic_index
,
99 struct tgsi_declaration
*declaration
,
100 struct tgsi_header
*header
);
106 struct tgsi_immediate
107 tgsi_default_immediate( void );
109 struct tgsi_immediate
110 tgsi_build_immediate(
111 struct tgsi_header
*header
);
113 struct tgsi_full_immediate
114 tgsi_default_full_immediate( void );
116 union tgsi_immediate_data
117 tgsi_build_immediate_float32(
119 struct tgsi_immediate
*immediate
,
120 struct tgsi_header
*header
);
123 tgsi_build_full_immediate(
124 const struct tgsi_full_immediate
*full_imm
,
125 struct tgsi_token
*tokens
,
126 struct tgsi_header
*header
,
134 tgsi_default_property( void );
138 unsigned property_name
,
139 struct tgsi_header
*header
);
141 struct tgsi_full_property
142 tgsi_default_full_property( void );
144 struct tgsi_property_data
145 tgsi_build_property_data(
147 struct tgsi_property
*property
,
148 struct tgsi_header
*header
);
151 tgsi_build_full_property(
152 const struct tgsi_full_property
*full_prop
,
153 struct tgsi_token
*tokens
,
154 struct tgsi_header
*header
,
161 struct tgsi_instruction
162 tgsi_default_instruction( void );
164 struct tgsi_instruction
165 tgsi_build_instruction(
169 unsigned num_dst_regs
,
170 unsigned num_src_regs
,
171 struct tgsi_header
*header
);
173 struct tgsi_full_instruction
174 tgsi_default_full_instruction( void );
177 tgsi_build_full_instruction(
178 const struct tgsi_full_instruction
*full_inst
,
179 struct tgsi_token
*tokens
,
180 struct tgsi_header
*header
,
183 struct tgsi_instruction_predicate
184 tgsi_default_instruction_predicate(void);
186 struct tgsi_instruction_predicate
187 tgsi_build_instruction_predicate(int index
,
193 struct tgsi_instruction
*instruction
,
194 struct tgsi_header
*header
);
196 struct tgsi_instruction_label
197 tgsi_default_instruction_label( void );
199 struct tgsi_instruction_label
200 tgsi_build_instruction_label(
202 struct tgsi_token
*prev_token
,
203 struct tgsi_instruction
*instruction
,
204 struct tgsi_header
*header
);
206 struct tgsi_instruction_texture
207 tgsi_default_instruction_texture( void );
209 struct tgsi_instruction_texture
210 tgsi_build_instruction_texture(
212 struct tgsi_token
*prev_token
,
213 struct tgsi_instruction
*instruction
,
214 struct tgsi_header
*header
);
216 struct tgsi_src_register
217 tgsi_default_src_register( void );
219 struct tgsi_src_register
220 tgsi_build_src_register(
231 struct tgsi_instruction
*instruction
,
232 struct tgsi_header
*header
);
234 struct tgsi_full_src_register
235 tgsi_default_full_src_register( void );
238 struct tgsi_dimension
239 tgsi_default_dimension( void );
241 struct tgsi_dimension
242 tgsi_build_dimension(
245 struct tgsi_instruction
*instruction
,
246 struct tgsi_header
*header
);
248 struct tgsi_dst_register
249 tgsi_default_dst_register( void );
251 struct tgsi_dst_register
252 tgsi_build_dst_register(
257 struct tgsi_instruction
*instruction
,
258 struct tgsi_header
*header
);
260 struct tgsi_full_dst_register
261 tgsi_default_full_dst_register( void );
264 #if defined __cplusplus
268 #endif /* TGSI_BUILD_H */