diff options
author | Dave Airlie <[email protected]> | 2019-07-22 12:04:27 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2019-07-24 09:20:09 +1000 |
commit | 2631fd3b0bf5027ff904bf0e11ca271bda14a4b1 (patch) | |
tree | a8ec3c9876737bc2f557739ca7fa784ea34ec1e9 /src/gallium/drivers/llvmpipe | |
parent | 9700e45463fa6b4b5c0535b7bafa0c438eeaee84 (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.c | 22 |
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, ¶ms, + outputs); /* Alpha test */ if (key->alpha.enabled) { |