Fix delegating eglCreateWindowSurface to CreatePlatformWindowSurface

Only with X11 does eglCreatePlatformWindowSurface take a pointer to a
window handle instead of a handle value directly. Since
eglCreateWindowSurface delegates to CreatePlatformWindowSurface, it must
take the address of the window handle.

Bug: b/168821209
Change-Id: I69c7bf3315a871c2cd806a736fd73606cac34ad2
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48789
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Caramelli <caramelli.devel@gmail.com>
diff --git a/src/OpenGL/libEGL/libEGL.cpp b/src/OpenGL/libEGL/libEGL.cpp
index ce2fe96..b0eeddc 100644
--- a/src/OpenGL/libEGL/libEGL.cpp
+++ b/src/OpenGL/libEGL/libEGL.cpp
@@ -361,9 +361,9 @@
 		return EGL_NO_SURFACE;
 	}
 
-#if defined(USE_X11)
-	native_window = (void *)(*(::Window*)native_window);
-#endif
+	#if defined(USE_X11)
+		native_window = (void *)(*(::Window*)native_window);
+	#endif
 
 	if(!display->isValidWindow((EGLNativeWindowType)native_window))
 	{
@@ -388,7 +388,12 @@
 	      "const EGLint *attrib_list = %p)", dpy, config, window, attrib_list);
 
 	EGLAttribs attribs(attrib_list);
-	return CreatePlatformWindowSurface(dpy, config, (void*)window, &attribs);
+
+	#if defined(USE_X11)
+		return CreatePlatformWindowSurface(dpy, config, (void*)&window, &attribs);
+	#else
+		return CreatePlatformWindowSurface(dpy, config, (void*)window, &attribs);
+	#endif
 }
 
 EGLSurface EGLAPIENTRY CreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)