mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
i965/vec4: Wrap vec4_generator in a C function.
vec4_generator is a class for convenience, but only exports a single method as its public API. It makes much more sense to just export a single function. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
73ff0ead36
commit
4cba8f5d21
4 changed files with 37 additions and 9 deletions
|
|
@ -2108,9 +2108,9 @@ brw_compile_vs(const struct brw_compiler *compiler, void *log_data,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
vec4_generator g(compiler, log_data, &prog_data->base,
|
||||
mem_ctx, INTEL_DEBUG & DEBUG_VS, "vertex", "VS");
|
||||
assembly = g.generate_assembly(v.cfg, final_assembly_size, shader);
|
||||
assembly = brw_vec4_generate_assembly(compiler, log_data, mem_ctx,
|
||||
shader, &prog_data->base, v.cfg,
|
||||
final_assembly_size);
|
||||
}
|
||||
|
||||
return assembly;
|
||||
|
|
|
|||
|
|
@ -52,6 +52,15 @@ extern "C" {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
const unsigned *
|
||||
brw_vec4_generate_assembly(const struct brw_compiler *compiler,
|
||||
void *log_data,
|
||||
void *mem_ctx,
|
||||
const nir_shader *nir,
|
||||
struct brw_vue_prog_data *prog_data,
|
||||
const struct cfg_t *cfg,
|
||||
unsigned *out_assembly_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
||||
|
|
|
|||
|
|
@ -1578,4 +1578,23 @@ vec4_generator::generate_assembly(const cfg_t *cfg,
|
|||
return brw_get_program(p, assembly_size);
|
||||
}
|
||||
|
||||
extern "C" const unsigned *
|
||||
brw_vec4_generate_assembly(const struct brw_compiler *compiler,
|
||||
void *log_data,
|
||||
void *mem_ctx,
|
||||
const nir_shader *nir,
|
||||
struct brw_vue_prog_data *prog_data,
|
||||
const struct cfg_t *cfg,
|
||||
unsigned *out_assembly_size)
|
||||
{
|
||||
const char *stage_name = _mesa_shader_stage_to_string(nir->stage);
|
||||
const char *stage_abbrev = _mesa_shader_stage_to_abbrev(nir->stage);
|
||||
bool debug_flag = INTEL_DEBUG &
|
||||
intel_debug_flag_for_shader_stage(nir->stage);
|
||||
|
||||
vec4_generator g(compiler, log_data, prog_data, mem_ctx,
|
||||
debug_flag, stage_name, stage_abbrev);
|
||||
return g.generate_assembly(cfg, out_assembly_size, nir);
|
||||
}
|
||||
|
||||
} /* namespace brw */
|
||||
|
|
|
|||
|
|
@ -824,9 +824,9 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
|
|||
vec4_gs_visitor v(compiler, log_data, &c, prog_data, shader,
|
||||
mem_ctx, true /* no_spills */, shader_time_index);
|
||||
if (v.run()) {
|
||||
vec4_generator g(compiler, log_data, &prog_data->base, mem_ctx,
|
||||
INTEL_DEBUG & DEBUG_GS, "geometry", "GS");
|
||||
return g.generate_assembly(v.cfg, final_assembly_size, shader);
|
||||
return brw_vec4_generate_assembly(compiler, log_data, mem_ctx,
|
||||
shader, &prog_data->base, v.cfg,
|
||||
final_assembly_size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -875,9 +875,9 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
|
|||
if (error_str)
|
||||
*error_str = ralloc_strdup(mem_ctx, gs->fail_msg);
|
||||
} else {
|
||||
vec4_generator g(compiler, log_data, &prog_data->base, mem_ctx,
|
||||
INTEL_DEBUG & DEBUG_GS, "geometry", "GS");
|
||||
ret = g.generate_assembly(gs->cfg, final_assembly_size, shader);
|
||||
ret = brw_vec4_generate_assembly(compiler, log_data, mem_ctx, shader,
|
||||
&prog_data->base, gs->cfg,
|
||||
final_assembly_size);
|
||||
}
|
||||
|
||||
delete gs;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue