glsl: rewrite sqrt(x) intrinsic to handle x=0
[mesa.git] / src / mesa / shader / slang / library / slang_pp_directives_syn.h
index 35e7bc276165d6dd3fb39dccd65f287871d901fc..430f8d8217cc6a53d8ec9687ef5cadb7f895ef4e 100644 (file)
@@ -20,6 +20,8 @@
 ".emtcode BEHAVIOR_ENABLE 2\n"
 ".emtcode BEHAVIOR_WARN 3\n"
 ".emtcode BEHAVIOR_DISABLE 4\n"
+".emtcode PRAGMA_NO_PARAM 0\n"
+".emtcode PRAGMA_PARAM 1\n"
 "source\n"
 " optional_directive .and .loop source_element .and '\\0' .emit ESCAPE_TOKEN .emit TOKEN_END;\n"
 "source_element\n"
@@ -76,6 +78,7 @@
 " dir_elif .emit TOKEN_ELIF .or\n"
 " dir_endif .emit TOKEN_ENDIF .or\n"
 " dir_ext .emit TOKEN_EXTENSION .or\n"
+" dir_pragma .emit TOKEN_PRAGMA .or\n"
 " dir_line .emit TOKEN_LINE;\n"
 "dir_define\n"
 " optional_space .and '#' .and optional_space .and \"define\" .and symbol .and opt_parameters .and\n"
 " optional_space .and ':' .and optional_space .and extension_behavior;\n"
 "dir_line\n"
 " optional_space .and '#' .and optional_space .and \"line\" .and expression;\n"
+"dir_pragma\n"
+" optional_space .and '#' .and optional_space .and \"pragma\" .and symbol .and opt_pragma_param;\n"
+"opt_pragma_param\n"
+" pragma_param .or .true .emit PRAGMA_NO_PARAM;\n"
+"pragma_param\n"
+" optional_space .and '(' .emit PRAGMA_PARAM .and optional_space .and symbol_no_space .and optional_space .and ')';\n"
+"symbol_no_space\n"
+" symbol_character .emit * .and .loop symbol_character2 .emit * .and .true .emit '\\0';\n"
 "symbol\n"
 " space .and symbol_character .emit * .and .loop symbol_character2 .emit * .and .true .emit '\\0';\n"
 "opt_parameters\n"