mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
mesa: Check return value of __get_cpuid().
The use of the uninitialized_var() macro was to silence an uninitialized variable warning that I assumed stemmed from gcc being unable to see inside __get_cpuid() or understand its inline assembly. In fact, it was because the __get_cpuid() function can fail, and not initialize its arguments. Instead, check for failure and return early. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
5666d9266f
commit
e71a7f8013
1 changed files with 3 additions and 3 deletions
|
|
@ -344,13 +344,13 @@ _mesa_get_x86_features(void)
|
|||
|
||||
#elif defined(USE_X86_64_ASM)
|
||||
{
|
||||
unsigned int uninitialized_var(eax), uninitialized_var(ebx),
|
||||
uninitialized_var(ecx), uninitialized_var(edx);
|
||||
unsigned int eax, ebx, ecx, edx;
|
||||
|
||||
/* Always available on x86-64. */
|
||||
_mesa_x86_cpu_features |= X86_FEATURE_XMM | X86_FEATURE_XMM2;
|
||||
|
||||
__get_cpuid(1, &eax, &ebx, &ecx, &edx);
|
||||
if (!__get_cpuid(1, &eax, &ebx, &ecx, &edx))
|
||||
return;
|
||||
|
||||
if (ecx & bit_SSE4_1)
|
||||
_mesa_x86_cpu_features |= X86_FEATURE_SSE4_1;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue