ports/devel/intel-graphics-compiler/files/patch-unix

276 lines
9.5 KiB
Text

Relax Linux checks for the code works on any non-Windows platform.
CMake Error at IGC/CMakeLists.txt:1974 (message):
IGC_OPTION__ARCHITECTURE_TARGET: Target architecture is not specified and
cannot be deduced from context.
Please specify one, e.g. Windows32, Linux64, Android32, ...
--- IGC/cmake/igc_arch_utils.cmake.orig 2021-03-28 09:45:11 UTC
+++ IGC/cmake/igc_arch_utils.cmake
@@ -48,7 +48,7 @@ function(igc_arch_detect targetArchVarName hostArchVar
set(_targetArchitecture "Windows32")
endif()
# Use system processor set by toolchain or CMake.
- elseif(ANDROID OR (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+ elseif(ANDROID OR (UNIX AND NOT APPLE))
if(ANDROID)
set(_targetArchOS "Android")
else()
@@ -78,7 +78,7 @@ function(igc_arch_detect targetArchVarName hostArchVar
set(_hostArchitecture "Windows32")
endif()
# Use 'uname -m' to detect kernel architecture.
- elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+ elseif(UNIX AND NOT APPLE)
set(_hostArchOS "Linux")
set(_osArchitecture "x86_64")
execute_process(
--- IGC/CMakeLists.txt.orig 2021-03-28 09:45:11 UTC
+++ IGC/CMakeLists.txt
@@ -429,7 +429,7 @@ endif()
# NOTE: LLVM_ON_UNIX is also true for Android (CMAKE_SYSTEM_NAME specified by Android toolchain file is also "Linux",
# but we should make sure so there is no errors in our assumptions).
-if((CMAKE_SYSTEM_NAME MATCHES "Linux") OR ANDROID)
+if((UNIX AND NOT APPLE) OR ANDROID)
set(LLVM_ON_UNIX ON)
else()
set(LLVM_ON_UNIX OFF)
--- 3d/common/iStdLib/File.h.orig 2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/File.h
@@ -105,12 +105,9 @@ inline DWORD GetModuleFileName( char* pFileName, DWORD
#elif defined(ISTDLIB_UMD)
#if defined(_WIN32)
return ::GetModuleFileNameA( NULL, pFileName, bufSize );
- #elif defined(__linux__)
+ #else
//TODO: add Linux implementation.
return 0;
- #else
- // TO DO: replace with non-Windows version
- #error "TODO implement non-Windows equivalent of GetModuleFileName"
#endif
#else
// this compilation path is not intended
--- 3d/common/iStdLib/Object.h.orig 2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/Object.h
@@ -150,7 +150,7 @@ inline long CObject<CAllocatorType>::Acquire( void )
ASSERT( m_RefCount >= 0 );
ASSERT( m_RefCount < LONG_MAX );
-#if defined(ISTDLIB_MT) && defined(__linux__)
+#if defined(ISTDLIB_MT) && defined(__GNUC__)
__sync_fetch_and_add(&m_RefCount, 1);
#elif defined(ISTDLIB_MT)
::InterlockedIncrement(&m_RefCount);
@@ -182,7 +182,7 @@ inline long CObject<CAllocatorType>::Release( void )
{
ASSERT( m_RefCount > 0 );
-#if defined(ISTDLIB_MT) && defined(__linux__)
+#if defined(ISTDLIB_MT) && defined(__GNUC__)
__sync_sub_and_fetch(&m_RefCount, 1);
#elif defined(ISTDLIB_MT)
::InterlockedDecrement(&m_RefCount);
--- 3d/common/iStdLib/utility.h.orig 2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/utility.h
@@ -431,7 +431,7 @@ __forceinline DWORD bsr64( const unsigned long long in
_BitScanReverse64( &index, static_cast<_int64>( mask ) );
return static_cast<DWORD>( index );
-#elif defined __linux__
+#elif defined __GNUC__
return static_cast<unsigned int>( 63 - __builtin_clzll( mask ) );
#else
@@ -464,7 +464,7 @@ __forceinline DWORD bsr( const DWORD mask )
_BitScanReverse( &index, mask );
return static_cast<DWORD>(index);
-#elif defined __linux__
+#elif defined __GNUC__
return static_cast<unsigned int>( 31 - __builtin_clz( mask ) );
#else
@@ -497,7 +497,7 @@ __forceinline DWORD bsf64( const unsigned long long in
_BitScanForward64( &index, static_cast<_int64>( mask ) );
return static_cast<DWORD>( index );
-#elif defined __linux__
+#elif defined __GNUC__
return static_cast<unsigned int>( __builtin_ffsll( mask ) - 1 );
#else
@@ -529,7 +529,7 @@ __forceinline DWORD bsf( const DWORD mask )
_BitScanForward( &index, mask );
return index;
-#elif defined __linux__
+#elif defined __GNUC__
return static_cast<unsigned int>( __builtin_ffsl( mask ) - 1 );
#else
--- IGC/AdaptorCommon/customApi.cpp.orig 2019-11-27 01:05:20 UTC
+++ IGC/AdaptorCommon/customApi.cpp
@@ -457,7 +457,7 @@ namespace IGC
return "";
IGCBaseFolder = "/sdcard/intel/igc/";
-#elif defined __linux__
+#elif !defined __APPLE__
if (!IGC_IS_FLAG_ENABLED(DumpToCustomDir))
{
IGCBaseFolder = "/tmp/IntelIGC/";
@@ -560,7 +560,7 @@ namespace IGC
g_shaderOutputFolder = "";
-#elif defined __linux__
+#elif !defined __APPLE__
if (!IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !IGC_IS_FLAG_ENABLED(DumpToCustomDir))
{
bool needMkdir = false;
--- IGC/AdaptorOCL/CLElfLib/CLElfTypes.h.orig 2020-05-19 05:44:04 UTC
+++ IGC/AdaptorOCL/CLElfLib/CLElfTypes.h
@@ -30,7 +30,7 @@ Abstract: Defines the types used for ELF headers/sect
\******************************************************************************/
#pragma once
-#if defined(__linux__) && defined(OGL)
+#if !defined(__APPLE__) && !defined(_WIN32) && defined(OGL)
#include "os_inc.h"
#endif
--- IGC/GenISAIntrinsics/GenIntrinsics.h.orig 2020-02-10 06:06:31 UTC
+++ IGC/GenISAIntrinsics/GenIntrinsics.h
@@ -67,7 +67,7 @@ namespace GenISAIntrinsic {
/// Thus the type array should two elements:
/// Type Ts[2]{int2, int2}: to resolve to the first instance.
/// Type Ts[2]{int4, int4}: to resolve to the second.
-#if defined(ANDROID) || defined(__linux__)
+#if defined(__GNUC__)
__attribute__ ((visibility ("default"))) Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> OverloadedTys = None);
#else
Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> OverloadedTys = None);
--- IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp.orig 2019-11-27 01:05:20 UTC
+++ IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
@@ -65,9 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#if defined(_WIN32 )|| defined( _WIN64 )
#include <direct.h>
#include <process.h>
-#endif
-
-#if defined __linux__
+#elif !defined(__APPLE__)
#include "iStdLib/File.h"
#endif
@@ -311,7 +309,7 @@ namespace FCL
IGCBaseFolder = pathBuf;
}
-#elif defined __linux__
+#elif !defined(__APPLE__)
if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir))
{
IGCBaseFolder = "/tmp/IntelIGC/";
@@ -387,7 +385,7 @@ namespace FCL
iSTD::CreateAppOutputDir(pathBuf, 256, GetBaseIGCOutputFolder(), false, true, !FCL_IGC_IS_FLAG_ENABLED(ShaderDumpPidDisable));
g_shaderOutputFolder = pathBuf;
}
-#elif defined __linux__
+#elif !defined(__APPLE__)
if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir))
{
bool needMkdir = true;
--- IGC/common/LLVMWarningsPop.hpp.orig 2021-05-12 10:04:39 UTC
+++ IGC/common/LLVMWarningsPop.hpp
@@ -41,6 +41,6 @@ SPDX-License-Identifier: MIT
# pragma warning( pop )
#endif
-#if defined(__linux__)
+#if defined(__GNUC__)
# pragma GCC diagnostic pop
#endif
--- IGC/common/LLVMWarningsPush.hpp.orig 2020-09-16 10:27:28 UTC
+++ IGC/common/LLVMWarningsPush.hpp
@@ -55,7 +55,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# pragma warning( push )
#endif
-#if defined(__linux__)
+#if defined(__GNUC__)
# pragma GCC diagnostic push
# if __GNUC__ > 8
# pragma GCC diagnostic ignored "-Winit-list-lifetime"
--- IGC/common/Stats.cpp.orig 2022-01-28 10:30:23 UTC
+++ IGC/common/Stats.cpp
@@ -1045,7 +1045,7 @@ void TimeStats::printTimeCSV( std::string const& corpu
else
subFile += IGC::Debug::GetShaderCorpusName();
const std::string outputFilePath =
-#if defined(__linux__)
+#if !defined(_WIN32)
subFile + ".csv";
#else
std::string("c:\\Intel\\") + subFile + ".csv";
--- IGC/common/igc_regkeys.hpp.orig 2021-07-18 10:00:28 UTC
+++ IGC/common/igc_regkeys.hpp
@@ -22,7 +22,7 @@ typedef char debugString[256];
#define IGC_DEBUG_VARIABLES
#endif
-#if defined(__linux__)
+#if !defined(__APPLE__) && !defined(_WIN32)
#define IGC_DEBUG_VARIABLES
#endif
@@ -52,7 +52,7 @@ struct SRegKeyVariableMetaData
}
};
-#if defined (__linux__) && !defined(_DEBUG) && !defined(_INTERNAL)
+#if !defined(_WIN32) && !defined(_DEBUG) && !defined(_INTERNAL)
#define LINUX_RELEASE_MODE
#endif
--- visa/BuildCISAIRImpl.cpp.orig 2021-10-29 09:43:43 UTC
+++ visa/BuildCISAIRImpl.cpp
@@ -925,7 +925,6 @@ static std::mutex mtx;
int CISA_IR_Builder::ParseVISAText(const std::string& visaText, const std::string& visaTextFile)
{
const std::lock_guard<std::mutex> lock(mtx);
-#if defined(__linux__) || defined(_WIN64) || defined(_WIN32)
// Direct output of parser to null
#if defined(_WIN64) || defined(_WIN32)
CISAout = fopen("nul", "w");
@@ -973,16 +972,11 @@ int CISA_IR_Builder::ParseVISAText(const std::string&
}
return status;
-#else
- assert(0 && "vISA asm parsing not supported on this platform");
- return VISA_FAILURE;
-#endif
}
// Parses inline asm file from ShaderOverride
int CISA_IR_Builder::ParseVISAText(const std::string& visaFile)
{
-#if defined(__linux__) || defined(_WIN64) || defined(_WIN32)
// Direct output of parser to null
#if defined(_WIN64) || defined(_WIN32)
CISAout = fopen("nul", "w");
@@ -1008,10 +1002,6 @@ int CISA_IR_Builder::ParseVISAText(const std::string&
fclose(CISAout);
}
return VISA_SUCCESS;
-#else
- assert(0 && "Asm parsing not supported on this platform");
- return VISA_FAILURE;
-#endif
}
// default size of the kernel mem manager in bytes