mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
llvmpipe: fix native vector width init
this otherwise causes infinite loops in subgroup tests and kills ci Fixes:4a056807bc("gallivm: break out native vector width calc for reuse") Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22767> (cherry picked from commite9864d7f39)
This commit is contained in:
parent
865ff2c5ba
commit
0d37bf2a31
4 changed files with 11 additions and 9 deletions
|
|
@ -175,7 +175,7 @@
|
|||
"description": "llvmpipe: fix native vector width init",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "4a056807bc3b813f390d194bbe382b573761649e"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -421,18 +421,22 @@ fail:
|
|||
}
|
||||
|
||||
unsigned
|
||||
lp_build_get_native_width(void)
|
||||
lp_build_init_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);
|
||||
lp_native_vector_width = MIN2(util_get_cpu_caps()->max_vector_bits, 256);
|
||||
assert(lp_native_vector_width);
|
||||
|
||||
vector_width = debug_get_num_option("LP_NATIVE_VECTOR_WIDTH", vector_width);
|
||||
return vector_width;
|
||||
lp_native_vector_width = debug_get_num_option("LP_NATIVE_VECTOR_WIDTH", lp_native_vector_width);
|
||||
assert(lp_native_vector_width);
|
||||
|
||||
return lp_native_vector_width;
|
||||
}
|
||||
|
||||
boolean
|
||||
lp_build_init(void)
|
||||
{
|
||||
lp_build_init_native_width();
|
||||
if (gallivm_initialized)
|
||||
return TRUE;
|
||||
|
||||
|
|
@ -449,8 +453,6 @@ lp_build_init(void)
|
|||
|
||||
lp_set_target_options();
|
||||
|
||||
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
|
||||
* specified by IEEE standard (PowerISA 2.06 - Section 6.3). This guarantees
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ struct gallivm_state
|
|||
};
|
||||
|
||||
unsigned
|
||||
lp_build_get_native_width(void);
|
||||
lp_build_init_native_width(void);
|
||||
|
||||
boolean
|
||||
lp_build_init(void);
|
||||
|
|
|
|||
|
|
@ -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_build_get_native_width() );
|
||||
lp_build_init_native_width() );
|
||||
|
||||
list_inithead(&screen->ctx_list);
|
||||
(void) mtx_init(&screen->ctx_mutex, mtx_plain);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue