summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-06-08 20:05:09 +0200
committerNicolai Hähnle <[email protected]>2017-07-31 14:55:37 +0200
commit7763c7b2bad153e1d7527cf361f85f7c8ccfdae6 (patch)
tree5daf75fd71304ba1f70f4295880220614a7aeff7
parenta6f597536d4f03e0c2ac0311963dbcdcb3c6a97d (diff)
ac/nir,radeonsi: add ac_shader_abi::chip_class
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/amd/common/ac_nir_to_llvm.c1
-rw-r--r--src/amd/common/ac_shader_abi.h2
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index e6befff861c..c9f91e9453b 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -6203,6 +6203,7 @@ LLVMModuleRef ac_translate_nir_to_llvm(LLVMTargetMachineRef tm,
if (nir->stage == MESA_SHADER_FRAGMENT)
handle_fs_inputs_pre(&ctx, nir);
+ ctx.abi.chip_class = options->chip_class;
ctx.abi.inputs = &ctx.inputs[0];
ctx.abi.emit_outputs = handle_shader_outputs_post;
diff --git a/src/amd/common/ac_shader_abi.h b/src/amd/common/ac_shader_abi.h
index b0161d9f220..1b204e9f447 100644
--- a/src/amd/common/ac_shader_abi.h
+++ b/src/amd/common/ac_shader_abi.h
@@ -30,6 +30,8 @@
* radv to share a compiler backend.
*/
struct ac_shader_abi {
+ enum chip_class chip_class;
+
LLVMValueRef base_vertex;
LLVMValueRef start_instance;
LLVMValueRef draw_id;
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 5fb820693de..090ec8313ed 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -5494,6 +5494,8 @@ static void si_init_shader_ctx(struct si_shader_context *ctx,
{
struct lp_build_tgsi_context *bld_base;
+ ctx->abi.chip_class = sscreen->b.chip_class;
+
si_llvm_context_init(ctx, sscreen, tm);
bld_base = &ctx->bld_base;