ac/nir: begin splitting off ac_nir_context

The eventual goal is to hide all radv-specific details behind
ac_nir_context::abi, so that the NIR->LLVM code can be re-used by
radeonsi.

During development, we live with a partial split, where some of the
NIR->LLVM code still relies on linking back to the nir_to_llvm_context
(which should ultimately be renamed to reflect that it's radv-specific).
The idea is to get rid of these backlinks over time.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-05-19 17:03:20 +02:00
parent 90b3ba8970
commit b2367cfcc7
2 changed files with 290 additions and 234 deletions

File diff suppressed because it is too large Load Diff

View File

@ -36,6 +36,8 @@ struct ac_shader_config;
struct nir_shader;
struct radv_pipeline_layout;
struct ac_llvm_context;
struct ac_shader_abi;
struct ac_vs_variant_key {
uint32_t instance_rate_inputs;
@ -221,4 +223,8 @@ void ac_create_gs_copy_shader(LLVMTargetMachineRef tm,
const struct ac_nir_compiler_options *options,
bool dump_shader);
struct nir_to_llvm_context;
void ac_nir_translate(struct ac_llvm_context *ac, struct ac_shader_abi *abi,
struct nir_shader *nir, struct nir_to_llvm_context *nctx);
#endif /* AC_NIR_TO_LLVM_H */