mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 08:58:02 +02:00
radeonsi: move si_nir_load_input_gs() to si_shader.c
All the tess shader and tgsi equivalents are here and it allows use to use llvm_type_is_64bit() in the following patch without exposing it externally. Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9ea90ffb98
commit
2a68c6c6c8
3 changed files with 20 additions and 29 deletions
|
|
@ -1682,6 +1682,26 @@ LLVMValueRef si_llvm_load_input_gs(struct ac_shader_abi *abi,
|
|||
return LLVMBuildBitCast(ctx->ac.builder, value, type, "");
|
||||
}
|
||||
|
||||
static LLVMValueRef si_nir_load_input_gs(struct ac_shader_abi *abi,
|
||||
unsigned location,
|
||||
unsigned driver_location,
|
||||
unsigned component,
|
||||
unsigned num_components,
|
||||
unsigned vertex_index,
|
||||
unsigned const_index,
|
||||
LLVMTypeRef type)
|
||||
{
|
||||
struct si_shader_context *ctx = si_shader_context_from_abi(abi);
|
||||
|
||||
LLVMValueRef value[8];
|
||||
for (unsigned i = component; i < num_components + component; i++) {
|
||||
value[i] = si_llvm_load_input_gs(&ctx->abi, driver_location / 4,
|
||||
vertex_index, type, i);
|
||||
}
|
||||
|
||||
return ac_build_varying_gather_values(&ctx->ac, value, num_components, component);
|
||||
}
|
||||
|
||||
static LLVMValueRef fetch_input_gs(
|
||||
struct lp_build_tgsi_context *bld_base,
|
||||
const struct tgsi_full_src_register *reg,
|
||||
|
|
|
|||
|
|
@ -337,13 +337,4 @@ void si_llvm_load_input_fs(
|
|||
|
||||
bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir);
|
||||
|
||||
LLVMValueRef si_nir_load_input_gs(struct ac_shader_abi *abi,
|
||||
unsigned location,
|
||||
unsigned driver_location,
|
||||
unsigned component,
|
||||
unsigned num_components,
|
||||
unsigned vertex_index,
|
||||
unsigned const_index,
|
||||
LLVMTypeRef type);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -731,26 +731,6 @@ static void declare_nir_input_fs(struct si_shader_context *ctx,
|
|||
si_llvm_load_input_fs(ctx, input_index, out);
|
||||
}
|
||||
|
||||
LLVMValueRef si_nir_load_input_gs(struct ac_shader_abi *abi,
|
||||
unsigned location,
|
||||
unsigned driver_location,
|
||||
unsigned component,
|
||||
unsigned num_components,
|
||||
unsigned vertex_index,
|
||||
unsigned const_index,
|
||||
LLVMTypeRef type)
|
||||
{
|
||||
struct si_shader_context *ctx = si_shader_context_from_abi(abi);
|
||||
|
||||
LLVMValueRef value[8];
|
||||
for (unsigned i = component; i < num_components + component; i++) {
|
||||
value[i] = si_llvm_load_input_gs(&ctx->abi, driver_location / 4,
|
||||
vertex_index, type, i);
|
||||
}
|
||||
|
||||
return ac_build_varying_gather_values(&ctx->ac, value, num_components, component);
|
||||
}
|
||||
|
||||
LLVMValueRef
|
||||
si_nir_lookup_interp_param(struct ac_shader_abi *abi,
|
||||
enum glsl_interp_mode interp, unsigned location)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue