$OpenBSD: patch-third_party_swiftshader_src_OpenGL_libEGL_Display_cpp,v 1.4 2018/06/06 07:50:54 robert Exp $

Index: third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig
+++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
@@ -30,7 +30,7 @@
 #include <sys/ioctl.h>
 #include <linux/fb.h>
 #include <fcntl.h>
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__OpenBSD__)
 #include "Main/libX11.hpp"
 #elif defined(__APPLE__)
 #include "OSXUtils.hpp"
@@ -66,7 +66,7 @@ Display *Display::get(EGLDisplay dpy)
 
 	static void *nativeDisplay = nullptr;
 
-	#if defined(__linux__) && !defined(__ANDROID__)
+	#if (defined(__linux__) || defined(__OpenBSD__)) && !defined(__ANDROID__)
 		// Even if the application provides a native display handle, we open (and close) our own connection
 		if(!nativeDisplay && dpy != HEADLESS_DISPLAY && libX11 && libX11->XOpenDisplay)
 		{
@@ -89,7 +89,7 @@ Display::~Display()
 {
 	terminate();
 
-	#if defined(__linux__) && !defined(__ANDROID__)
+	#if (defined(__linux__) || defined(__OpenBSD__)) && !defined(__ANDROID__)
 		if(nativeDisplay && libX11->XCloseDisplay)
 		{
 			libX11->XCloseDisplay((::Display*)nativeDisplay);
@@ -678,7 +678,7 @@ bool Display::isValidWindow(EGLNativeWindowType window
 			return false;
 		}
 		return true;
-	#elif defined(__linux__)
+	#elif defined(__linux__) || defined(__OpenBSD__)
 		if(nativeDisplay)
 		{
 			XWindowAttributes windowAttributes;
@@ -844,7 +844,7 @@ sw::Format Display::getDisplayFormat() const
 
 		// No framebuffer device found, or we're in user space
 		return sw::FORMAT_X8B8G8R8;
-	#elif defined(__linux__)
+	#elif defined(__linux__) || defined(__OpenBSD__)
 		if(nativeDisplay)
 		{
 			Screen *screen = libX11->XDefaultScreenOfDisplay((::Display*)nativeDisplay);
