Merge branch 'gallium-0.1' into gallium-tex-surfaces
[mesa.git] / src / mesa / shader / arbprogram_syn.h
index 71ccd204d127aa85d1ec816ab030834dca28a70b..e0c901ea8cda4ee956ae5967c2d2753dab41c88c 100644 (file)
@@ -1,48 +1,24 @@
-/*
- * Mesa 3-D graphics library
- * Version:  6.1
- *
- * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
 
-/**
- * \file arbprogram_syn.h
- * ARB_fragment_program/ARB_vertex_program syntax
- * \author Michal Krol
- */
+/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */
 
+" \n"
 ".syntax program;\n"
-".emtcode REVISION 0x07\n"
+".emtcode REVISION 0x0a\n"
 ".emtcode FRAGMENT_PROGRAM 0x01\n"
 ".emtcode VERTEX_PROGRAM 0x02\n"
 ".emtcode OPTION 0x01\n"
 ".emtcode INSTRUCTION 0x02\n"
 ".emtcode DECLARATION 0x03\n"
 ".emtcode END 0x04\n"
-".emtcode ARB_PRECISION_HINT_FASTEST 0x01\n"
-".emtcode ARB_PRECISION_HINT_NICEST 0x02\n"
-".emtcode ARB_FOG_EXP 0x04\n"
-".emtcode ARB_FOG_EXP2 0x08\n"
-".emtcode ARB_FOG_LINEAR 0x10\n"
-".emtcode ARB_POSITION_INVARIANT 0x20\n"
-".emtcode ARB_FRAGMENT_PROGRAM_SHADOW 0x40\n"
+".emtcode ARB_PRECISION_HINT_FASTEST 0x00\n"
+".emtcode ARB_PRECISION_HINT_NICEST 0x01\n"
+".emtcode ARB_FOG_EXP 0x02\n"
+".emtcode ARB_FOG_EXP2 0x03\n"
+".emtcode ARB_FOG_LINEAR 0x04\n"
+".emtcode ARB_POSITION_INVARIANT 0x05\n"
+".emtcode ARB_FRAGMENT_PROGRAM_SHADOW 0x06\n"
+".emtcode ARB_DRAW_BUFFERS 0x07\n"
+".emtcode MESA_TEXTURE_ARRAY 0x08\n"
 ".emtcode OP_ALU_INST 0x00\n"
 ".emtcode OP_TEX_INST 0x01\n"
 ".emtcode OP_ALU_VECTOR 0x00\n"
 ".emtcode TEXTARGET_SHADOW1D 0x06\n"
 ".emtcode TEXTARGET_SHADOW2D 0x07\n"
 ".emtcode TEXTARGET_SHADOWRECT 0x08\n"
+".emtcode TEXTARGET_1D_ARRAY 0x09\n"
+".emtcode TEXTARGET_2D_ARRAY 0x0a\n"
+".emtcode TEXTARGET_SHADOW1D_ARRAY 0x0b\n"
+".emtcode TEXTARGET_SHADOW2D_ARRAY 0x0c\n"
 ".emtcode FACE_FRONT 0x00\n"
 ".emtcode FACE_BACK 0x01\n"
 ".emtcode COLOR_PRIMARY 0x00\n"
 ".regbyte fog_coord 0x00\n"
 ".regbyte texture_rectangle 0x00\n"
 ".regbyte fragment_program_shadow 0x00\n"
+".regbyte draw_buffers 0x00\n"
+".regbyte texture_array 0x00\n"
 ".regbyte ARB_precision_hint_fastest 0x00\n"
 ".regbyte ARB_precision_hint_nicest 0x00\n"
 ".regbyte ARB_fog_exp 0x00\n"
 ".regbyte ARB_fog_linear 0x00\n"
 ".regbyte ARB_position_invariant 0x00\n"
 ".regbyte ARB_fragment_program_shadow 0x00\n"
+".regbyte ARB_draw_buffers 0x00\n"
+".regbyte MESA_texture_array 0x00\n"
 ".regbyte program_target 0x00\n"
 "program\n"
 " programs .error UNKNOWN_PROGRAM_SIGNATURE .emit REVISION;\n"
 " fp_ARB_fog_exp2 .emit ARB_FOG_EXP2 .load ARB_fog_exp2 0x01 .or\n"
 " fp_ARB_fog_linear .emit ARB_FOG_LINEAR .load ARB_fog_linear 0x01 .or\n"
 " .if (fragment_program_shadow != 0x00) \"ARB_fragment_program_shadow\"\n"
-" .emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01;\n"
+" .emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01 .or\n"
+" .if (draw_buffers != 0x00) \"ARB_draw_buffers\" .emit ARB_DRAW_BUFFERS\n"
+" .load ARB_draw_buffers 0x01 .or\n"
+" .if (texture_array != 0x00) \"MESA_texture_array\" .emit MESA_TEXTURE_ARRAY\n"
+" .load MESA_texture_array 0x01;\n"
 "vp_optionString\n"
 " \"ARB_position_invariant\" .emit ARB_POSITION_INVARIANT .load ARB_position_invariant 0x01;\n"
 "fp_ARB_fog_exp\n"
 " \"3D\" .emit TEXTARGET_3D .or\n"
 " .if (texture_rectangle != 0x00) \"RECT\" .emit TEXTARGET_RECT .or\n"
 " \"CUBE\" .emit TEXTARGET_CUBE .or\n"
-" .if (ARB_fragment_program_shadow != 0x00) shadowTarget;\n"
+" .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or\n"
+" .if (MESA_texture_array != 0x00) arrayTarget;\n"
 "shadowTarget\n"
 " \"SHADOW1D\" .emit TEXTARGET_SHADOW1D .or\n"
 " \"SHADOW2D\" .emit TEXTARGET_SHADOW2D .or\n"
-" .if (texture_rectangle != 0x00) \"SHADOWRECT\" .emit TEXTARGET_SHADOWRECT;\n"
+" .if (texture_rectangle != 0x00) \"SHADOWRECT\" .emit TEXTARGET_SHADOWRECT .or\n"
+" .if (MESA_texture_array != 0x00) shadowArrayTarget;\n"
+"arrayTarget\n"
+" \"ARRAY1D\" .emit TEXTARGET_1D_ARRAY .or\n"
+" \"ARRAY2D\" .emit TEXTARGET_2D_ARRAY;\n"
+"shadowArrayTarget\n"
+" \"SHADOWARRAY1D\" .emit TEXTARGET_SHADOW1D_ARRAY .or\n"
+" \"SHADOWARRAY2D\" .emit TEXTARGET_SHADOW2D_ARRAY;\n"
 "optTexImageUnitNum\n"
 " optTexImageUnitNum_1 .or .true .emit 0x00;\n"
 "optTexImageUnitNum_1\n"
 "vp_resultBinding\n"
 " \"result\" .and dot .and vp_resultBinding_1 .error INVALID_RESULT_PROPERTY;\n"
 "fp_resultBinding_1\n"
-" \"color\" .emit FRAGMENT_RESULT_COLOR .or\n"
+" fp_resultBinding_2 .emit FRAGMENT_RESULT_COLOR .or\n"
 " \"depth\" .emit FRAGMENT_RESULT_DEPTH;\n"
+"fp_resultBinding_2\n"
+" \"color\" .and optOutputColorNum;\n"
 "vp_resultBinding_1\n"
 " .if (ARB_position_invariant == 0x00) \"position\" .emit VERTEX_RESULT_POSITION .or\n"
 " resultColBinding .emit VERTEX_RESULT_COLOR .or\n"
 " vp_resultBinding_2 .emit VERTEX_RESULT_TEXCOORD;\n"
 "vp_resultBinding_2\n"
 " \"texcoord\" .and optTexCoordNum;\n"
+"optOutputColorNum\n"
+" .if (ARB_draw_buffers != 0x00) optOutputColorNum_1 .or .true .emit 0x00;\n"
+"optOutputColorNum_1\n"
+" lbracket_ne .and outputColorNum .and rbracket;\n"
+"outputColorNum\n"
+" integer;\n"
 "resultColBinding\n"
 " \"color\" .and optFaceType .and optColorType;\n"
 "optFaceType\n"
 "white_char\n"
 " ' ' .or '\\t' .or '\\n' .or '\\r';\n"
 "comment_block\n"
-" '#' .and .loop comment_char .and new_line;\n"
+" '#' .and .loop comment_char .and optional_new_line;\n"
 "comment_char\n"
 " '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
-"new_line\n"
-" '\\n' .or crlf .or '\\0';\n"
+"optional_new_line\n"
+" '\\n' .or crlf .or .true;\n"
 "crlf\n"
 " '\\r' .and '\\n';\n"
 "semicolon\n"