<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Lothian,
<div class="">Thanks for testing out out driver!</div>
<div class=""><span style="color: rgb(36, 41, 46); font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class="">Officially we recommend you to stick to GCC5 for now, however, we do have a fix for the constexpr issue
mentioned below that just didn’t make it to this first release.</span></div>
<div class="">According to your diff, are you using ICC?</div>
<div class="">Could you let us know the compiler version as well as your distro?</div>
<div class=""><br class="">
</div>
<div class="">Thanks.</div>
<div class="">Best Regards,</div>
<div class="">David<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Dec 22, 2017, at 9:48 PM, Mike Lothian <<a href="mailto:mike@fireburn.co.uk" class="">mike@fireburn.co.uk</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">Congratulations on getting this out the door
<div class=""><br class="">
</div>
<div class="">It didn't compile for me without these changes:</div>
<div class=""><br class="">
</div>
<div class="">In pal:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">diff --git a/src/util/math.cpp b/src/util/math.cpp</div>
<div class="">index 46e9ede..3af4259 100644</div>
<div class="">--- a/src/util/math.cpp</div>
<div class="">+++ b/src/util/math.cpp</div>
<div class="">@@ -54,7 +54,7 @@ static uint32 Float32ToFloatN(float f, const NBitFloatInfo& info);</div>
<div class=""> static float FloatNToFloat32(uint32 fBits, const NBitFloatInfo& info);</div>
<div class=""><br class="">
</div>
<div class=""> // Initialize the descriptors for various N-bit floating point representations:</div>
<div class="">-static constexpr NBitFloatInfo Float16Info =</div>
<div class="">+static NBitFloatInfo Float16Info =</div>
<div class=""> {</div>
<div class=""> 16, // numBits</div>
<div class=""> 10, // numFracBits</div>
<div class="">@@ -72,7 +72,7 @@ static constexpr NBitFloatInfo Float16Info =</div>
<div class=""> (23 - 10), // fracBitsDiff</div>
<div class=""> };</div>
<div class=""><br class="">
</div>
<div class="">-static constexpr NBitFloatInfo Float11Info =</div>
<div class="">+static NBitFloatInfo Float11Info =</div>
<div class=""> {</div>
<div class=""> 11, // numBits</div>
<div class=""> 6, // numFracBits</div>
<div class="">@@ -90,7 +90,7 @@ static constexpr NBitFloatInfo Float11Info =</div>
<div class=""> 23 - 6, // fracBitsDiff</div>
<div class=""> };</div>
<div class=""><br class="">
</div>
<div class="">-static constexpr NBitFloatInfo Float10Info =</div>
<div class="">+static NBitFloatInfo Float10Info =</div>
<div class=""> {</div>
<div class=""> 10, // numBits</div>
<div class=""> 5, // numFracBits</div>
</div>
<div class=""><br class="">
</div>
<div class="">In xgl:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt</div>
<div class="">index 4e4d669..5006184 100644</div>
<div class="">--- a/icd/CMakeLists.txt</div>
<div class="">+++ b/icd/CMakeLists.txt</div>
<div class="">@@ -503,16 +503,16 @@ if (UNIX)</div>
<div class=""><br class="">
</div>
<div class=""> target_link_libraries(xgl PRIVATE c stdc++ ${CMAKE_DL_LIBS} pthread)</div>
<div class=""><br class="">
</div>
<div class="">- if(NOT ICD_USE_GCC)</div>
<div class="">- message(WARNING "Intel ICC untested in CMake.")</div>
<div class="">- target_link_libraries(xgl PRIVATE -fabi-version=0 -static-intel)</div>
<div class="">- endif()</div>
<div class="">+ #if(NOT ICD_USE_GCC)</div>
<div class="">+ # message(WARNING "Intel ICC untested in CMake.")</div>
<div class="">+ # target_link_libraries(xgl PRIVATE -fabi-version=0 -static-intel)</div>
<div class="">+ #endif()</div>
<div class=""><br class="">
</div>
<div class=""> if(CMAKE_BUILD_TYPE_RELEASE)</div>
<div class=""> if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")</div>
<div class=""> execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div>
<div class=""> if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div>
<div class="">- target_link_libraries(xgl PRIVATE -flto=4 -fuse-linker-plugin -Wno-odr)</div>
<div class="">+ target_link_libraries(xgl PRIVATE -Wno-odr)</div>
<div class=""> message(WARNING "LTO enabled for Linking")</div>
<div class=""> endif()</div>
<div class=""> endif()</div>
<div class="">@@ -530,17 +530,17 @@ if (UNIX)</div>
<div class=""><br class="">
</div>
<div class=""> # CMAKE-TODO: What is whole-archive used for?</div>
<div class=""> #target_link_libraries(xgl -Wl,--whole-archive ${ICD_LIBS} -Wl,--no-whole-archive)</div>
<div class="">- if(CMAKE_BUILD_TYPE_RELEASE)</div>
<div class="">- execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div>
<div class="">- if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div>
<div class="">- target_link_libraries(xgl PRIVATE -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/src/libpal.a -Wl,--no-whole-archive)</div>
<div class="">- target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/metrohash/libmetrohash.a -Wl,--no-whole-archive)</div>
<div class="">- target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/gpuopen/libgpuopen.a -Wl,--no-whole-archive)</div>
<div class="">- target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/vam/libvam.a -Wl,--no-whole-archive)</div>
<div class="">- target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/addrlib/libaddrlib.a -Wl,--no-whole-archive)</div>
<div class="">- target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/jemalloc/libjemalloc.a -Wl,--no-whole-archive)</div>
<div class="">- endif()</div>
<div class="">- endif()</div>
<div class="">+ #if(CMAKE_BUILD_TYPE_RELEASE)</div>
<div class="">+ # execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div>
<div class="">+ # if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div>
<div class="">+ # target_link_libraries(xgl PRIVATE -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/src/libpal.a -Wl,--no-whole-archive)</div>
<div class="">+ # target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/metrohash/libmetrohash.a -Wl,--no-whole-archive)</div>
<div class="">+ # target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/gpuopen/libgpuopen.a -Wl,--no-whole-archive)</div>
<div class="">+ # target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/vam/libvam.a -Wl,--no-whole-archive)</div>
<div class="">+ # target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/addrlib/libaddrlib.a -Wl,--no-whole-archive)</div>
<div class="">+ # target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/jemalloc/libjemalloc.a -Wl,--no-whole-archive)</div>
<div class="">+ # endif()</div>
<div class="">+ #endif()</div>
<div class=""><br class="">
</div>
<div class=""> #${ICD_TARGET}.so${SO_VERSION_NUMBER} : ${filter-out -Wl%,$(LLLIBS})</div>
<div class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">diff --git a/icd/api/llpc/util/llpcDebug.cpp b/icd/api/llpc/util/llpcDebug.cpp</div>
<div class="">index 1273cd6..847786e 100644</div>
<div class="">--- a/icd/api/llpc/util/llpcDebug.cpp</div>
<div class="">+++ b/icd/api/llpc/util/llpcDebug.cpp</div>
<div class="">@@ -113,7 +113,7 @@ bool EnableErrs()</div>
<div class=""> // Translates enum "ResourceMappingNodeType" to string and output to ostream.</div>
<div class=""> raw_ostream& operator<<(</div>
<div class=""> raw_ostream& out, // [out] Output stream</div>
<div class="">- enum class ResourceMappingNodeType type) // Resource map node type</div>
<div class="">+ enum ResourceMappingNodeType type) // Resource map node type</div>
<div class=""> {</div>
<div class=""> const char* pString = nullptr;</div>
<div class=""> switch (type)</div>
</div>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>