GN: Expose XCB surface extension on Linux.

ANGLE uses this extension instead of the Xlib extension.

Bug: angleproject:3876
Bug: b/140251624
Change-Id: I4bc420ddc340b8c35eca20d894718c8c3db68a3a
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36148
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/Vulkan/BUILD.gn b/src/Vulkan/BUILD.gn
index 3e33cd7..c2e63d6 100644
--- a/src/Vulkan/BUILD.gn
+++ b/src/Vulkan/BUILD.gn
@@ -20,6 +20,7 @@
   if (is_linux) {
     defines = [
       "VK_USE_PLATFORM_XLIB_KHR",
+      "VK_USE_PLATFORM_XCB_KHR",
       "VK_EXPORT=__attribute__((visibility(\"default\")))",
     ]
   } else if (is_fuchsia) {
diff --git a/src/WSI/BUILD.gn b/src/WSI/BUILD.gn
index 2ea3ad2..10d2b8d 100644
--- a/src/WSI/BUILD.gn
+++ b/src/WSI/BUILD.gn
@@ -24,6 +24,8 @@
 
   if (is_linux) {
     sources += [
+      "XcbSurfaceKHR.cpp",
+      "XcbSurfaceKHR.hpp",
       "XlibSurfaceKHR.cpp",
       "XlibSurfaceKHR.hpp",
       "libX11.cpp",