[Mesa-dev] Build mesa-dev on Windows with AVX instruction set problem

Roland Scheidegger sroland at vmware.com
Wed Oct 25 22:55:35 UTC 2017


Am 26.10.2017 um 00:26 schrieb Ilia Mirkin:
> On Wed, Oct 25, 2017 at 6:15 PM, Fabrício Ceolin
> <fabricio.ceolin at miningmath.com <mailto:fabricio.ceolin at miningmath.com>>
> wrote:
> 
>     Hi,
> 
>     Thanks. I recompiled everything (on Windows) using this real machine:
> 
>     #under msys2
>     $ cat /proc/cpuinfo
>     processor       : 0
>     vendor_id       : GenuineIntel
>     cpu family      : 6
>     model           : 23
>     model name      : Genuine Intel(R) CPU           U2300  @ 1.20GHz
>     stepping        : 10
>     cpu MHz         : 1197.000
>     cache size      : 1024 KB
>     physical id     : 0
>     siblings        : 2
>     core id         : 0
>     cpu cores       : 2
>     apicid          : 0
>     initial apicid  : 0
>     fpu             : yes
>     fpu_exception   : yes
>     cpuid level     : 13
>     wp              : yes
>     flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
>     pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
>     pbe pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave
>     osxsave lahf_lm dtherm
>     clflush size    : 64
>     cache_alignment : 64
>     address sizes   : 36 bits physical, 48 bits virtual
>     power management:
> 
>     but I got the same error:
> 
>     00007FF85FBF874F 48 83 7A 18 10       cmp         qword ptr
>     [rdx+18h],10h  
>     00007FF85FBF8754 48 8B 6A 10          mov         rbp,qword ptr
>     [rdx+10h]  
>     00007FF85FBF8758 72 03                jb         
>     std::basic_string<char,std::char_traits<char>,std::allocator<char>
>     >::basic_string<char,std::char_traits<char>,std::allocator<char>
>     >+2Dh (07FF85FBF875Dh)  
>     00007FF85FBF875A 48 8B 32             mov         rsi,qword ptr [rdx]  
>     00007FF85FBF875D 48 83 FD 10          cmp         rbp,10h  
>     00007FF85FBF8761 73 27                jae       
>      std::basic_string<char,std::char_traits<char>,std::allocator<char>
>     >::basic_string<char,std::char_traits<char>,std::allocator<char>
>     >+5Ah (07FF85FBF878Ah)  
>     *00007FF85FBF8763 C5 F8 10 06          vmovups     xmm0,xmmword ptr
>     [rsi]  *
>     00007FF85FBF8767 C5 F8 11 01          vmovups     xmmword ptr
>     [rcx],xmm0  
>     00007FF85FBF876B 48 89 69 10          mov         qword ptr
>     [rcx+10h],rbp
> 
>     Are there any parameters that I can use for avoid to use AVX (or
>     better) instructions?
> 
> 
> LP_NATIVE_VECTOR_WIDTH=128 should force you to a non-avx path. There's
> also a LP_FORCE_SSE2=1 which will also avoid sse3/4 usage. However all
> this stuff should be getting detected, so it's odd that it's messing up.
> Perhaps run with GALLIUM_DUMP_CPU=1 to see what's being detected?
> 

Also, a backtrace when it crashes would be nice. I am not convinced this
is actually happening inside a code-generated shader...

Roland




More information about the mesa-dev mailing list