summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2019-07-22 12:04:27 +1000
committerDave Airlie <[email protected]>2019-07-24 09:20:09 +1000
commit2631fd3b0bf5027ff904bf0e11ca271bda14a4b1 (patch)
treea8ec3c9876737bc2f557739ca7fa784ea34ec1e9 /src/gallium/drivers/llvmpipe
parent9700e45463fa6b4b5c0535b7bafa0c438eeaee84 (diff)
gallivm: rework lp_build_tgsi_soa to take a struct
The parameters were getting messy and I have to add a few more for compute shaders, so clean it up before proceeding. Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_fs.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
index 9efad74b741..eabe8572111 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
@@ -478,12 +478,24 @@ generate_fs_loop(struct gallivm_state *gallivm,
lp_build_interp_soa_update_inputs_dyn(interp, gallivm, loop_state.counter);
+ struct lp_build_tgsi_params params = {};
+
+ params.type = type;
+ params.mask = &mask;
+ params.consts_ptr = consts_ptr;
+ params.const_sizes_ptr = num_consts_ptr;
+ params.system_values = &system_values;
+ params.inputs = interp->inputs;
+ params.context_ptr = context_ptr;
+ params.thread_data_ptr = thread_data_ptr;
+ params.sampler = sampler;
+ params.info = &shader->info.base;
+ params.ssbo_ptr = ssbo_ptr;
+ params.ssbo_sizes_ptr = num_ssbo_ptr;
+
/* Build the actual shader */
- lp_build_tgsi_soa(gallivm, tokens, type, &mask,
- consts_ptr, num_consts_ptr, &system_values,
- interp->inputs,
- outputs, context_ptr, thread_data_ptr,
- sampler, &shader->info.base, NULL, ssbo_ptr, num_ssbo_ptr);
+ lp_build_tgsi_soa(gallivm, tokens, &params,
+ outputs);
/* Alpha test */
if (key->alpha.enabled) {