25 ir.fixup_reserved_names();
27 if (get_execution_model() != ExecutionModelFragment) {
33 options.version = 100;
34 options.vulkan_semantics =
false;
35 options.enable_420pack_extension =
false;
36 options.flatten_multidimensional_arrays =
true;
38 backend.allow_precision_qualifiers =
false;
39 backend.basic_int16_type =
"short";
40 backend.basic_int_type =
"int";
41 backend.basic_uint16_type =
"ushort";
42 backend.basic_uint_type =
"uint";
43 backend.double_literal_suffix =
false;
44 backend.float_literal_suffix =
false;
45 backend.long_long_literal_suffix =
false;
46 backend.needs_row_major_load_workaround =
true;
47 backend.nonuniform_qualifier =
"";
48 backend.support_precise_qualifier =
false;
49 backend.uint32_t_literal_suffix =
false;
50 backend.use_array_constructor =
true;
51 backend.workgroup_size_is_hidden =
true;
53 fixup_user_functions();
55 fixup_anonymous_struct_names();
58 build_function_control_flow_graphs_and_analyze();
59 fixup_image_load_store_access();
60 update_active_builtins();
61 analyze_image_and_sampler_usage();
62 analyze_interlocked_resource_usage();
64 uint32_t pass_count = 0;
74 emit_function(get<SPIRFunction>(ir.default_entry_point), Bitset());
77 }
while (is_forcing_recompilation());
79 statement(
"half4 main(float2 iFragCoord)");
81 statement(
" flutter_FragCoord = float4(iFragCoord, 0, 0);");
82 statement(
" FLT_main();");
83 statement(
" return " + output_name_ +
";");
#define FLUTTER_CROSS_THROW(x)