Jack, Thank you for the feedback.
In my path to enlightenment I stumbled across the following article, which seems to suggest that using swrast is not such a great idea: http://www.phoronix.com/scan.php?page=article&item=mesa_81_llvmpipe&num=1 Any comment on that? -- Davide Vanzo, PhD Application Developer Adjunct Assistant Professor of Chemical and Biomolecular Engineering Advanced Computing Center for Research and Education (ACCRE) Vanderbilt University - Hill Center 201 (615)-875-9137 www.accre.vanderbilt.edu On May 10 2017, at 12:01 pm, Jack Perdue <[email protected]> wrote: AFAIK, we haven't had any problems with this change (things seem to be working.... users aren't yelling....): < --with-gallium-drivers='swrast,swr'\ --- > --with-gallium-drivers='swrast'\ jack On 05/10/2017 11:45 AM, Vanzo, Davide wrote: > Hello fellow easybuilders, > > I am working on creating a minimal toolchain set of modules for X11 > and Qt for GUI-based software in the foss-2016b toolchain. When trying > to install Mesa-12.0.2-GCC-5.4.0-2.26.eb (created by > using Mesa-12.0.2-foss-2016b.eb) it fails when building the libswrAVX2 > since the LLVM library has been built on a Nehalem machine which does > not have support for AVX (see log at the end of the email). > > Clearly one solution would be to avoid building SWR as part of Mesa > but I have no idea of the implication of this choice since I am not > very familiar with this type of libraries. > > Any suggestion? > > Thanks! > > > PS: Here is the error log: > > CXX rasterizer/jitter/libswrAVX2_la-blend_jit.lo > CXX rasterizer/jitter/libswrAVX2_la-builder.lo > CXX rasterizer/jitter/libswrAVX2_la-builder_misc.lo > CXX rasterizer/jitter/libswrAVX2_la-fetch_jit.lo > CXX rasterizer/jitter/libswrAVX2_la-JitManager.lo > CXX rasterizer/jitter/libswrAVX2_la-streamout_jit.lo > CXX rasterizer/memory/libswrAVX2_la-ClearTile.lo > CXX rasterizer/memory/libswrAVX2_la-LoadTile.lo > CXX rasterizer/memory/libswrAVX2_la-StoreTile.lo > rasterizer/core/threads.cpp: In function ‘void > WorkOnFifoBE(SWR_CONTEXT*, uint32_t, uint64_t&, TileSet&, uint32_t, > uint32_t)’: > rasterizer/core/threads.cpp:467:26: warning: unused variable > ‘numWorkItems’ [-Wunused-variable] > uint32_t numWorkItems = tile.getNumQueued(); > ^ > CXX rasterizer/scripts/libswrAVX2_la-gen_knobs.lo > CXX rasterizer/jitter/libswrAVX2_la-builder_x86.lo > CXX rasterizer/jitter/libswrAVX2_la-builder_gen.lo > CXX swr_loader.lo > CXX rasterizer/common/libswrAVX_la-formats.lo > CXX rasterizer/common/libswrAVX_la-rdtsc_buckets.lo > rasterizer/jitter/builder_misc.cpp: In member function ‘llvm::Value* > Builder::PMAXSD(llvm::Value*, llvm::Value*)’: > rasterizer/jitter/builder_misc.cpp:862:77: error: ‘x86_sse41_pmaxsd’ > is not a member of ‘llvm::Intrinsic’ > Function* pmaxsd = > Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_sse41_pmaxsd); > ^ > rasterizer/jitter/builder_misc.cpp: In member function ‘llvm::Value* > Builder::PMINSD(llvm::Value*, llvm::Value*)’: > rasterizer/jitter/builder_misc.cpp:891:77: error: ‘x86_sse41_pminsd’ > is not a member of ‘llvm::Intrinsic’ > Function* pminsd = > Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_sse41_pminsd); > ^ > make[5]: *** [rasterizer/jitter/libswrAVX2_la-builder_misc.lo] Error 1 > make[5]: *** Waiting for unfinished jobs.... > rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value* > Builder::VPMINSD(llvm::Value*, llvm::Value*)’: > rasterizer/jitter/builder_x86.cpp:85:71: error: ‘x86_avx2_pmins_d’ is > not a member of ‘llvm::Intrinsic’ > Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_avx2_pmins_d); > ^ > rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value* > Builder::VPMAXSD(llvm::Value*, llvm::Value*)’: > rasterizer/jitter/builder_x86.cpp:92:71: error: ‘x86_avx2_pmaxs_d’ is > not a member of ‘llvm::Intrinsic’ > Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_avx2_pmaxs_d); > ^ > rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value* > Builder::VPMOVSXBD(llvm::Value*)’: > rasterizer/jitter/builder_x86.cpp:148:71: error: ‘x86_avx2_pmovsxbd’ > is not a member of ‘llvm::Intrinsic’ > Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_avx2_pmovsxbd); > ^ > rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value* > Builder::VPMOVSXWD(llvm::Value*)’: > rasterizer/jitter/builder_x86.cpp:155:71: error: ‘x86_avx2_pmovsxwd’ > is not a member of ‘llvm::Intrinsic’ > Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule, > Intrinsic::x86_avx2_pmovsxwd); > ^ > make[5]: *** [rasterizer/jitter/libswrAVX2_la-builder_x86.lo] Error 1 > make[5]: Leaving directory > `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium/drivers/swr' > make[4]: *** [all] Error 2 > make[4]: Leaving directory > `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium/drivers/swr' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory > `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src' > make[1]: *** [all] Error 2 > make[1]: Leaving directory > `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src' > make: *** [all-recursive] Error 1 > > > -- > Davide Vanzo, PhD > Application Developer > Adjunct Assistant Professor of Chemical and Biomolecular Engineering > Advanced Computing Center for Research and Education (ACCRE) > Vanderbilt University - Hill Center 201 > (615)-875-9137 > www.accre.vanderbilt.edu

