Panagiotis Christopoulos Charitos 6 лет назад
Родитель
Сommit
b2ea9c46f0
3 измененных файлов с 25 добавлено и 12 удалено
  1. 19 11
      src/anki/gr/vulkan/Common.h
  2. 5 0
      src/anki/gr/vulkan/GrManagerImpl.cpp
  3. 1 1
      thirdparty

+ 19 - 11
src/anki/gr/vulkan/Common.h

@@ -9,13 +9,20 @@
 
 #if ANKI_OS_LINUX
 #	define VK_USE_PLATFORM_XCB_KHR 1
+#	define VK_USE_PLATFORM_XLIB_KHR 1
 #elif ANKI_OS_WINDOWS
 #	define VK_USE_PLATFORM_WIN32_KHR 1
 #else
 #	error TODO
 #endif
 #include <volk/volk.h>
-#include <anki/util/CleanupWindows.h> // Clean global namespace
+
+// Cleanup global namespace from these dirty libaries
+#if ANKI_OS_LINUX
+#	undef Bool
+#elif ANKI_OS_WINDOWS
+#	include <anki/util/CleanupWindows.h>
+#endif
 
 namespace anki
 {
@@ -39,16 +46,17 @@ enum class VulkanExtensions : U16
 	NONE = 0,
 	KHR_MAINENANCE1 = 1 << 0,
 	KHR_XCB_SURFACE = 1 << 1,
-	KHR_WIN32_SURFACE = 1 << 2,
-	KHR_SWAPCHAIN = 1 << 3,
-	KHR_SURFACE = 1 << 4,
-	EXT_DEBUG_MARKER = 1 << 5,
-	KHR_DEDICATED_ALLOCATION = 1 << 6,
-	EXT_SHADER_SUBGROUP_BALLOT = 1 << 7,
-	EXT_DEBUG_REPORT = 1 << 8,
-	AMD_SHADER_INFO = 1 << 9,
-	AMD_RASTERIZATION_ORDER = 1 << 10,
-	EXT_DESCRIPTOR_INDEXING = 1 << 11,
+	KHR_XLIB_SURFACE = 1 << 2,
+	KHR_WIN32_SURFACE = 1 << 3,
+	KHR_SWAPCHAIN = 1 << 4,
+	KHR_SURFACE = 1 << 5,
+	EXT_DEBUG_MARKER = 1 << 6,
+	KHR_DEDICATED_ALLOCATION = 1 << 7,
+	EXT_SHADER_SUBGROUP_BALLOT = 1 << 8,
+	EXT_DEBUG_REPORT = 1 << 9,
+	AMD_SHADER_INFO = 1 << 10,
+	AMD_RASTERIZATION_ORDER = 1 << 11,
+	EXT_DESCRIPTOR_INDEXING = 1 << 12,
 };
 ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(VulkanExtensions, inline)
 

+ 5 - 0
src/anki/gr/vulkan/GrManagerImpl.cpp

@@ -305,6 +305,11 @@ Error GrManagerImpl::initInstance(const GrManagerInitInfo& init)
 				m_extensions |= VulkanExtensions::KHR_XCB_SURFACE;
 				instExtensions[instExtensionCount++] = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
 			}
+			else if(CString(instExtensionInf[i].extensionName) == VK_KHR_XLIB_SURFACE_EXTENSION_NAME)
+			{
+				m_extensions |= VulkanExtensions::KHR_XLIB_SURFACE;
+				instExtensions[instExtensionCount++] = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
+			}
 #elif ANKI_OS_WINDOWS
 			if(CString(instExtensionInf[i].extensionName) == VK_KHR_WIN32_SURFACE_EXTENSION_NAME)
 			{

+ 1 - 1
thirdparty

@@ -1 +1 @@
-Subproject commit 56f6b7aac7556f1268d99475d80024ed49bd5349
+Subproject commit 7edcb1d11295ed6edd5cb62e0dc78d033802c8f2