egl: Update to Wayland 1.2 server API
[mesa.git] / src / gallium / state_trackers / egl / common / egl_g3d_api.c
index b3941f2467b1b919f6840e1e58c3f246678bdd31..3ee0d677017c57bc1053aabb28a18ca4e0f6f8f2 100644 (file)
@@ -1,6 +1,5 @@
 /*
  * Mesa 3-D graphics library
- * Version:  7.9
  *
  * Copyright (C) 2009-2010 Chia-I Wu <olv@0xlab.org>
  *
 #include "egl_g3d_st.h"
 #include "native.h"
 
-#ifdef EGL_WL_bind_wayland_display
-#include <wayland-drm.h>
-#endif
-
 /**
  * Return the state tracker for the given context.
  */
@@ -57,7 +52,7 @@ egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx,
 
    switch (ctx->ClientAPI) {
    case EGL_OPENGL_ES_API:
-      switch (ctx->ClientVersion) {
+      switch (ctx->ClientMajorVersion) {
       case 1:
          api = ST_API_OPENGL;
          *profile = ST_PROFILE_OPENGL_ES1;
@@ -67,8 +62,8 @@ egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx,
          *profile = ST_PROFILE_OPENGL_ES2;
          break;
       default:
-         _eglLog(_EGL_WARNING, "unknown client version %d",
-               ctx->ClientVersion);
+         _eglLog(_EGL_WARNING, "unknown client major version %d",
+               ctx->ClientMajorVersion);
          break;
       }
       break;
@@ -879,29 +874,16 @@ egl_g3d_unbind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *dpy,
 
 static EGLBoolean
 egl_g3d_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *dpy,
-                                struct wl_buffer *_buffer,
+                                struct wl_resource *buffer,
                                 EGLint attribute, EGLint *value)
 {
-   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
-   struct pipe_resource *resource = buffer->driver_buffer;
+   struct egl_g3d_display *gdpy = egl_g3d_display(dpy);
 
-   if (!wayland_buffer_is_drm(&buffer->buffer))
+   if (!gdpy->native->wayland_bufmgr)
       return EGL_FALSE;
 
-   if (attribute == EGL_TEXTURE_FORMAT) {
-      switch (resource->format) {
-      case PIPE_FORMAT_B8G8R8A8_UNORM:
-         *value = EGL_TEXTURE_RGBA;
-         return EGL_TRUE;
-      case PIPE_FORMAT_B8G8R8X8_UNORM:
-         *value = EGL_TEXTURE_RGB;
-         return EGL_TRUE;
-      default:
-         return EGL_FALSE;
-      }
-   }
-
-   return EGL_FALSE;
+   return gdpy->native->wayland_bufmgr->query_buffer(gdpy->native,
+                                                     buffer, attribute, value);
 }
 #endif /* EGL_WL_bind_wayland_display */