gallivm: break out native vector width calc for reuse

breaks dependency on lp_build_init()

cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>
This commit is contained in:
Mike Blumenkrantz 2023-04-21 10:56:44 -04:00 committed by Marge Bot
parent 78e448f4f9
commit 4a056807bc
3 changed files with 13 additions and 6 deletions

View file

@ -420,6 +420,15 @@ fail:
return FALSE;
}
unsigned
lp_build_get_native_width(void)
{
// Default to 256 until we're confident llvmpipe with 512 is as correct and not slower than 256
unsigned vector_width = MIN2(util_get_cpu_caps()->max_vector_bits, 256);
vector_width = debug_get_num_option("LP_NATIVE_VECTOR_WIDTH", vector_width);
return vector_width;
}
boolean
lp_build_init(void)
@ -440,11 +449,7 @@ lp_build_init(void)
lp_set_target_options();
// Default to 256 until we're confident llvmpipe with 512 is as correct and not slower than 256
lp_native_vector_width = MIN2(util_get_cpu_caps()->max_vector_bits, 256);
lp_native_vector_width = debug_get_num_option("LP_NATIVE_VECTOR_WIDTH",
lp_native_vector_width);
lp_native_vector_width = lp_build_get_native_width();
#if DETECT_ARCH_PPC_64
/* Set the NJ bit in VSCR to 0 so denormalized values are handled as

View file

@ -68,6 +68,8 @@ struct gallivm_state
LLVMValueRef get_time_hook;
};
unsigned
lp_build_get_native_width(void);
boolean
lp_build_init(void);

View file

@ -1113,7 +1113,7 @@ llvmpipe_create_screen(struct sw_winsys *winsys)
snprintf(screen->renderer_string, sizeof(screen->renderer_string),
"llvmpipe (LLVM " MESA_LLVM_VERSION_STRING ", %u bits)",
lp_native_vector_width );
lp_build_get_native_width() );
list_inithead(&screen->ctx_list);
(void) mtx_init(&screen->ctx_mutex, mtx_plain);