Announcement

Collapse
No announcement yet.

Windows binaries for Mesa 12 LLVMPipe and OpenSWR?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows binaries for Mesa 12 LLVMPipe and OpenSWR?

    Don't kill me if I ask for them on a Linux-oriented (and devoted) site but I have some problems compiling them correctly on Windows AND for Windows.
    I know MSYS2 has a repository with Windows binaries (Mesa 11.2) but now MESA (12.x) got OpenSWR too and I'm really interested in testing the 2 OpenGL implementations for CPU.

    Can anyone provide them here? Thanks!

  • #2
    Anyone?

    Comment


    • #3
      OK, i got it Compiled successfully Mesa 12 LLVMPipe with LLVM 3.7.1 and MSVC 2015! Men, LLVM 3.8 and 3.9 miss LLVMIPA that is necessary to compile LLVMPipe! How I can contact LLVM devs and ask them why they removed it?

      But now, one question: I can compile Gallium3D-LLVMPipe with "scons platform=windows build=release libgl-gdi", can someone tell me how switch to OpenSWR or is already in opengl32.dll I built?

      Comment


      • #4
        On Linux you set the environment variables
        LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=swr
        On windos, no idea.

        Comment


        • #5
          Thanks! Problem is there's no sconscript file in "swr" dir, so I thinks my little DLL doesn't include OpenSWR at all.....

          Comment


          • #6
            Mesa 17 has OpenSWR support on Windows. To build OpenSWR you have to add swr=1 to scons build command like this:
            scons platform=windows build=release swr=1 libgl-gdi
            I automated the build process for Mesa on Windows and built a full installer. My work is available here:
            mesa-dist-win - Pre-built mesa software renderer for Windows using Visual Studio

            Comment


            • #7
              Thanks man! Eager to try myself! How about LLVM 4.0? I got some errors using it with MSVC 2015 CE and Mesa!

              Comment


              • #8
                Ah, another question: how can I be sure that swrAVX.dll and swrAVX2.dll are actually used by opengl32.dll @runtime?

                I must set GALLIUM_DRIVER somewhere?
                The default software renderer is still llvmpipe, and, like on linux, you enable SWR by setting the GALLIUM_DRIVER variable to "swr".
                Last edited by lowenz; 03 March 2017, 09:30 PM.

                Comment


                • #9
                  OK, working! Setting the variable per exe using a bat is enough

                  softpipe -> terrible performance in games
                  swr -> bad performance in games
                  llvmpipe -> good performance in games

                  As expected! (I'm using Yamagi Q2 as benchmark)
                  So, I return to the first question: How about LLVM 4.0 (I built it successfully targeting X86 arch)? I got some errors using it with MSVC 2015 CE and Mesa!

                  " Compiling src\compiler\glsl\ast_array_index.cpp ...
                  ast_array_index.cpp
                  c:\projects\mesa-master\include\c11\threads_win32.h(151): error C2027: use of undefined type 'xtime'
                  C:\Projects\mesa-master\include\c11/threads.h(48): note: see declaration of 'xtime'
                  c:\projects\mesa-master\include\c11\threads_win32.h(151): error C2227: left of '->sec' must point to class/struct/union/generic type
                  c:\projects\mesa-master\include\c11\threads_win32.h(151): error C2227: left of '->nsec' must point to class/struct/union/generic type
                  c:\projects\mesa-master\include\c11\threads_win32.h(446): error C2027: use of undefined type 'xtime'
                  C:\Projects\mesa-master\include\c11/threads.h(48): note: see declaration of 'xtime'
                  c:\projects\mesa-master\include\c11\threads_win32.h(446): error C2227: left of '->sec' must point to class/struct/union/generic type
                  c:\projects\mesa-master\include\c11\threads_win32.h(637): error C2027: use of undefined type 'xtime'
                  C:\Projects\mesa-master\include\c11/threads.h(48): note: see declaration of 'xtime'
                  c:\projects\mesa-master\include\c11\threads_win32.h(637): error C2227: left of '->sec' must point to class/struct/union/generic type
                  c:\projects\mesa-master\include\c11\threads_win32.h(638): error C2027: use of undefined type 'xtime'
                  C:\Projects\mesa-master\include\c11/threads.h(48): note: see declaration of 'xtime'
                  c:\projects\mesa-master\include\c11\threads_win32.h(638): error C2227: left of '->nsec' must point to class/struct/union/generic type
                  scons: *** [build\windows-x86\gallium\auxiliary\gallivm\lp_bld_misc.obj] Error 2
                  scons: building terminated because of errors."


                  No errors with LLVM 3.9.1

                  Comment


                  • #10
                    Same here, definitely a bug. I think this issue needs a new thread.

                    Comment

                    Working...
                    X