diff --git a/src/OpenGL/libEGL/libEGL.cpp b/src/OpenGL/libEGL/libEGL.cpp
index ca8bfa3..85aa2ae 100644
--- a/src/OpenGL/libEGL/libEGL.cpp
+++ b/src/OpenGL/libEGL/libEGL.cpp
@@ -25,7 +25,7 @@
 
 #if defined(__ANDROID__) && !defined(ANDROID_NDK_BUILD)
 #include <vndk/window.h>
-#elif defined(USE_X11)
+#elif defined(SWIFTSHADER_USE_X11)
 #include "Main/libX11.hpp"
 #endif
 
@@ -154,7 +154,7 @@
 	}
 
 	#if defined(__linux__) && !defined(__ANDROID__)
-		#if defined(USE_X11)
+		#if defined(SWIFTSHADER_USE_X11)
 		if(!libX11)
 		#endif  // Non X11 linux is headless only
 		{
@@ -219,7 +219,7 @@
 #if defined(__linux__) && !defined(__ANDROID__)
 			"EGL_KHR_platform_gbm "
 #endif
-#if defined(USE_X11)
+#if defined(SWIFTSHADER_USE_X11)
 			"EGL_KHR_platform_x11 "
 #endif
 			"EGL_EXT_client_extensions "
@@ -361,7 +361,7 @@
 		return EGL_NO_SURFACE;
 	}
 
-	#if defined(USE_X11)
+	#if defined(SWIFTSHADER_USE_X11)
 		native_window = (void *)(*(::Window*)native_window);
 	#endif
 
@@ -389,7 +389,7 @@
 
 	EGLAttribs attribs(attrib_list);
 
-	#if defined(USE_X11)
+	#if defined(SWIFTSHADER_USE_X11)
 		return CreatePlatformWindowSurface(dpy, config, (void*)&window, &attribs);
 	#else
 		return CreatePlatformWindowSurface(dpy, config, (void*)window, &attribs);
@@ -1121,7 +1121,7 @@
 
 	if(context)
 	{
-		#if defined(USE_X11)
+		#if defined(SWIFTSHADER_USE_X11)
 			egl::Display *display = context->getDisplay();
 
 			if(!display)
@@ -1310,7 +1310,7 @@
 	#if defined(__linux__) && !defined(__ANDROID__)
 		switch(platform)
 		{
-		#if defined(USE_X11)
+		#if defined(SWIFTSHADER_USE_X11)
 		case EGL_PLATFORM_X11_EXT: break;
 		#endif
 		case EGL_PLATFORM_GBM_KHR: break;
@@ -1332,7 +1332,7 @@
 
 			return success(HEADLESS_DISPLAY);
 		}
-		#if defined(USE_X11)
+		#if defined(SWIFTSHADER_USE_X11)
 		else if(platform == EGL_PLATFORM_X11_EXT)
 		{
 			if(!libX11)
