diff options
author | Nicolai Hähnle <[email protected]> | 2017-06-08 18:23:34 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-07-31 14:55:32 +0200 |
commit | 73c7e92d3a28c4c2b7931d981744b2a5d10478b3 (patch) | |
tree | ea086895e0071deafe3ca031a2e745a66bb9a77e /src/amd | |
parent | b2367cfcc766442346c63154fa3ea1fe6e407c94 (diff) |
ac/nir: add ac_shader_abi::inputs
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 2 | ||||
-rw-r--r-- | src/amd/common/ac_shader_abi.h | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index e21e17de95c..1024101e67f 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -6156,6 +6156,8 @@ LLVMModuleRef ac_translate_nir_to_llvm(LLVMTargetMachineRef tm, if (nir->stage == MESA_SHADER_FRAGMENT) handle_fs_inputs_pre(&ctx, nir); + ctx.abi.inputs = &ctx.inputs[0]; + ac_nir_translate(&ctx.ac, &ctx.abi, nir, &ctx); LLVMBuildRetVoid(ctx.builder); diff --git a/src/amd/common/ac_shader_abi.h b/src/amd/common/ac_shader_abi.h index e10550b8eb2..a872948dd01 100644 --- a/src/amd/common/ac_shader_abi.h +++ b/src/amd/common/ac_shader_abi.h @@ -35,6 +35,13 @@ struct ac_shader_abi { LLVMValueRef draw_id; LLVMValueRef vertex_id; LLVMValueRef instance_id; + + /* For VS and PS: pre-loaded shader inputs. + * + * Currently only used for NIR shaders; indexed by variables' + * driver_location. + */ + LLVMValueRef *inputs; }; #endif /* AC_SHADER_ABI_H */ |