intel/compiler: move extern C functions out of namespace brw
[mesa.git] / src / intel / compiler / brw_vec4_tcs.cpp
index 852c5a9865cd3425ae6365406a777b2f4d575aec..0e4c02ed4043ba59e92daad56da63a32b5ba6852 100644 (file)
@@ -352,6 +352,8 @@ get_patch_count_threshold(int input_control_points)
    return 1;
 }
 
+} /* namespace brw */
+
 extern "C" const unsigned *
 brw_compile_tcs(const struct brw_compiler *compiler,
                 void *log_data,
@@ -390,11 +392,11 @@ brw_compile_tcs(const struct brw_compiler *compiler,
    bool has_primitive_id =
       nir->info.system_values_read & (1 << SYSTEM_VALUE_PRIMITIVE_ID);
 
-   prog_data->patch_count_threshold = get_patch_count_threshold(key->input_vertices);
+   prog_data->patch_count_threshold = brw::get_patch_count_threshold(key->input_vertices);
 
    if (compiler->use_tcs_8_patch &&
        nir->info.tess.tcs_vertices_out <= (devinfo->gen >= 12 ? 32 : 16) &&
-       2 + has_primitive_id + key->input_vertices <= 31) {
+       2 + has_primitive_id + key->input_vertices <= (devinfo->gen >= 12 ? 63 : 31)) {
       /* 3DSTATE_HS imposes two constraints on using 8_PATCH mode. First, the
        * "Instance" field limits the number of output vertices to [1, 16] on
        * gen11 and below, or [1, 32] on gen12 and above. Secondly, the
@@ -483,9 +485,11 @@ brw_compile_tcs(const struct brw_compiler *compiler,
       g.generate_code(v.cfg, 8, v.shader_stats,
                       v.performance_analysis.require(), stats);
 
+      g.add_const_data(nir->constant_data, nir->constant_data_size);
+
       assembly = g.get_assembly();
    } else {
-      vec4_tcs_visitor v(compiler, log_data, key, prog_data,
+      brw::vec4_tcs_visitor v(compiler, log_data, key, prog_data,
                          nir, mem_ctx, shader_time_index, &input_vue_map);
       if (!v.run()) {
          if (error_str)
@@ -505,6 +509,3 @@ brw_compile_tcs(const struct brw_compiler *compiler,
 
    return assembly;
 }
-
-
-} /* namespace brw */