swr: fix build with mingw
authorMichel Zou <xantares09@hotmail.com>
Tue, 1 Sep 2020 07:22:27 +0000 (09:22 +0200)
committerVivek Pandya <vivekvpandya@gmail.com>
Mon, 7 Sep 2020 15:55:17 +0000 (21:25 +0530)
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com>
Cc: mesa-stable
closes #3454

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6532>

12 files changed:
src/gallium/auxiliary/tessellator/tessellator.cpp
src/gallium/drivers/swr/meson.build
src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
src/gallium/drivers/swr/rasterizer/common/os.cpp
src/gallium/drivers/swr/rasterizer/common/os.h
src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp
src/gallium/drivers/swr/rasterizer/common/swr_assert.h
src/gallium/drivers/swr/rasterizer/core/tessellator.cpp
src/gallium/drivers/swr/rasterizer/core/threads.cpp
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp
src/gallium/drivers/swr/rasterizer/memory/Convert.h

index ac16aabd098d4991225f0a522bfa05e3bc4e8b21..7452ec6cb448ba70ff34a9603bb49c5959406635 100644 (file)
@@ -18,9 +18,7 @@
 */
 
 #include "tessellator.hpp"
-#if defined(__MINGW32__) || defined(__MINGW64__)
-#include <cmath>
-#elif defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #include <math.h> // ceil
 #else
 #include <cmath>
@@ -195,7 +193,7 @@ INT32 floatToIDotF( const float& input )
         if (iShift >= 0)
         {
 //            assert( iShift < 32 );
-#if defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #pragma warning( suppress : 4293 )
 #endif
             _fxpMaxPosValueFloat -= INT32( 1 ) << iShift;
@@ -217,7 +215,7 @@ INT32 floatToIDotF( const float& input )
         if (iShift >= 0)
         {
 //            assert( iShift < 32 );
-#if defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #pragma warning( suppress : 4293 )
 #endif
             _fxpMaxPosValueFloat -= INT32( 1 ) << iShift;
index f8c4ba93f55f3a587331d6e41e061d7ecfa487b4..0e6f9214f3cda23fcdf2af59accd6ba5eef11172 100644 (file)
@@ -239,6 +239,7 @@ if with_swr_arches.contains('skx')
       version : '0.0.0',
       soversion : host_machine.system() == 'windows' ? '' : '0',
       install : true,
+      name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
     )
   else
     swr_arch_libs += static_library(
@@ -280,6 +281,7 @@ if with_swr_arches.contains('knl')
       version : '0.0.0',
       soversion : host_machine.system() == 'windows' ? '' : '0',
       install : true,
+      name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
     )
   else
     swr_arch_libs += static_library(
@@ -326,6 +328,7 @@ if with_swr_arches.contains('avx2')
       version : '0.0.0',
       soversion : host_machine.system() == 'windows' ? '' : '0',
       install : true,
+      name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
     )
   else
     swr_arch_libs += static_library(
@@ -360,6 +363,7 @@ if with_swr_arches.contains('avx')
       version : '0.0.0',
       soversion : host_machine.system() == 'windows' ? '' : '0',
       install : true,
+      name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
     )
   else
     swr_arch_libs += static_library(
index c1d3f2d6138b210228e0c4911478b2dd81e77a67..bcdc6d0135832dc977694a8ef7c8057f6c3fff95 100644 (file)
@@ -25,6 +25,8 @@
  * @brief Implementation for archrast.
  *
  ******************************************************************************/
+#include <sys/stat.h>
+
 #include <atomic>
 #include <map>
 
index aa817d451b4a19c8e6c40f134fa276f6d5a805cd..a40745f30fcabceb04e0ebdfb64d60b6bc8e4bb9 100644 (file)
@@ -34,7 +34,7 @@
 #include <pthread.h>
 #endif // Linux
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
 static const DWORD MS_VC_EXCEPTION = 0x406D1388;
 
 #pragma pack(push, 8)
@@ -76,7 +76,7 @@ void LegacySetThreadName(const char* pThreadName)
 
 void SWR_API SetCurrentThreadName(const char* pThreadName)
 {
-#if defined(_WIN32)
+#if defined(_MSC_VER)
     // The SetThreadDescription API was brought in version 1607 of Windows 10.
     typedef HRESULT(WINAPI * PFNSetThreadDescription)(HANDLE hThread, PCWSTR lpThreadDescription);
     // The SetThreadDescription API works even if no debugger is attached.
index bda114d64e2faeef2b095085cf5d59c80382cf79..f48ed6443c69c2479822f8d6b8626f691df569fd 100644 (file)
 #undef MemoryFence
 #endif
 
+#if defined(_MSC_VER)
 #define OSALIGN(RWORD, WIDTH) __declspec(align(WIDTH)) RWORD
+#elif defined(__GNUC__)
+#define OSALIGN(RWORD, WIDTH) RWORD __attribute__((aligned(WIDTH)))
+#endif
 
 #if defined(_DEBUG)
 // We compile Debug builds with inline function expansion enabled.  This allows
index 8e874fbc223c898100fa0f07d4b74e4c1fe4c6d1..0f5382044c294ba82854e2ea546f838bd35aeec8 100644 (file)
@@ -30,7 +30,7 @@
 
 #if SWR_ENABLE_ASSERTS || SWR_ENABLE_REL_ASSERTS
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
 #pragma comment(lib, "user32.lib")
 #endif // _WIN32
 
index f6bf83ea5a8ca139eb429ae3f8285aa4ffb0ebeb..cd9854f2549943b516bc1c1060fb8a4585822160 100644 (file)
@@ -71,7 +71,7 @@
     while (0)          \
     _SWR_WARN_RESTORE
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
 #define SWR_ASSUME(e, ...)        \
     _SWR_MACRO_START __assume(e); \
     _SWR_MACRO_END
index 05a598b60a9e113101ad891297adb0c2febe410c..d9f4ddb3ffb5b124dd6e7afcc80e2df92060f061 100644 (file)
@@ -18,7 +18,7 @@
 */
 
 #include "tessellator.hpp"
-#if defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #include <math.h> // ceil
 #else
 #include <cmath>
@@ -179,7 +179,7 @@ INT32 floatToIDotF( const float& input )
         if (iShift >= 0)
         {
 //            assert( iShift < 32 );
-#if defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #pragma warning( suppress : 4293 )
 #endif
             _fxpMaxPosValueFloat -= INT32( 1 ) << iShift;
@@ -201,7 +201,7 @@ INT32 floatToIDotF( const float& input )
         if (iShift >= 0)
         {
 //            assert( iShift < 32 );
-#if defined(_WIN32) || defined(_WIN64)
+#if defined(_MSC_VER)
 #pragma warning( suppress : 4293 )
 #endif
             _fxpMaxPosValueFloat -= INT32( 1 ) << iShift;
index 556e02e99ef049c76106d22fa396cdb99d87516a..1338f92907123b938a7715c2bb562ca51f761b06 100644 (file)
@@ -105,8 +105,6 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread
 
             Core* pCore = nullptr;
 
-            uint32_t numThreads = (uint32_t)_mm_popcount_sizeT(gmask.Mask);
-
             while (BitScanForwardSizeT((unsigned long*)&threadId, gmask.Mask))
             {
                 // clear mask
@@ -148,8 +146,6 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread
                 auto& numaNode  = out_nodes[numaId];
                 numaNode.numaId = numaId;
 
-                uint32_t coreId = 0;
-
                 if (nullptr == pCore)
                 {
                     numaNode.cores.push_back(Core());
@@ -980,14 +976,14 @@ DWORD workerThreadMain<false, false>(LPVOID) = delete;
 template <bool IsFEThread, bool IsBEThread>
 DWORD workerThreadInit(LPVOID pData)
 {
-#if defined(_WIN32)
+#if defined(_MSC_VER)
     __try
 #endif // _WIN32
     {
         return workerThreadMain<IsFEThread, IsBEThread>(pData);
     }
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
     __except (EXCEPTION_CONTINUE_SEARCH)
     {
     }
index 96224a7373887f34862efabbfdc2dc122ce04deb..7b8689933b5dd6409de9df7a8a3cb5ac64c9315c 100644 (file)
@@ -159,7 +159,7 @@ JitManager::JitManager(uint32_t simdWidth, const char* arch, const char* core) :
 
     mFetchShaderTy = FunctionType::get(Type::getVoidTy(mContext), fsArgs, false);
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
     // explicitly instantiate used symbols from potentially staticly linked libs
     sys::DynamicLibrary::AddSymbol("exp2f", &exp2f);
     sys::DynamicLibrary::AddSymbol("log2f", &log2f);
index a5c5b1f73c9eefce7b18d069cffde6e5824dac69..3e7bc8b5df8a4a2b3017c4c6d98fcb464a3dd7e0 100644 (file)
@@ -30,7 +30,7 @@
 
 #pragma once
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
 #pragma warning(disable : 4146 4244 4267 4800 4996)
 #endif
 
index de4986c2732a38371d9ba871e39a9b65aaec8921..c8c6b30daff000eed4046ce792d0bc56873e652c 100644 (file)
@@ -27,7 +27,7 @@
 ******************************************************************************/
 #pragma once
 
-#if defined(_WIN32)
+#if defined(_MSC_VER)
 // disable "potential divide by 0"
 #pragma warning(disable: 4723)
 #endif