1 /**************************************************************************
3 * Copyright 2009 Younes Manton.
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 **************************************************************************/
28 #ifndef vl_shader_build_h
29 #define vl_shader_build_h
31 #include <pipe/p_shader_tokens.h>
33 struct tgsi_full_declaration
vl_decl_input(unsigned int name
, unsigned int index
, unsigned int first
, unsigned int last
);
34 struct tgsi_full_declaration vl_decl_interpolated_input
42 struct tgsi_full_declaration
vl_decl_constants(unsigned int name
, unsigned int index
, unsigned int first
, unsigned int last
);
43 struct tgsi_full_declaration
vl_decl_output(unsigned int name
, unsigned int index
, unsigned int first
, unsigned int last
);
44 struct tgsi_full_declaration
vl_decl_temps(unsigned int first
, unsigned int last
);
45 struct tgsi_full_declaration
vl_decl_samplers(unsigned int first
, unsigned int last
);
46 struct tgsi_full_instruction vl_inst2
49 enum tgsi_file_type dst_file
,
50 unsigned int dst_index
,
51 enum tgsi_file_type src_file
,
52 unsigned int src_index
54 struct tgsi_full_instruction vl_inst3
57 enum tgsi_file_type dst_file
,
58 unsigned int dst_index
,
59 enum tgsi_file_type src1_file
,
60 unsigned int src1_index
,
61 enum tgsi_file_type src2_file
,
62 unsigned int src2_index
64 struct tgsi_full_instruction vl_tex
67 enum tgsi_file_type dst_file
,
68 unsigned int dst_index
,
69 enum tgsi_file_type src1_file
,
70 unsigned int src1_index
,
71 enum tgsi_file_type src2_file
,
72 unsigned int src2_index
74 struct tgsi_full_instruction vl_inst4
77 enum tgsi_file_type dst_file
,
78 unsigned int dst_index
,
79 enum tgsi_file_type src1_file
,
80 unsigned int src1_index
,
81 enum tgsi_file_type src2_file
,
82 unsigned int src2_index
,
83 enum tgsi_file_type src3_file
,
84 unsigned int src3_index
86 struct tgsi_full_instruction
vl_end(void);