<div dir="ltr">Congratulations on getting this out the door<div><br></div><div>It didn't compile for me without these changes:</div><div><br></div><div>In pal:</div><div><br></div><div><div>diff --git a/src/util/math.cpp b/src/util/math.cpp</div><div>index 46e9ede..3af4259 100644</div><div>--- a/src/util/math.cpp</div><div>+++ b/src/util/math.cpp</div><div>@@ -54,7 +54,7 @@ static uint32 Float32ToFloatN(float f, const NBitFloatInfo& info);</div><div> static float FloatNToFloat32(uint32 fBits, const NBitFloatInfo& info);</div><div><br></div><div> // Initialize the descriptors for various N-bit floating point representations:</div><div>-static constexpr NBitFloatInfo Float16Info =</div><div>+static NBitFloatInfo Float16Info =</div><div> {</div><div>     16,                                                       // numBits</div><div>     10,                                                       // numFracBits</div><div>@@ -72,7 +72,7 @@ static constexpr NBitFloatInfo Float16Info =</div><div>     (23 - 10),                                                // fracBitsDiff</div><div> };</div><div><br></div><div>-static constexpr NBitFloatInfo Float11Info =</div><div>+static NBitFloatInfo Float11Info =</div><div> {</div><div>     11,                                                       // numBits</div><div>     6,                                                        // numFracBits</div><div>@@ -90,7 +90,7 @@ static constexpr NBitFloatInfo Float11Info =</div><div>     23 - 6,                                                   // fracBitsDiff</div><div> };</div><div><br></div><div>-static constexpr NBitFloatInfo Float10Info =</div><div>+static NBitFloatInfo Float10Info =</div><div> {</div><div>     10,                                                       // numBits</div><div>     5,                                                        // numFracBits</div></div><div><br></div><div>In xgl:</div><div><br></div><div><div>diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt</div><div>index 4e4d669..5006184 100644</div><div>--- a/icd/CMakeLists.txt</div><div>+++ b/icd/CMakeLists.txt</div><div>@@ -503,16 +503,16 @@ if (UNIX)</div><div><br></div><div>     target_link_libraries(xgl PRIVATE c stdc++ ${CMAKE_DL_LIBS} pthread)</div><div><br></div><div>-    if(NOT ICD_USE_GCC)</div><div>-        message(WARNING "Intel ICC untested in CMake.")</div><div>-        target_link_libraries(xgl PRIVATE -fabi-version=0 -static-intel)</div><div>-    endif()</div><div>+    #if(NOT ICD_USE_GCC)</div><div>+    #    message(WARNING "Intel ICC untested in CMake.")</div><div>+    #    target_link_libraries(xgl PRIVATE -fabi-version=0 -static-intel)</div><div>+    #endif()</div><div><br></div><div>     if(CMAKE_BUILD_TYPE_RELEASE)</div><div>         if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")</div><div>             execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div><div>             if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div><div>-                target_link_libraries(xgl PRIVATE -flto=4  -fuse-linker-plugin -Wno-odr)</div><div>+                target_link_libraries(xgl PRIVATE -Wno-odr)</div><div>                 message(WARNING "LTO enabled for Linking")</div><div>             endif()</div><div>         endif()</div><div>@@ -530,17 +530,17 @@ if (UNIX)</div><div><br></div><div>     # CMAKE-TODO: What is whole-archive used for?</div><div>     #target_link_libraries(xgl -Wl,--whole-archive ${ICD_LIBS} -Wl,--no-whole-archive)</div><div>-    if(CMAKE_BUILD_TYPE_RELEASE)</div><div>-        execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div><div>-        if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div><div>-            target_link_libraries(xgl PRIVATE -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/src/libpal.a -Wl,--no-whole-archive)</div><div>-            target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/metrohash/libmetrohash.a -Wl,--no-whole-archive)</div><div>-            target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/gpuopen/libgpuopen.a -Wl,--no-whole-archive)</div><div>-            target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/vam/libvam.a -Wl,--no-whole-archive)</div><div>-            target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/addrlib/libaddrlib.a -Wl,--no-whole-archive)</div><div>-            target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/jemalloc/libjemalloc.a -Wl,--no-whole-archive)</div><div>-        endif()</div><div>-    endif()</div><div>+    #if(CMAKE_BUILD_TYPE_RELEASE)</div><div>+    #    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)</div><div>+    #    if (GCC_VERSION VERSION_GREATER 5.3 OR GCC_VERSION VERSION_EQUAL 5.3)</div><div>+    #        target_link_libraries(xgl PRIVATE -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/src/libpal.a -Wl,--no-whole-archive)</div><div>+    #        target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/metrohash/libmetrohash.a -Wl,--no-whole-archive)</div><div>+    #        target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/gpuopen/libgpuopen.a -Wl,--no-whole-archive)</div><div>+    #        target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/vam/libvam.a -Wl,--no-whole-archive)</div><div>+    #        target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/addrlib/libaddrlib.a -Wl,--no-whole-archive)</div><div>+    #        target_link_libraries(xgl PUBLIC -Wl,--whole-archive ${PROJECT_BINARY_DIR}/pal/jemalloc/libjemalloc.a -Wl,--no-whole-archive)</div><div>+    #    endif()</div><div>+    #endif()</div><div><br></div><div>     #${ICD_TARGET}.so${SO_VERSION_NUMBER} : ${filter-out -Wl%,$(LLLIBS})</div><div><div><br></div><div><br></div><div>diff --git a/icd/api/llpc/util/llpcDebug.cpp b/icd/api/llpc/util/llpcDebug.cpp</div><div>index 1273cd6..847786e 100644</div><div>--- a/icd/api/llpc/util/llpcDebug.cpp</div><div>+++ b/icd/api/llpc/util/llpcDebug.cpp</div><div>@@ -113,7 +113,7 @@ bool EnableErrs()</div><div> // Translates enum "ResourceMappingNodeType" to string and output to ostream.</div><div> raw_ostream& operator<<(</div><div>     raw_ostream&                       out,   // [out] Output stream</div><div>-    enum class ResourceMappingNodeType type)  // Resource map node type</div><div>+    enum ResourceMappingNodeType type)  // Resource map node type</div><div> {</div><div>     const char* pString = nullptr;</div><div>     switch (type)</div></div></div><div><br></div><div><br></div></div>