tgsi_build.h revision 3ff688ea299581e60caf5d6e1a464f68c717fe83
17279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol/**************************************************************************
27279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol *
37279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
47279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * All Rights Reserved.
57279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol *
67279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * Permission is hereby granted, free of charge, to any person obtaining a
77279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * copy of this software and associated documentation files (the
87279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * "Software"), to deal in the Software without restriction, including
97279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * without limitation the rights to use, copy, modify, merge, publish,
107279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * distribute, sub license, and/or sell copies of the Software, and to
117279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * permit persons to whom the Software is furnished to do so, subject to
127279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * the following conditions:
137279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol *
147279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * The above copyright notice and this permission notice (including the
157279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * next paragraph) shall be included in all copies or substantial portions
167279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * of the Software.
177279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol *
187279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
197279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
207279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
217279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
227279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
237279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
247279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
257279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol *
267279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol **************************************************************************/
277279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol
287279d663e984ae8a243f56c010f175fee9ffccb3Michal Krol#ifndef TGSI_BUILD_H
29ffe58739da9eee2e99682747cc8f26e412c87430michal#define TGSI_BUILD_H
30ffe58739da9eee2e99682747cc8f26e412c87430michal
314f25420bdd834e81a3e22733304efc5261c2998aBrian Paul
324f25420bdd834e81a3e22733304efc5261c2998aBrian Paulstruct tgsi_token;
334f25420bdd834e81a3e22733304efc5261c2998aBrian Paul
344f25420bdd834e81a3e22733304efc5261c2998aBrian Paul
35ffe58739da9eee2e99682747cc8f26e412c87430michal#if defined __cplusplus
36ffe58739da9eee2e99682747cc8f26e412c87430michalextern "C" {
379a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffeJosé Fonseca#endif
38ffe58739da9eee2e99682747cc8f26e412c87430michal
39ffe58739da9eee2e99682747cc8f26e412c87430michal
40ffe58739da9eee2e99682747cc8f26e412c87430michal/*
41ffe58739da9eee2e99682747cc8f26e412c87430michal * header
42ffe58739da9eee2e99682747cc8f26e412c87430michal */
43ffe58739da9eee2e99682747cc8f26e412c87430michal
44ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_header
45ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_header( void );
46ffe58739da9eee2e99682747cc8f26e412c87430michal
47ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_processor
48ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_processor( void );
49ffe58739da9eee2e99682747cc8f26e412c87430michal
50ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_processor
51ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_processor(
5270af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned processor,
53ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
54ffe58739da9eee2e99682747cc8f26e412c87430michal
55ffe58739da9eee2e99682747cc8f26e412c87430michal/*
56ffe58739da9eee2e99682747cc8f26e412c87430michal * declaration
57ffe58739da9eee2e99682747cc8f26e412c87430michal */
58ffe58739da9eee2e99682747cc8f26e412c87430michal
59ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_declaration
60ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_declaration( void );
61ffe58739da9eee2e99682747cc8f26e412c87430michal
62ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_declaration
63ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_declaration(
6470af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned file,
65058b978a5ae2a56e09fed6335b686c654444f4acmichal   unsigned usage_mask,
6670af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned interpolate,
67b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal   unsigned semantic,
684de360e67d83cd6503fb8ad053bb8afe507db5faBrian Paul   unsigned centroid,
694de360e67d83cd6503fb8ad053bb8afe507db5faBrian Paul   unsigned invariant,
70ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
71ffe58739da9eee2e99682747cc8f26e412c87430michal
72ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_full_declaration
73ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_full_declaration( void );
74ffe58739da9eee2e99682747cc8f26e412c87430michal
7570af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwellunsigned
76ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_full_declaration(
77ffe58739da9eee2e99682747cc8f26e412c87430michal   const struct tgsi_full_declaration *full_decl,
78ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_token *tokens,
79ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header,
8070af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned maxsize );
81ffe58739da9eee2e99682747cc8f26e412c87430michal
82ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_declaration_range
83a49381587f73c67469ec7546419cfc41387f938cMichal Kroltgsi_default_declaration_range( void );
84a49381587f73c67469ec7546419cfc41387f938cMichal Krol
85a49381587f73c67469ec7546419cfc41387f938cMichal Krolstruct tgsi_declaration_range
86ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_declaration_range(
8770af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned first,
8870af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned last,
89ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_declaration *declaration,
90ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
91ffe58739da9eee2e99682747cc8f26e412c87430michal
92b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michalstruct tgsi_declaration_semantic
93b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michaltgsi_default_declaration_semantic( void );
94b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal
95b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michalstruct tgsi_declaration_semantic
96b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michaltgsi_build_declaration_semantic(
97b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal   unsigned semantic_name,
98b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal   unsigned semantic_index,
99b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal   struct tgsi_declaration *declaration,
100b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal   struct tgsi_header *header );
101b9eeb8dccff3b440a299f19a0868a3ff1cda1e09michal
102ffe58739da9eee2e99682747cc8f26e412c87430michal/*
103ffe58739da9eee2e99682747cc8f26e412c87430michal * immediate
104ffe58739da9eee2e99682747cc8f26e412c87430michal */
105ffe58739da9eee2e99682747cc8f26e412c87430michal
106ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_immediate
107ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_immediate( void );
108ffe58739da9eee2e99682747cc8f26e412c87430michal
109ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_immediate
110ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_immediate(
111ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
112ffe58739da9eee2e99682747cc8f26e412c87430michal
113ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_full_immediate
114ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_full_immediate( void );
115ffe58739da9eee2e99682747cc8f26e412c87430michal
116fd31f92cea0ce8613a22d8f4b3c75b340bcc5689Keith Whitwellunion tgsi_immediate_data
117ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_immediate_float32(
11870af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   float value,
119ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_immediate *immediate,
120ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
121ffe58739da9eee2e99682747cc8f26e412c87430michal
12270af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwellunsigned
123ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_full_immediate(
124ffe58739da9eee2e99682747cc8f26e412c87430michal   const struct tgsi_full_immediate *full_imm,
125ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_token *tokens,
126ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header,
12770af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned maxsize );
128ffe58739da9eee2e99682747cc8f26e412c87430michal
129ffe58739da9eee2e99682747cc8f26e412c87430michal/*
1303ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin * properties
1313ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin */
1323ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1333ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusinstruct tgsi_property
1343ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusintgsi_default_property( void );
1353ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1363ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusinstruct tgsi_property
1373ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusintgsi_build_property(
1383ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   unsigned property_name,
1393ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   struct tgsi_header *header );
1403ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1413ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusinstruct tgsi_full_property
1423ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusintgsi_default_full_property( void );
1433ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1443ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusinstruct tgsi_property_data
1453ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusintgsi_build_property_data(
1463ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   unsigned value,
1473ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   struct tgsi_property *property,
1483ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   struct tgsi_header *header );
1493ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1503ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusinunsigned
1513ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusintgsi_build_full_property(
1523ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   const struct tgsi_full_property *full_prop,
1533ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   struct tgsi_token *tokens,
1543ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   struct tgsi_header *header,
1553ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin   unsigned maxsize );
1563ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin
1573ff688ea299581e60caf5d6e1a464f68c717fe83Zack Rusin/*
158ffe58739da9eee2e99682747cc8f26e412c87430michal * instruction
159ffe58739da9eee2e99682747cc8f26e412c87430michal */
160ffe58739da9eee2e99682747cc8f26e412c87430michal
161ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_instruction
162ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_instruction( void );
163ffe58739da9eee2e99682747cc8f26e412c87430michal
164ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_instruction
165ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_instruction(
16670af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned opcode,
16770af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned saturate,
1685ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol   unsigned predicate,
16970af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned num_dst_regs,
17070af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned num_src_regs,
171ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
172ffe58739da9eee2e99682747cc8f26e412c87430michal
173ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_full_instruction
174ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_full_instruction( void );
175ffe58739da9eee2e99682747cc8f26e412c87430michal
17670af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwellunsigned
177ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_full_instruction(
178ffe58739da9eee2e99682747cc8f26e412c87430michal   const struct tgsi_full_instruction *full_inst,
179ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_token *tokens,
180ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header,
18170af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned maxsize );
182ffe58739da9eee2e99682747cc8f26e412c87430michal
1835ee0d9f632383339088cc33005b7794b0915d4e0Michal Krolstruct tgsi_instruction_predicate
1845ee0d9f632383339088cc33005b7794b0915d4e0Michal Kroltgsi_default_instruction_predicate(void);
1855ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol
1865ee0d9f632383339088cc33005b7794b0915d4e0Michal Krolstruct tgsi_instruction_predicate
1875ee0d9f632383339088cc33005b7794b0915d4e0Michal Kroltgsi_build_instruction_predicate(int index,
1885ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 unsigned negate,
1895ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 unsigned swizzleX,
1905ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 unsigned swizzleY,
1915ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 unsigned swizzleZ,
1925ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 unsigned swizzleW,
1935ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 struct tgsi_instruction *instruction,
1945ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol                                 struct tgsi_header *header);
1955ee0d9f632383339088cc33005b7794b0915d4e0Michal Krol
196ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwellstruct tgsi_instruction_label
197ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwelltgsi_default_instruction_label( void );
198ffe58739da9eee2e99682747cc8f26e412c87430michal
199ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwellstruct tgsi_instruction_label
200ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwelltgsi_build_instruction_label(
20170af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned label,
202ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_token *prev_token,
203ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_instruction *instruction,
204ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
205ffe58739da9eee2e99682747cc8f26e412c87430michal
206ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwellstruct tgsi_instruction_texture
207ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwelltgsi_default_instruction_texture( void );
208ffe58739da9eee2e99682747cc8f26e412c87430michal
209ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwellstruct tgsi_instruction_texture
210ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwelltgsi_build_instruction_texture(
21170af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned texture,
212ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_token *prev_token,
213ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_instruction *instruction,
214ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
215ffe58739da9eee2e99682747cc8f26e412c87430michal
216ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_src_register
217ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_src_register( void );
218ffe58739da9eee2e99682747cc8f26e412c87430michal
219ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_src_register
220ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_src_register(
22170af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned file,
22270af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned swizzle_x,
22370af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned swizzle_y,
22470af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned swizzle_z,
22570af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned swizzle_w,
22670af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned negate,
227ba1ca28cc62fed71c77902b95ae4ed36c6bf25f8Keith Whitwell   unsigned absolute,
22870af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned indirect,
22970af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned dimension,
23070af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   int index,
231ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_instruction *instruction,
232ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
233ffe58739da9eee2e99682747cc8f26e412c87430michal
234ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_full_src_register
235ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_full_src_register( void );
236ffe58739da9eee2e99682747cc8f26e412c87430michal
237ffe58739da9eee2e99682747cc8f26e412c87430michal
238ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_dimension
239ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_dimension( void );
240ffe58739da9eee2e99682747cc8f26e412c87430michal
241ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_dimension
242ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_dimension(
24370af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned indirect,
24470af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned index,
245ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_instruction *instruction,
246ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
247ffe58739da9eee2e99682747cc8f26e412c87430michal
248ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_dst_register
249ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_dst_register( void );
250ffe58739da9eee2e99682747cc8f26e412c87430michal
251ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_dst_register
252ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_build_dst_register(
25370af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned file,
25470af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   unsigned mask,
255baa7ff47d548cdcc1ea68657ee1b0500f78041beBrian Paul   unsigned indirect,
25670af238b494ed1b6da4841c2065c33ee0f0f37c9Keith Whitwell   int index,
257ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_instruction *instruction,
258ffe58739da9eee2e99682747cc8f26e412c87430michal   struct tgsi_header *header );
259ffe58739da9eee2e99682747cc8f26e412c87430michal
260ffe58739da9eee2e99682747cc8f26e412c87430michalstruct tgsi_full_dst_register
261ffe58739da9eee2e99682747cc8f26e412c87430michaltgsi_default_full_dst_register( void );
262ffe58739da9eee2e99682747cc8f26e412c87430michal
263ffe58739da9eee2e99682747cc8f26e412c87430michal
264ffe58739da9eee2e99682747cc8f26e412c87430michal#if defined __cplusplus
2659a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffeJosé Fonseca}
2669a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffeJosé Fonseca#endif
267ffe58739da9eee2e99682747cc8f26e412c87430michal
2689a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffeJosé Fonseca#endif /* TGSI_BUILD_H */
269