Fall back to the default visual if no X8R8G8B8.

Bug 18510357

Change-Id: I2406106482b8c65408df783ebb78f5abd17a6320
Reviewed-on: https://swiftshader-review.googlesource.com/1593
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Main/FrameBufferX11.cpp b/src/Main/FrameBufferX11.cpp
index 948c26b..7fb97e4 100644
--- a/src/Main/FrameBufferX11.cpp
+++ b/src/Main/FrameBufferX11.cpp
@@ -51,8 +51,8 @@
 		int depth = XDefaultDepth(x_display, screen);
 
 		Status status = XMatchVisualInfo(x_display, screen, 32, TrueColor, &x_visual);
-		assert(status != 0 && x_visual.blue_mask == 0xFF);   // Only X8R8G8B8 implemented
-		Visual *visual = x_visual.visual;

+		bool match = (status != 0 && x_visual.blue_mask == 0xFF);   // Prefer X8R8G8B8
+		Visual *visual = match ? x_visual.visual : XDefaultVisual(x_display, screen);

 

 		mit_shm = (XShmQueryExtension(x_display) == True);