Roll SwiftShader from 6190d1fc7e14 to 598c7cddf07f (3 revisions) am: f03371f25e am: 81a6937f61 am: 2e6ed02f64

Original change: https://android-review.googlesource.com/c/platform/external/swiftshader/+/2064808

Change-Id: I3e78fab46c9d1a83a7e8e0f5030dabf3c343a374
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/BUILD.gn b/BUILD.gn
index 3379d5b..83affe0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -84,8 +84,8 @@
 
 group("swiftshader") {
   data_deps = [
-    "src/OpenGL/libEGL:swiftshader_libEGL",
-    "src/OpenGL/libGLESv2:swiftshader_libGLESv2",
+    "src/Vulkan:icd_file",
+    "src/Vulkan:swiftshader_libvulkan",
   ]
 }
 
@@ -93,10 +93,7 @@
   group("swiftshader_tests") {
     testonly = true
 
-    data_deps = [
-      "tests/GLESUnitTests:swiftshader_unittests",
-      "tests/SystemUnitTests:swiftshader_system_unittests",
-    ]
+    data_deps = [ "tests/SystemUnitTests:swiftshader_system_unittests" ]
 
     if (supports_llvm) {
       data_deps +=
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7049995..deb0c05 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,10 +111,10 @@
     check_symbol_exists(mallinfo2 malloc.h HAVE_MALLINFO2)
 
     include(CheckIncludeFiles)
-    CHECK_INCLUDE_FILES("xcb/xcb.h" HAVE_XCB_H)
+    CHECK_INCLUDE_FILES("xcb/xcb.h;xcb/shm.h" HAVE_XCB_H)
     if(NOT HAVE_XCB_H)
-        message(WARNING "xcb/xcb.h was not found. Install the libx11-xcb-dev package "
-                        "to build with WSI support for XCB surfaces.")
+        message(WARNING "xcb/xcb.h or xcb/shm.h was not found. Install the libx11-xcb-dev and "
+                        "libxcb-shm0-dev packages to build with WSI support for XCB surfaces.")
     endif()
 endif()
 
diff --git a/extensions/CHROMIUM_texture_filtering_hint.txt b/extensions/CHROMIUM_texture_filtering_hint.txt
deleted file mode 100644
index 38af6e0..0000000
--- a/extensions/CHROMIUM_texture_filtering_hint.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-Name
-
-    CHROMIUM_texture_filtering_hint
-
-Name Strings
-
-    GL_CHROMIUM_texture_filtering_hint
-
-Contributors
-
-    Alexis Hetu, Google Inc.
-    Nicolas Capens, Google Inc.
-    Shannon Woods, Google Inc.
-
-Contact
-
-    Alexis Hetu, Google Inc. (sugoi 'at' chromium 'dot' org)
-
-Version
-
-    Last Modifed Date: July 18, 2017
-
-Dependencies
-
-    This extension is written against the OpenGL ES 2.0 specification.
-
-    OpenGL ES 2.0 is required.
-
-Overview
-
-    This extension defines a way to request high precision texture filtering
-    using a new value to Hint.
-
-    When this extension is enabled, TEXTURE_FILTERING_HINT_CHROMIUM can be used
-    by the implementation as a means to distinguish between a performance
-    focused implementation, using FASTEST, or a precision focused
-    implementation, using NICEST.
-
-    Like other hints, either option is spec compliant and the behavior of
-    DONT_CARE is implementation specific.
-
-New Tokens
-
-    Accepted by the <pname> parameter of GetIntegerv, GetFloatv and GetBooleanv
-    and by the <target> parameter of Hint:
-
-    TEXTURE_FILTERING_HINT_CHROMIUM      0x8AF0
-
-New Procedures and Functions
-
-    None.
-
-Errors
-
-    None.
-
-New State
-
-    None.
-
-Issues
-
-    1) When does the hint take effect?
-
-       At the time of the next draw call, and all subsequent draw calls.
-  
-    2) Does the first draw call after the filtering hint is changed use the
-       updated filtering method?
-
-       Yes
- 
-    3) Can I switch it back and forth between every draw call, multiple times
-       during a single frame?
-
-       Yes
- 
-    4) Do program objects which were created before the filtering hint was
-       changed and which contain sampling instructions use the filtering method
-       from when they were created, or the method at the time of draw call?
-
-       At the time of draw call.
-
-Revision History
-
-    2/7/2014    Documented the extension
diff --git a/extensions/EGL_ANGLE_iosurface_client_buffer.txt b/extensions/EGL_ANGLE_iosurface_client_buffer.txt
deleted file mode 100644
index 8206eab..0000000
--- a/extensions/EGL_ANGLE_iosurface_client_buffer.txt
+++ /dev/null
@@ -1,124 +0,0 @@
-Name
-
-    ANGLE_iosurface_client_buffer
-
-Name Strings
-
-    EGL_ANGLE_iosurface_client_buffer
-
-Contributors
-
-    Corentin Wallez
-    Geoff Lang
-    James Darpinian
-
-Contacts
-
-    Corentin Wallez, Google Inc. (cwallez 'at' google.com)
-
-Status
-
-    Draft
-
-Version
-    Version 3, Aug 13, 2019
-
-Number
-
-    EGL Extension #??
-
-Dependencies
-
-    This extension is written against the wording of the EGL 1.4
-    Specification.
-
-Overview
-
-    This extension allows creating EGL surfaces from IOSurface objects.
-
-New Types
-
-    None
-
-New Procedures and Functions
-
-    None
-
-New Tokens
-
-    Accepted in the <buftype> parameter of eglCreatePbufferFromClientBuffer:
-
-        EGL_IOSURFACE_ANGLE            0x3454
-        EGL_IOSURFACE_PLANE_ANGLE      0x345A
-        EGL_TEXTURE_RECTANGLE_ANGLE    0x345B
-        EGL_TEXTURE_TYPE_ANGLE         0x345C
-        EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
-
-Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
-
-    Replace the last sentence of paragraph 1 of Section 3.5.3 with the
-    following text.
-    "Currently, the only client API resources which may be bound in this
-    fashion are OpenVG VGImage objects and IOSurface objects."
-
-    Replace the third paragraph of Section 3.5.3 with the following text.
-    "<buftype> specifies the type of buffer to be bound. The only allowed values
-    of <buftype> are EGL_OPENVG_IMAGE and EGL_IOSURFACE_ANGLE".
-
-    Append the following text to the fourth paragraph of Section 3.5.3.
-    "When <buftype> is EGL_IOSURFACE_ANGLE, <buffer> must be a valid IOSurface
-    object case into the type EGLClientBuffer."
-
-    Append to the end of Section 3.5.3.
-    "When <buftype> is EGL_IOSURFACE_ANGLE, <attrib_list> must contain all the
-    following attributes otherwise EGL_BAD_PARAMETER is generated. The
-    attributes must satisfy the following constraints otherwise
-    EGL_BAD_ATTRIBUTE is generated:
-      - EGL_TEXTURE_TYPE_ANGLE, and EGL_TEXTURE_INTERNAL_FORMAT_ANGLE followed
-    by OpenGL enums for texture types, and texture internal format
-    respectively.
-      - EGL_TEXTURE_FORMAT with a value of EGL_TEXTURE_RGBA
-      - EGL_WIDTH with a value between 1 and the width of <buffer>.
-      - EGL_HEIGHT with a value between 1 and the height of <buffer>.
-      - EGL_TEXTURE_TARGET with a value of EGL_TEXTURE_RECTANGLE_ANGLE
-      - EGL_IOSURFACE_PLANE_ANGLE with a value between 0 and the number of
-    planes of <buffer> (exclusive).
-
-    In addition the EGL_TEXTURE_TYPE_ANGLE and
-    EGL_TEXTURE_INTERNAL_FORMAT_ANGLE attributes must be one of the
-    combinations listed in table egl.iosurface.formats or an
-    EGL_BAD_PARAMETER is generated. The combination must also be a valid
-    combinations for glTexImage2D or EGL_BAD_PARAMETER is generated."
-
-    ---------------------------------------------------------------------------
-    Texture Type               Texture Internal Format
-    ---------------------------------------------------------------------------
-    GL_UNSIGNED_BYTE           GL_RED
-    GL_UNSIGNED_SHORT          GL_R16UI
-    GL_UNSIGNED_BYTE           GL_RG
-    GL_UNSIGNED_BYTE           GL_RGB
-    GL_UNSIGNED_BYTE           GL_BGRA_EXT
-    GL_HALF_FLOAT              GL_RGBA
-    ---------------------------------------------------------------------------
-    Table egl.iosurface.formats - Valid combinations of format, type and
-    internal format for IOSurface-backed pbuffers.
-    ---------------------------------------------------------------------------
-
-    Append to the end of Section 3.5.3.
-    "When a pbuffer is created with type EGL_IOSURFACE_ANGLE, the contents
-    of the associcated IOSurface object are undefined while the pbuffer is
-    bound to a client texture."
-
-Issues
-
-    1. Can RGB formats be supported?
-
-    RESOLVED: Support for RGB internal formats is added in version 3. Surfaces
-    with an RGB format will ensure that the alpha channel of the IOSurface is
-    reset to 1.0 when it is used.
-
-Revision History
-
-    Version 1, 2017/12/06 - first draft.
-    Version 2, 2019/04/01 - Allow MakeCurrent.
-    Version 3, 2019/08/13 - Allow RGB internal formats
diff --git a/src/Main/BUILD.gn b/src/Main/BUILD.gn
deleted file mode 100644
index 136de93..0000000
--- a/src/Main/BUILD.gn
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build/config/ui.gni")
-import("../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_main_private_config") {
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd5030",  # attribute is not recognized
-    ]
-
-    if (is_clang) {
-      cflags += [
-        "-Wno-string-conversion",
-        "-Wno-sign-compare",
-      ]
-    }
-  }
-}
-
-swiftshader_source_set("swiftshader_main") {
-  deps = [
-    "../Common:swiftshader_common",
-  ]
-
-  sources = [
-    "Config.cpp",
-    "FrameBuffer.cpp",
-    "SwiftConfig.cpp",
-  ]
-
-  defines = []
-
-  if (use_ozone && !is_win) {
-    sources += [
-      "FrameBufferOzone.cpp",
-      "FrameBufferFactoryOzone.cpp",
-    ]
-  } else if (is_mac) {
-    sources += [ "FrameBufferOSX.mm" ]
-  } else if (is_win) {
-    sources += [
-      "FrameBufferDD.cpp",
-      "FrameBufferGDI.cpp",
-      "FrameBufferWin.cpp",
-    ]
-  }
-
-  if (ozone_platform_x11) {
-    sources += [
-      "FrameBufferX11.cpp",
-      "libX11.cpp",
-    ]
-    defines += [ "SWIFTSHADER_USE_X11" ]
-  }
-
-  if (is_win) {
-    libs = [ "dxguid.lib" ]  # For FrameBufferDD
-  }
-
-  configs = [ ":swiftshader_main_private_config" ]
-
-  include_dirs = [ ".." ]
-
-  if (is_mac) {
-    include_dirs += [ "../../include" ]
-    frameworks = [
-      "Quartz.framework",
-      "Cocoa.framework",
-    ]
-  }
-}
diff --git a/src/OpenGL/common/BUILD.gn b/src/OpenGL/common/BUILD.gn
deleted file mode 100644
index 9cc22bf..0000000
--- a/src/OpenGL/common/BUILD.gn
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("../../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_opengl_common_private_config") {
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd4324",  # structure was padded due to alignment specifier
-      "/wd5030",  # attribute is not recognized
-    ]
-  }
-}
-
-swiftshader_source_set("swiftshader_opengl_common") {
-  sources = [
-    "Image.cpp",
-    "MatrixStack.cpp",
-    "Object.cpp",
-    "debug.cpp",
-  ]
-
-  configs = [ ":swiftshader_opengl_common_private_config" ]
-
-  include_dirs = [
-    "..",
-    "../..",
-    "../../../include",
-  ]
-}
diff --git a/src/OpenGL/compiler/BUILD.gn b/src/OpenGL/compiler/BUILD.gn
deleted file mode 100644
index 67b2739..0000000
--- a/src/OpenGL/compiler/BUILD.gn
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("../../swiftshader.gni")
-import("//testing/libfuzzer/fuzzer_test.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_opengl_compiler_private_config") {
-  if (is_win) {
-    cflags = [
-      "/wd4005",  # macro redefinition (in autogenerated code)
-      "/wd4201",  # nameless struct/union
-      "/wd4267",  # conversion from size_t to int/unsigned int
-      "/wd4702",  # unreachable code (in autogenerated code)
-      "/wd5030",  # attribute is not recognized
-    ]
-
-    if (!is_debug) {
-      cflags += [ "/wd4189" ]  # local variable is initialized but not referenced (variables only used in ASSERTS)
-    }
-  } else {
-    cflags = [ "-Wno-sign-compare" ]
-
-    if (!is_debug) {
-      cflags += [ "-Wno-unused-variable" ]  # local variable is initialized but not referenced (variables only used in ASSERTS)
-    }
-  }
-}
-
-config("swiftshader_translator_disable_pool_alloc") {
-    defines = [ "SWIFTSHADER_TRANSLATOR_DISABLE_POOL_ALLOC" ]
-}
-
-swiftshader_source_set("swiftshader_opengl_compiler") {
-  deps = [
-    "preprocessor:swiftshader_opengl_preprocessor",
-  ]
-
-  sources = [
-    "AnalyzeCallDepth.cpp",
-    "Compiler.cpp",
-    "Diagnostics.cpp",
-    "DirectiveHandler.cpp",
-    "InfoSink.cpp",
-    "Initialize.cpp",
-    "InitializeParseContext.cpp",
-    "IntermTraverse.cpp",
-    "Intermediate.cpp",
-    "OutputASM.cpp",
-    "ParseHelper.cpp",
-    "PoolAlloc.cpp",
-    "SymbolTable.cpp",
-    "TranslatorASM.cpp",
-    "ValidateLimitations.cpp",
-    "ValidateSwitch.cpp",
-    "debug.cpp",
-    "glslang_lex.cpp",
-    "glslang_tab.cpp",
-    "intermOut.cpp",
-    "parseConst.cpp",
-    "util.cpp",
-  ]
-
-  if (use_fuzzing_engine) {
-    all_dependent_configs = [ ":swiftshader_translator_disable_pool_alloc" ]
-  }
-
-  if (is_linux || is_chromeos || is_mac || is_fuchsia) {
-    sources += [ "ossource_posix.cpp" ]
-  } else if (is_win) {
-    sources += [ "ossource_win.cpp" ]
-  }
-
-  configs = [ ":swiftshader_opengl_compiler_private_config" ]
-
-  include_dirs = [
-    "..",
-    "../..",
-    "../../../include",
-  ]
-}
diff --git a/src/OpenGL/libEGL/BUILD.gn b/src/OpenGL/libEGL/BUILD.gn
deleted file mode 100644
index 5363c51..0000000
--- a/src/OpenGL/libEGL/BUILD.gn
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build/config/ui.gni")
-import("//build/config/ozone.gni")
-import("../../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_libEGL_private_config") {
-  defines = [ "EGL_EGLEXT_PROTOTYPES" ]
-
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd4065",  # switch statement contains 'default' but no 'case' labels
-      "/wd5030",  # attribute is not recognized
-    ]
-
-    defines += [ "EGLAPI=" ]
-  } else {
-    cflags = [
-      "-Wno-sign-compare",
-      "-Wno-unused-function",
-    ]
-
-    if (is_mac) {
-      cflags += [ "-fvisibility=default" ]
-      defines += [ "EGLAPI=__attribute__((no_sanitize(\"function\")))" ]
-    } else if (is_clang) {
-      defines += [ "EGLAPI=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
-    } else {
-      defines += [ "EGLAPI=__attribute__((visibility(\"protected\")))" ]
-    }
-  }
-}
-
-swiftshader_shared_library("swiftshader_libEGL") {
-  if (!is_mac && !is_fuchsia) {
-    output_name = "libEGL"
-    output_dir = "$root_out_dir/swiftshader"
-  }
-
-  sources = [
-    "../../Common/SharedLibrary.cpp",
-    "../common/Object.cpp",
-    "../common/debug.cpp",
-    "Config.cpp",
-    "Display.cpp",
-    "Surface.cpp",
-    "libEGL.cpp",
-    "main.cpp",
-    "resource.h",
-  ]
-
-  if (is_win) {
-    sources += [
-      "libEGL.def",
-      "libEGL.rc",
-    ]
-  }
-
-  defines = []
-
-  if (is_mac) {
-    sources += [ "OSXUtils.mm" ]
-    frameworks = [
-      "Quartz.framework",
-      "Cocoa.framework",
-      "CoreFoundation.framework",
-      "IOSurface.framework",
-    ]
-    ldflags = [
-      "-Wl,-install_name,@rpath/libswiftshader_libEGL.dylib",
-      "-Wl,-exported_symbols_list," +
-          rebase_path("libEGL_deprecated.exports", root_build_dir),
-    ]
-  } else if (is_linux || is_chromeos) {
-    if (ozone_platform_x11) {
-      sources += [ "../../Main/libX11.cpp" ]
-      defines += [ "SWIFTSHADER_USE_X11" ]
-    }
-    inputs = [ "libEGL_deprecated.lds" ]
-    ldflags =
-        [ "-Wl,--version-script=" + rebase_path("libEGL_deprecated.lds", root_build_dir) ]
-  }
-
-  configs = [ ":swiftshader_libEGL_private_config" ]
-
-  include_dirs = [
-    "../../../include",
-    "../..",
-    "..",
-  ]
-}
diff --git a/src/OpenGL/libGLESv2/BUILD.gn b/src/OpenGL/libGLESv2/BUILD.gn
deleted file mode 100644
index 65668f2..0000000
--- a/src/OpenGL/libGLESv2/BUILD.gn
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("../../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_libGLESv2_private_config") {
-  defines = [
-    "GL_API=",
-    "GL_GLEXT_PROTOTYPES",
-  ]
-
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd4324",  # structure was padded due to alignment specifier
-      "/wd5030",  # attribute is not recognized
-    ]
-
-    defines += [
-      "GL_APICALL=",
-      "GLAPI=",
-    ]
-
-    if (is_clang) {
-      defines += [
-        "__STDC_CONSTANT_MACROS",
-        "__STDC_LIMIT_MACROS",
-      ]
-    }
-  } else {
-    cflags = [ "-Wno-sign-compare" ]
-
-    defines += [
-      "__STDC_CONSTANT_MACROS",
-      "__STDC_LIMIT_MACROS",
-      "GLAPI=GL_APICALL",
-    ]
-
-    if (is_mac) {
-      cflags += [ "-fvisibility=default" ]
-      defines += [ "GL_APICALL=__attribute__((no_sanitize(\"function\")))" ]
-    } else if (is_clang) {
-      defines += [ "GL_APICALL=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
-    } else {
-      defines += [ "GL_APICALL=__attribute__((visibility(\"protected\")))" ]
-    }
-  }
-}
-
-swiftshader_static_library("swiftshader_libGLESv2_static") {
-  deps = [
-    "../../OpenGL/common:swiftshader_opengl_common",
-    "../../OpenGL/compiler:swiftshader_opengl_compiler",
-    "../../Reactor:swiftshader_reactor",
-    "../../Renderer:swiftshader_renderer",
-  ]
-
-  sources = [
-    "../../Common/SharedLibrary.cpp",
-    "Buffer.cpp",
-    "Context.cpp",
-    "Device.cpp",
-    "Fence.cpp",
-    "Framebuffer.cpp",
-    "IndexDataManager.cpp",
-    "Program.cpp",
-    "Query.cpp",
-    "Renderbuffer.cpp",
-    "ResourceManager.cpp",
-    "Shader.cpp",
-    "Texture.cpp",
-    "TransformFeedback.cpp",
-    "VertexArray.cpp",
-    "VertexDataManager.cpp",
-    "libGLESv2.cpp",
-    "libGLESv3.cpp",
-    "main.cpp",
-    "resource.h",
-    "utilities.cpp",
-  ]
-
-  if (is_mac) {
-    frameworks = [
-      "CoreFoundation.framework",
-      "IOSurface.framework",
-    ]
-  }
-
-  configs = [ ":swiftshader_libGLESv2_private_config" ]
-
-  include_dirs = [
-    "../../../include",
-    "../..",
-    "..",
-  ]
-}
-
-swiftshader_shared_library("swiftshader_libGLESv2") {
-  if (!is_mac && !is_fuchsia) {
-    output_name = "libGLESv2"
-    output_dir = "$root_out_dir/swiftshader"
-  }
-
-  deps = [ ":swiftshader_libGLESv2_static" ]
-
-  sources = [ "entry_points.cpp" ]
-
-  if (is_win) {
-    sources += [
-      "libGLESv2.def",
-      "libGLESv2.rc",
-    ]
-  }
-
-  if (is_mac) {
-    ldflags = [
-      "-Wl,-install_name,@rpath/libswiftshader_libGLESv2.dylib",
-      "-Wl,-exported_symbols_list," +
-          rebase_path("libGLESv2_deprecated.exports", root_build_dir),
-    ]
-  } else if (is_linux || is_chromeos) {
-    inputs = [ "libGLESv2_deprecated.lds" ]
-    ldflags = [ "-Wl,--version-script=" +
-                rebase_path("libGLESv2_deprecated.lds", root_build_dir) ]
-  }
-
-  configs = [ ":swiftshader_libGLESv2_private_config" ]
-
-  include_dirs = [
-    "../../../include",
-    "../..",
-    "..",
-  ]
-}
diff --git a/src/Renderer/BUILD.gn b/src/Renderer/BUILD.gn
deleted file mode 100644
index deda918..0000000
--- a/src/Renderer/BUILD.gn
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_renderer_private_config") {
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd4324",  # structure was padded due to alignment specifier
-      "/wd5030",  # attribute is not recognized
-    ]
-  } else if (current_cpu == "x86" || current_cpu == "x64") {
-    cflags = [ "-Wno-sign-compare" ]
-  }
-}
-
-swiftshader_source_set("swiftshader_renderer") {
-  deps = [
-    "../Shader:swiftshader_shader",
-  ]
-
-  sources = [
-    "Blitter.cpp",
-    "Clipper.cpp",
-    "Color.cpp",
-    "Context.cpp",
-    "ETC_Decoder.cpp",
-    "Matrix.cpp",
-    "PixelProcessor.cpp",
-    "Plane.cpp",
-    "Point.cpp",
-    "QuadRasterizer.cpp",
-    "Renderer.cpp",
-    "Sampler.cpp",
-    "SetupProcessor.cpp",
-    "Surface.cpp",
-    "TextureStage.cpp",
-    "Vector.cpp",
-    "VertexProcessor.cpp",
-  ]
-
-  configs = [ ":swiftshader_renderer_private_config" ]
-
-  include_dirs = [
-    ".",
-    "..",
-  ]
-}
diff --git a/src/Shader/BUILD.gn b/src/Shader/BUILD.gn
deleted file mode 100644
index baf1233..0000000
--- a/src/Shader/BUILD.gn
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("../swiftshader.gni")
-
-# Need a separate config to ensure the warnings are added to the end.
-config("swiftshader_shader_private_config") {
-  if (is_win) {
-    cflags = [
-      "/wd4201",  # nameless struct/union
-      "/wd4324",  # structure was padded due to alignment specifier
-      "/wd5030",  # attribute is not recognized
-    ]
-
-    if (is_clang) {
-      cflags += [ "-Wno-sign-compare" ]
-    }
-  }
-}
-
-swiftshader_source_set("swiftshader_shader") {
-  deps = [
-    "../Main:swiftshader_main",
-  ]
-
-  sources = [
-    "Constants.cpp",
-    "PixelPipeline.cpp",
-    "PixelProgram.cpp",
-    "PixelRoutine.cpp",
-    "PixelShader.cpp",
-    "SamplerCore.cpp",
-    "SetupRoutine.cpp",
-    "Shader.cpp",
-    "ShaderCore.cpp",
-    "VertexPipeline.cpp",
-    "VertexProgram.cpp",
-    "VertexRoutine.cpp",
-    "VertexShader.cpp",
-  ]
-
-  configs = [ ":swiftshader_shader_private_config" ]
-
-  include_dirs = [
-    ".",
-    "..",
-  ]
-}
diff --git a/src/WSI/XcbSurfaceKHR.cpp b/src/WSI/XcbSurfaceKHR.cpp
index 1a4102a..3af964b 100644
--- a/src/WSI/XcbSurfaceKHR.cpp
+++ b/src/WSI/XcbSurfaceKHR.cpp
@@ -45,13 +45,13 @@
 }
 
 XcbSurfaceKHR::XcbSurfaceKHR(const VkXcbSurfaceCreateInfoKHR *pCreateInfo, void *mem)
-	: connection(pCreateInfo->connection)
-	, window(pCreateInfo->window)
+    : connection(pCreateInfo->connection)
+    , window(pCreateInfo->window)
 {
 	ASSERT(isSupported());
 
 	gc = libXCB->xcb_generate_id(connection);
-	uint32_t values[2] = { 0, 0xffffffff };
+	uint32_t values[2] = { 0, 0xFFFFFFFF };
 	libXCB->xcb_create_gc(connection, gc, window, XCB_GC_FOREGROUND | XCB_GC_BACKGROUND, values);
 
 	auto shmQuery = libXCB->xcb_get_extension_data(connection, libXCB->xcb_shm_id);
@@ -89,7 +89,7 @@
 
 VkResult XcbSurfaceKHR::getSurfaceCapabilities(VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) const
 {
-	if (surfaceLost)
+	if(surfaceLost)
 	{
 		return VK_ERROR_SURFACE_LOST_KHR;
 	}
@@ -110,12 +110,14 @@
 	return VK_SUCCESS;
 }
 
-void* XcbSurfaceKHR::allocateImageMemory(PresentImage *image, const VkMemoryAllocateInfo &allocateInfo)
+void *XcbSurfaceKHR::allocateImageMemory(PresentImage *image, const VkMemoryAllocateInfo &allocateInfo)
 {
-	if (!mitSHM)
+	if(!mitSHM)
+	{
 		return nullptr;
+	}
 
-	SHMPixmap& pixmap = pixmaps[image];
+	SHMPixmap &pixmap = pixmaps[image];
 	int shmid = shmget(IPC_PRIVATE, allocateInfo.allocationSize, IPC_CREAT | SHM_R | SHM_W);
 	pixmap.shmaddr = shmat(shmid, 0, 0);
 	pixmap.shmseg = libXCB->xcb_generate_id(connection);
@@ -129,20 +131,20 @@
 
 	pixmap.pixmap = libXCB->xcb_generate_id(connection);
 	libXCB->xcb_shm_create_pixmap(
-		connection,
-		pixmap.pixmap,
-		window,
-		width, height,
-		windowDepth,
-		pixmap.shmseg,
-		0);
+	    connection,
+	    pixmap.pixmap,
+	    window,
+	    width, height,
+	    windowDepth,
+	    pixmap.shmseg,
+	    0);
 
 	return pixmap.shmaddr;
 }
 
 void XcbSurfaceKHR::releaseImageMemory(PresentImage *image)
 {
-	if (mitSHM)
+	if(mitSHM)
 	{
 		auto it = pixmaps.find(image);
 		assert(it != pixmaps.end());
@@ -179,7 +181,8 @@
 		return VK_ERROR_OUT_OF_DATE_KHR;
 	}
 
-	if (!mitSHM) {
+	if(!mitSHM)
+	{
 		// TODO: Convert image if not RGB888.
 		int stride = image->getImage()->rowPitchBytes(VK_IMAGE_ASPECT_COLOR_BIT, 0);
 		int bytesPerPixel = static_cast<int>(image->getImage()->getFormat(VK_IMAGE_ASPECT_COLOR_BIT).bytes());
@@ -187,17 +190,17 @@
 		auto buffer = reinterpret_cast<uint8_t *>(image->getImageMemory()->getOffsetPointer(0));
 		size_t bufferSize = extent.height * stride;
 		libXCB->xcb_put_image(
-			connection,
-			XCB_IMAGE_FORMAT_Z_PIXMAP,
-			window,
-			gc,
-			width,
-			extent.height,
-			0, 0,  // dst x, y
-			0,     // left_pad
-			depth,
-			bufferSize,  // data_len
-			buffer       // data
+		    connection,
+		    XCB_IMAGE_FORMAT_Z_PIXMAP,
+		    window,
+		    gc,
+		    width,
+		    extent.height,
+		    0, 0,  // dst x, y
+		    0,     // left_pad
+		    depth,
+		    bufferSize,  // data_len
+		    buffer       // data
 		);
 	}
 	else
@@ -205,14 +208,14 @@
 		auto it = pixmaps.find(image);
 		assert(it != pixmaps.end());
 		libXCB->xcb_copy_area(
-			connection,
-			it->second.pixmap,
-			window,
-			gc,
-			0, 0,  // src x, y
-			0, 0,  // dst x, y
-			extent.width,
-			extent.height);
+		    connection,
+		    it->second.pixmap,
+		    window,
+		    gc,
+		    0, 0,  // src x, y
+		    0, 0,  // dst x, y
+		    extent.width,
+		    extent.height);
 	}
 	libXCB->xcb_flush(connection);
 
diff --git a/src/WSI/XcbSurfaceKHR.hpp b/src/WSI/XcbSurfaceKHR.hpp
index a6892d4..eae9257 100644
--- a/src/WSI/XcbSurfaceKHR.hpp
+++ b/src/WSI/XcbSurfaceKHR.hpp
@@ -18,9 +18,10 @@
 #include "VkSurfaceKHR.hpp"
 #include "Vulkan/VkObject.hpp"
 
-#include <vulkan/vulkan_xcb.h>
-#include <xcb/xcb.h>
 #include <xcb/shm.h>
+#include <xcb/xcb.h>
+// XCB headers must be included before the Vulkan header.
+#include <vulkan/vulkan_xcb.h>
 
 #include <unordered_map>
 
@@ -38,7 +39,7 @@
 
 	VkResult getSurfaceCapabilities(VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) const override;
 
-	virtual void* allocateImageMemory(PresentImage *image, const VkMemoryAllocateInfo &allocateInfo) override;
+	virtual void *allocateImageMemory(PresentImage *image, const VkMemoryAllocateInfo &allocateInfo) override;
 	virtual void releaseImageMemory(PresentImage *image) override;
 	virtual void attachImage(PresentImage *image) override;
 	virtual void detachImage(PresentImage *image) override;
@@ -51,9 +52,10 @@
 	xcb_gcontext_t gc = XCB_NONE;
 	int windowDepth = 0;
 	mutable bool surfaceLost = false;
-	struct SHMPixmap {
-  		xcb_shm_seg_t shmseg = XCB_NONE;
-  		void *shmaddr = nullptr;
+	struct SHMPixmap
+	{
+		xcb_shm_seg_t shmseg = XCB_NONE;
+		void *shmaddr = nullptr;
 		xcb_pixmap_t pixmap = XCB_NONE;
 	};
 	std::unordered_map<PresentImage *, SHMPixmap> pixmaps;
diff --git a/src/WSI/libXCB.cpp b/src/WSI/libXCB.cpp
index 60be41e..212884c 100644
--- a/src/WSI/libXCB.cpp
+++ b/src/WSI/libXCB.cpp
@@ -54,7 +54,7 @@
 			libxcb = RTLD_DEFAULT;
 		}
 		else
-                {
+		{
 			libxcb = loadLibrary("libxcb.so.1");
 		}
 
@@ -63,7 +63,7 @@
 			libshm = RTLD_DEFAULT;
 		}
 		else
-                {
+		{
 			libshm = loadLibrary("libxcb-shm.so.0");
 		}
 
diff --git a/src/WSI/libXCB.hpp b/src/WSI/libXCB.hpp
index 50a943c..ad957ca 100644
--- a/src/WSI/libXCB.hpp
+++ b/src/WSI/libXCB.hpp
@@ -34,10 +34,10 @@
 	xcb_void_cookie_t (*xcb_free_pixmap)(xcb_connection_t *conn, xcb_pixmap_t pixmap);
 	xcb_query_extension_reply_t *(*xcb_get_extension_data)(xcb_connection_t *c, xcb_extension_t *extension) = nullptr;
 
-	xcb_shm_query_version_cookie_t 	(*xcb_shm_query_version)(xcb_connection_t *c);
+	xcb_shm_query_version_cookie_t (*xcb_shm_query_version)(xcb_connection_t *c);
 	xcb_shm_query_version_reply_t *(*xcb_shm_query_version_reply)(xcb_connection_t *c, xcb_shm_query_version_cookie_t cookie, xcb_generic_error_t **e);
 	xcb_void_cookie_t (*xcb_shm_attach)(xcb_connection_t *c, xcb_shm_seg_t shmseg, uint32_t shmid, uint8_t read_only);
-	xcb_void_cookie_t (*xcb_shm_detach)(xcb_connection_t * 	c, xcb_shm_seg_t shmseg);
+	xcb_void_cookie_t (*xcb_shm_detach)(xcb_connection_t *c, xcb_shm_seg_t shmseg);
 	xcb_void_cookie_t (*xcb_shm_create_pixmap)(xcb_connection_t *c, xcb_pixmap_t pid, xcb_drawable_t drawable, uint16_t width, uint16_t height, uint8_t depth, xcb_shm_seg_t shmseg, uint32_t offset);
 	xcb_extension_t *xcb_shm_id;
 };
diff --git a/tests/GLESUnitTests/BUILD.gn b/tests/GLESUnitTests/BUILD.gn
deleted file mode 100644
index b6c9d5c..0000000
--- a/tests/GLESUnitTests/BUILD.gn
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//testing/test.gni")
-import("../../src/swiftshader.gni")
-
-if (build_with_chromium) {
-  test("swiftshader_unittests") {
-    deps = [
-      "//base",
-      "//base/test:test_support",
-      "//testing/gmock",
-      "//testing/gtest",
-      "//third_party/googletest:gmock",
-      "//third_party/googletest:gtest",
-      "//third_party/swiftshader/src/OpenGL/libEGL:swiftshader_libEGL",
-      "//third_party/swiftshader/src/OpenGL/libGLESv2:swiftshader_libGLESv2",
-    ]
-
-    sources = [
-      "//gpu/swiftshader_tests_main.cc",
-      "unittests.cpp",
-    ]
-
-    include_dirs = [ "../../include" ]  # Khronos headers
-
-    defines = [
-      "GL_GLEXT_PROTOTYPES",
-      "GL_APICALL=",
-      "GLAPI=",
-    ]
-
-    # Make sure we're loading SwiftShader's libraries, not ANGLE's or the system
-    # provided ones. On Windows an explicit LoadLibrary("swiftshader\lib*.dll")
-    # is required before making the first EGL or OpenGL ES call.
-    if (is_win) {
-      ldflags = [
-        "/DELAYLOAD:libEGL.dll",
-        "/DELAYLOAD:libGLESv2.dll",
-      ]
-    } else if (is_mac) {
-      ldflags = [
-        "-rpath",
-        "@executable_path/",
-      ]
-      frameworks = [
-        "CoreFoundation.framework",
-        "IOSurface.framework",
-      ]
-    } else {
-      ldflags = [ "-Wl,-rpath=\$ORIGIN/swiftshader" ]
-    }
-  }
-}