glsl: rewrite sqrt(x) intrinsic to handle x=0
[mesa.git] / src / mesa / shader / slang / library / slang_shader_syn.h
index f1fc9ca88336e7802c447764e8975000a72b566b..6a382970e1a31d42c009e51f5e4e07901d679088 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */
 
 ".syntax translation_unit;\n"
-".emtcode REVISION 4\n"
+".emtcode REVISION 5\n"
 ".emtcode EXTERNAL_NULL 0\n"
 ".emtcode EXTERNAL_FUNCTION_DEFINITION 1\n"
 ".emtcode EXTERNAL_DECLARATION 2\n"
@@ -17,6 +17,8 @@
 ".emtcode FUNCTION_ORDINARY 0\n"
 ".emtcode FUNCTION_CONSTRUCTOR 1\n"
 ".emtcode FUNCTION_OPERATOR 2\n"
+".emtcode FUNCTION_CALL_NONARRAY 0\n"
+".emtcode FUNCTION_CALL_ARRAY 1\n"
 ".emtcode OPERATOR_ADDASSIGN 1\n"
 ".emtcode OPERATOR_SUBASSIGN 2\n"
 ".emtcode OPERATOR_MULASSIGN 3\n"
@@ -83,6 +85,8 @@
 ".emtcode TYPE_SPECIFIER_MAT42 29\n"
 ".emtcode TYPE_SPECIFIER_MAT34 30\n"
 ".emtcode TYPE_SPECIFIER_MAT43 31\n"
+".emtcode TYPE_SPECIFIER_NONARRAY 0\n"
+".emtcode TYPE_SPECIFIER_ARRAY 1\n"
 ".emtcode FIELD_NONE 0\n"
 ".emtcode FIELD_NEXT 1\n"
 ".emtcode FIELD_ARRAY 2\n"
 ".emtcode OP_POSTINCREMENT 60\n"
 ".emtcode OP_POSTDECREMENT 61\n"
 ".emtcode OP_PRECISION 62\n"
+".emtcode OP_METHOD 63\n"
 ".emtcode PARAM_QUALIFIER_IN 0\n"
 ".emtcode PARAM_QUALIFIER_OUT 1\n"
 ".emtcode PARAM_QUALIFIER_INOUT 2\n"
 "integer_expression\n"
 " expression;\n"
 "function_call\n"
+" function_call_or_method;\n"
+"function_call_or_method\n"
+" regular_function_call .or method_call;\n"
+"method_call\n"
+" identifier .emit OP_METHOD .and dot .and function_call_generic .and .true .emit OP_END;\n"
+"regular_function_call\n"
 " function_call_generic .emit OP_CALL .and .true .emit OP_END;\n"
 "function_call_generic\n"
 " function_call_generic_1 .or function_call_generic_2;\n"
 "function_call_header\n"
 " function_identifier .and lparen;\n"
 "function_identifier\n"
-" identifier;\n"
+" identifier .and function_identifier_opt_array;\n"
+"function_identifier_opt_array\n"
+" function_identifier_array .emit FUNCTION_CALL_ARRAY .or\n"
+" .true .emit FUNCTION_CALL_NONARRAY;\n"
+"function_identifier_array\n"
+" lbracket .and constant_expression .and rbracket;\n"
 "unary_expression\n"
 " postfix_expression .or unary_expression_1 .or unary_expression_2 .or unary_expression_3 .or\n"
 " unary_expression_4 .or unary_expression_5;\n"
 " \"uniform\" .emit TYPE_QUALIFIER_UNIFORM .or\n"
 " .if (parsing_builtin != 0) \"__fixed_output\" .emit TYPE_QUALIFIER_FIXEDOUTPUT .or\n"
 " .if (parsing_builtin != 0) \"__fixed_input\" .emit TYPE_QUALIFIER_FIXEDINPUT;\n"
-"type_specifier_space\n"
+"type_specifier_nonarray_space\n"
 " \"void\" .emit TYPE_SPECIFIER_VOID .or\n"
 " \"float\" .emit TYPE_SPECIFIER_FLOAT .or\n"
 " \"int\" .emit TYPE_SPECIFIER_INT .or\n"
 " \"sampler2DRect\" .emit TYPE_SPECIFIER_SAMPLER2DRECT .or\n"
 " \"sampler2DRectShadow\" .emit TYPE_SPECIFIER_SAMPLER2DRECTSHADOW .or\n"
 " type_name .emit TYPE_SPECIFIER_TYPENAME;\n"
-"type_specifier_nospace\n"
+"type_specifier_nonarray_nospace\n"
 " struct_specifier .emit TYPE_SPECIFIER_STRUCT;\n"
+"type_specifier_nonarray\n"
+" type_specifier_nonarray_nospace .or type_specifier_nonarray_space;\n"
+"type_specifier_space\n"
+" type_specifier_nonarray_space .and .true .emit TYPE_SPECIFIER_NONARRAY;\n"
+"type_specifier_nospace\n"
+" type_specifier_nospace_array .or type_specifier_nospace_1;\n"
+"type_specifier_nospace_1\n"
+" type_specifier_nonarray_nospace .and .true .emit TYPE_SPECIFIER_NONARRAY;\n"
+"type_specifier_nospace_array\n"
+" type_specifier_nonarray .and lbracket .emit TYPE_SPECIFIER_ARRAY .and constant_expression .and rbracket;\n"
 "struct_specifier\n"
 " \"struct\" .and struct_specifier_1 .and optional_space .and lbrace .error LBRACE_EXPECTED .and\n"
 " struct_declaration_list .and rbrace .emit FIELD_NONE;\n"
 " lbrace .and rbrace;\n"
 "compound_statement_3\n"
 " lbrace .and statement_list .and rbrace;\n"
-"statement_no_new_scope\n"
-" compound_statement_no_new_scope .or simple_statement;\n"
 "compound_statement_no_new_scope\n"
 " compound_statement_no_new_scope_1 .emit OP_BLOCK_BEGIN_NO_NEW_SCOPE .and .true .emit OP_END;\n"
 "compound_statement_no_new_scope_1\n"
 " expression .and rparen .error RPAREN_EXPECTED .emit OP_END .and semicolon;\n"
 "iteration_statement_3\n"
 " \"for\" .emit OP_FOR .and lparen .error LPAREN_EXPECTED .and for_init_statement .and\n"
-" for_rest_statement .and rparen .error RPAREN_EXPECTED .and statement_no_new_scope;\n"
+" for_rest_statement .and rparen .error RPAREN_EXPECTED .and statement;\n"
 "for_init_statement\n"
 " expression_statement .emit OP_EXPRESSION .or declaration_statement .emit OP_DECLARE;\n"
 "conditionopt\n"