struct lp_tgsi_info *info);
+struct lp_build_tgsi_params {
+ struct lp_type type;
+ struct lp_build_mask_context *mask;
+ LLVMValueRef consts_ptr;
+ LLVMValueRef const_sizes_ptr;
+ const struct lp_bld_tgsi_system_values *system_values;
+ const LLVMValueRef (*inputs)[4];
+ LLVMValueRef context_ptr;
+ LLVMValueRef thread_data_ptr;
+ const struct lp_build_sampler_soa *sampler;
+ const struct tgsi_shader_info *info;
+ const struct lp_build_tgsi_gs_iface *gs_iface;
+ LLVMValueRef ssbo_ptr;
+ LLVMValueRef ssbo_sizes_ptr;
+};
+
void
lp_build_tgsi_soa(struct gallivm_state *gallivm,
const struct tgsi_token *tokens,
- struct lp_type type,
- struct lp_build_mask_context *mask,
- LLVMValueRef consts_ptr,
- LLVMValueRef const_sizes_ptr,
- const struct lp_bld_tgsi_system_values *system_values,
- const LLVMValueRef (*inputs)[4],
- LLVMValueRef (*outputs)[4],
- LLVMValueRef context_ptr,
- LLVMValueRef thread_data_ptr,
- const struct lp_build_sampler_soa *sampler,
- const struct tgsi_shader_info *info,
- const struct lp_build_tgsi_gs_iface *gs_iface,
- LLVMValueRef ssbo_ptr,
- LLVMValueRef ssbo_sizes_ptr);
+ const struct lp_build_tgsi_params *params,
+ LLVMValueRef (*outputs)[4]);
void
LLVMValueRef ssbo_ptr;
LLVMValueRef ssbo_sizes_ptr;
+ LLVMValueRef ssbos[LP_MAX_TGSI_SHADER_BUFFERS];
+ LLVMValueRef ssbo_sizes[LP_MAX_TGSI_SHADER_BUFFERS];
const struct lp_build_sampler_soa *sampler;