mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
gallivm: Use 8 wide AoS sampling on AVX2.
v2: Make sure that with num_lods > 1 and min_filter != mag_filter we still enter the splitting path. So this case would still use 4-wide aos path (as a side note, the 4-wide aos sampling path could actually be improved quite a bit if we have avx2, by just doing the filtering with 256bit vectors). Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
e088390c7d
commit
bc80741d7a
1 changed files with 6 additions and 5 deletions
|
|
@ -2860,12 +2860,13 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm,
|
|||
}
|
||||
|
||||
/*
|
||||
* we only try 8-wide sampling with soa as it appears to
|
||||
* be a loss with aos with AVX (but it should work, except
|
||||
* for conformance if min_filter != mag_filter if num_lods > 1).
|
||||
* (It should be faster if we'd support avx2)
|
||||
* we only try 8-wide sampling with soa or if we have AVX2
|
||||
* as it appears to be a loss with just AVX)
|
||||
*/
|
||||
if (num_quads == 1 || !use_aos) {
|
||||
if (num_quads == 1 || !use_aos ||
|
||||
(util_cpu_caps.has_avx2 &&
|
||||
(bld.num_lods == 1 ||
|
||||
derived_sampler_state.min_img_filter == derived_sampler_state.mag_img_filter))) {
|
||||
if (use_aos) {
|
||||
/* do sampling/filtering with fixed pt arithmetic */
|
||||
lp_build_sample_aos(&bld, sampler_index,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue