Mesa (master): i965/fs: Disable opt_sampler_eot for textureGather

2015-05-11 Thread Neil Roberts
Module: Mesa
Branch: master
Commit: bfdae9149e00bd5c2521db3e75669ae043eed5cc
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfdae9149e00bd5c2521db3e75669ae043eed5cc

Author: Neil Roberts n...@linux.intel.com
Date:   Fri May  8 17:35:18 2015 +0100

i965/fs: Disable opt_sampler_eot for textureGather

The opt_sampler_eot optimisation seems to break when the last
instruction is SHADER_OPCODE_TG4. A bunch of Piglit tests end up doing
this so it causes a lot of regressions. I can't find any documentation
or known workarounds to indicate that this is expected behaviour, but
considering that this is probably a pretty unlikely situation in a
real use case we might as well disable it in order to avoid the
regressions. In total this fixes 451 tests.

Reviewed-by: Ben Widawsky b...@bwidawsk.net
Reviewed-by: Chris Forbes chr...@ijw.co.nz

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |   10 ++
 1 file changed, 10 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp 
b/src/mesa/drivers/dri/i965/brw_fs.cpp
index b2701b8..3414d92 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2658,6 +2658,16 @@ fs_visitor::opt_sampler_eot()
if (unlikely(tex_inst-is_head_sentinel()) || !tex_inst-is_tex())
   return false;
 
+   /* This optimisation doesn't seem to work for textureGather for some
+* reason. I can't find any documentation or known workarounds to indicate
+* that this is expected, but considering that it is probably pretty
+* unlikely that a shader would directly write out the results from
+* textureGather we might as well just disable it.
+*/
+   if (tex_inst-opcode == SHADER_OPCODE_TG4 ||
+   tex_inst-opcode == SHADER_OPCODE_TG4_OFFSET)
+  return false;
+
/* If there's no header present, we need to munge the LOAD_PAYLOAD as well.
 * It's very likely to be the previous instruction.
 */

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): clover: Fix a bug with multi-threaded events v2

2015-05-11 Thread Tom Stellard
Module: Mesa
Branch: master
Commit: 9c4dc98b298c74015f2a7c21571bccf0a5b6cc98
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c4dc98b298c74015f2a7c21571bccf0a5b6cc98

Author: Tom Stellard thomas.stell...@amd.com
Date:   Thu Mar 26 19:33:24 2015 +

clover: Fix a bug with multi-threaded events v2

It was possible for some events never to get triggered if one thread
was creating events and another threads was waiting for them.

This patch consolidates soft_event::wait() and hard_event::wait()
into event::wait() so that hard_event objects will now wait for
all their dependencies to be submitted before flushing the command
queue.

v2:
  - Rename variables
  - Use mutable varibales so we can keep event::wait() const
  - Open code signalled() call so mutex can be atted to signalled
without deadlocking.

CC: 10.5 mesa-sta...@lists.freedesktop.org

Reviewed-by: Francisco Jerez curroje...@riseup.net

---

 src/gallium/state_trackers/clover/core/event.cpp |   15 +--
 src/gallium/state_trackers/clover/core/event.hpp |5 -
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/gallium/state_trackers/clover/core/event.cpp 
b/src/gallium/state_trackers/clover/core/event.cpp
index 58de888..5579303 100644
--- a/src/gallium/state_trackers/clover/core/event.cpp
+++ b/src/gallium/state_trackers/clover/core/event.cpp
@@ -39,6 +39,7 @@ event::~event() {
 void
 event::trigger() {
if (!--wait_count) {
+  cv.notify_all();
   action_ok(*this);
 
   while (!_chain.empty()) {
@@ -73,6 +74,15 @@ event::chain(event ev) {
ev.deps.push_back(*this);
 }
 
+void
+event::wait() const {
+   for (event ev : deps)
+  ev.wait();
+
+   std::unique_lockstd::mutex lock(mutex);
+   cv.wait(lock, [=]{ return !wait_count; });
+}
+
 hard_event::hard_event(command_queue q, cl_command_type command,
const ref_vectorevent deps, action action) :
event(q.context(), deps, profile(q, action), [](event ev){}),
@@ -120,6 +130,8 @@ void
 hard_event::wait() const {
pipe_screen *screen = queue()-device().pipe;
 
+   event::wait();
+
if (status() == CL_QUEUED)
   queue()-flush();
 
@@ -207,8 +219,7 @@ soft_event::command() const {
 
 void
 soft_event::wait() const {
-   for (event ev : deps)
-  ev.wait();
+   event::wait();
 
if (status() != CL_COMPLETE)
   throw error(CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST);
diff --git a/src/gallium/state_trackers/clover/core/event.hpp 
b/src/gallium/state_trackers/clover/core/event.hpp
index d407c80..0914842 100644
--- a/src/gallium/state_trackers/clover/core/event.hpp
+++ b/src/gallium/state_trackers/clover/core/event.hpp
@@ -23,6 +23,7 @@
 #ifndef CLOVER_CORE_EVENT_HPP
 #define CLOVER_CORE_EVENT_HPP
 
+#include condition_variable
 #include functional
 
 #include core/object.hpp
@@ -68,7 +69,7 @@ namespace clover {
   virtual cl_int status() const = 0;
   virtual command_queue *queue() const = 0;
   virtual cl_command_type command() const = 0;
-  virtual void wait() const = 0;
+  virtual void wait() const;
 
   virtual struct pipe_fence_handle *fence() const {
  return NULL;
@@ -87,6 +88,8 @@ namespace clover {
   action action_ok;
   action action_fail;
   std::vectorintrusive_refevent _chain;
+  mutable std::condition_variable cv;
+  mutable std::mutex mutex;
};
 
///

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): egl/wayland: Implement swrast support

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: cdcfe48fb0431184fabb40aa5a244d086f551df5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdcfe48fb0431184fabb40aa5a244d086f551df5

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 11:11:20 2015 +0200

egl/wayland: Implement swrast support

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com.

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/egl_dri2.c |5 +-
 src/egl/drivers/dri2/egl_dri2.h |4 +
 src/egl/drivers/dri2/platform_wayland.c |  704 ++-
 3 files changed, 696 insertions(+), 17 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 169abcc..467b81c 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -729,7 +729,10 @@ dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
 #endif
 #ifdef HAVE_WAYLAND_PLATFORM
case _EGL_PLATFORM_WAYLAND:
-  wl_drm_destroy(dri2_dpy-wl_drm);
+  if (dri2_dpy-wl_drm)
+  wl_drm_destroy(dri2_dpy-wl_drm);
+  if (dri2_dpy-wl_shm)
+  wl_shm_destroy(dri2_dpy-wl_shm);
   wl_registry_destroy(dri2_dpy-wl_registry);
   wl_event_queue_destroy(dri2_dpy-wl_queue);
   if (dri2_dpy-own_device) {
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index cabeb2d..adade3d 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -196,6 +196,7 @@ struct dri2_egl_display
struct wl_registry   *wl_registry;
struct wl_drm*wl_server_drm;
struct wl_drm*wl_drm;
+   struct wl_shm*wl_shm;
struct wl_event_queue*wl_queue;
int  authenticated;
int  formats;
@@ -257,6 +258,9 @@ struct dri2_egl_surface
   __DRIimage *dri_image;
   /* for is_different_gpu case. NULL else */
   __DRIimage *linear_copy;
+  /* for swrast */
+  void *data;
+  int data_size;
 #endif
 #ifdef HAVE_DRM_PLATFORM
   struct gbm_bo   *bo;
diff --git a/src/egl/drivers/dri2/platform_wayland.c 
b/src/egl/drivers/dri2/platform_wayland.c
index e9f142c..9914b68 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2011-2012 Intel Corporation
+ * Copyright © 2012 Collabora, Ltd.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the Software),
@@ -35,6 +36,7 @@
 #include unistd.h
 #include fcntl.h
 #include xf86drm.h
+#include sys/mman.h
 
 #include egl_dri2.h
 #include egl_dri2_fallbacks.h
@@ -233,13 +235,18 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay 
*disp, _EGLSurface *surf)
  dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].dri_image);
   if (dri2_surf-color_buffers[i].linear_copy)
  
dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].linear_copy);
+  if (dri2_surf-color_buffers[i].data)
+ munmap(dri2_surf-color_buffers[i].data,
+dri2_surf-color_buffers[i].data_size);
}
 
-   for (i = 0; i  __DRI_BUFFER_COUNT; i++)
-  if (dri2_surf-dri_buffers[i] 
-  dri2_surf-dri_buffers[i]-attachment != __DRI_BUFFER_BACK_LEFT)
- dri2_dpy-dri2-releaseBuffer(dri2_dpy-dri_screen,
-   dri2_surf-dri_buffers[i]);
+   if (dri2_dpy-dri2) {
+  for (i = 0; i  __DRI_BUFFER_COUNT; i++)
+ if (dri2_surf-dri_buffers[i] 
+ dri2_surf-dri_buffers[i]-attachment != __DRI_BUFFER_BACK_LEFT)
+dri2_dpy-dri2-releaseBuffer(dri2_dpy-dri_screen,
+  dri2_surf-dri_buffers[i]);
+   }
 
if (dri2_surf-throttle_callback)
   wl_callback_destroy(dri2_surf-throttle_callback);
@@ -267,18 +274,24 @@ dri2_wl_release_buffers(struct dri2_egl_surface 
*dri2_surf)
  dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].dri_image);
   if (dri2_surf-color_buffers[i].linear_copy)
  
dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].linear_copy);
+  if (dri2_surf-color_buffers[i].data)
+ munmap(dri2_surf-color_buffers[i].data,
+dri2_surf-color_buffers[i].data_size);
 
   dri2_surf-color_buffers[i].wl_buffer = NULL;
   dri2_surf-color_buffers[i].dri_image = NULL;
   dri2_surf-color_buffers[i].linear_copy = NULL;
+  dri2_surf-color_buffers[i].data = NULL;
   dri2_surf-color_buffers[i].locked = 0;
}
 
-   for (i = 0; i  __DRI_BUFFER_COUNT; i++)
-  if (dri2_surf-dri_buffers[i] 
-  dri2_surf-dri_buffers[i]-attachment != __DRI_BUFFER_BACK_LEFT)
- dri2_dpy-dri2-releaseBuffer(dri2_dpy-dri_screen,
-   dri2_surf-dri_buffers[i]);
+   if (dri2_dpy-dri2) {
+  for (i = 0; i  __DRI_BUFFER_COUNT; i++)
+ if 

Mesa (master): egl/wayland: Implement DRI_PRIME support

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: 4cd546df82c557b9a765e40db2f96c4faa299846
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cd546df82c557b9a765e40db2f96c4faa299846

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 01:16:24 2015 +0200

egl/wayland: Implement DRI_PRIME support

When the server gpu and requested gpu are different:
. They likely don't support the same tiling modes
. They likely do not have fast access to the same locations

Thus we do:
. render to a tiled buffer we do not share with the server
. Copy the content at every swap to a buffer with no tiling
that we share with the server.

This is similar to the glx dri3 DRI_PRIME implementation.

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/egl_dri2.h |3 +
 src/egl/drivers/dri2/platform_wayland.c |  104 ++-
 2 files changed, 92 insertions(+), 15 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index 3ee3f80..cabeb2d 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -201,6 +201,7 @@ struct dri2_egl_display
int  formats;
uint32_t  capabilities;
int  is_render_node;
+   int  is_different_gpu;
 #endif
 };
 
@@ -254,6 +255,8 @@ struct dri2_egl_surface
 #ifdef HAVE_WAYLAND_PLATFORM
   struct wl_buffer   *wl_buffer;
   __DRIimage *dri_image;
+  /* for is_different_gpu case. NULL else */
+  __DRIimage *linear_copy;
 #endif
 #ifdef HAVE_DRM_PLATFORM
   struct gbm_bo   *bo;
diff --git a/src/egl/drivers/dri2/platform_wayland.c 
b/src/egl/drivers/dri2/platform_wayland.c
index bdb19c2..b111c3a 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -240,6 +240,8 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, 
_EGLSurface *surf)
  wl_buffer_destroy(dri2_surf-color_buffers[i].wl_buffer);
   if (dri2_surf-color_buffers[i].dri_image)
  dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].dri_image);
+  if (dri2_surf-color_buffers[i].linear_copy)
+ 
dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].linear_copy);
}
 
for (i = 0; i  __DRI_BUFFER_COUNT; i++)
@@ -274,9 +276,12 @@ dri2_wl_release_buffers(struct dri2_egl_surface *dri2_surf)
  wl_buffer_destroy(dri2_surf-color_buffers[i].wl_buffer);
   if (dri2_surf-color_buffers[i].dri_image)
  dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].dri_image);
+  if (dri2_surf-color_buffers[i].linear_copy)
+ 
dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].linear_copy);
 
   dri2_surf-color_buffers[i].wl_buffer = NULL;
   dri2_surf-color_buffers[i].dri_image = NULL;
+  dri2_surf-color_buffers[i].linear_copy = NULL;
   dri2_surf-color_buffers[i].locked = 0;
}
 
@@ -338,13 +343,29 @@ get_back_bo(struct dri2_egl_surface *dri2_surf)
 
if (dri2_surf-back == NULL)
   return -1;
+
+   if (dri2_dpy-is_different_gpu 
+   dri2_surf-back-linear_copy == NULL) {
+   dri2_surf-back-linear_copy =
+  dri2_dpy-image-createImage(dri2_dpy-dri_screen,
+  dri2_surf-base.Width,
+  dri2_surf-base.Height,
+  dri_image_format,
+  __DRI_IMAGE_USE_SHARE |
+  __DRI_IMAGE_USE_LINEAR,
+  NULL);
+  if (dri2_surf-back-linear_copy == NULL)
+  return -1;
+   }
+
if (dri2_surf-back-dri_image == NULL) {
   dri2_surf-back-dri_image = 
  dri2_dpy-image-createImage(dri2_dpy-dri_screen,
   dri2_surf-base.Width,
   dri2_surf-base.Height,
   dri_image_format,
-  __DRI_IMAGE_USE_SHARE,
+  dri2_dpy-is_different_gpu ?
+ 0 : __DRI_IMAGE_USE_SHARE,
   NULL);
   dri2_surf-back-age = 0;
}
@@ -432,8 +453,11 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
   dri2_surf-color_buffers[i].wl_buffer) {
  wl_buffer_destroy(dri2_surf-color_buffers[i].wl_buffer);
  dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].dri_image);
+ if (dri2_dpy-is_different_gpu)
+
dri2_dpy-image-destroyImage(dri2_surf-color_buffers[i].linear_copy);
  dri2_surf-color_buffers[i].wl_buffer = NULL;
  dri2_surf-color_buffers[i].dri_image = NULL;
+ dri2_surf-color_buffers[i].linear_copy = NULL;
   }
}
 
@@ -578,16 +602,20 @@ create_wl_buffer(struct 

Mesa (master): egl/wayland: Simplify dri2_wl_create_surface

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: cd25e52f6bb5279cd7b1992e5907df3966b900ce
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd25e52f6bb5279cd7b1992e5907df3966b900ce

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 11:16:41 2015 +0200

egl/wayland: Simplify dri2_wl_create_surface

This function is always used with EGL_WINDOW_BIT. Pixmaps are forbidden
for Wayland, and PBuffers are unimplemented.

Reviewed-by: Daniel Stone dani...@collabora.com.

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/platform_wayland.c |   38 +++
 1 file changed, 13 insertions(+), 25 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_wayland.c 
b/src/egl/drivers/dri2/platform_wayland.c
index b111c3a..e9f142c 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -120,7 +120,7 @@ resize_callback(struct wl_egl_window *wl_win, void *data)
  * Called via eglCreateWindowSurface(), drv-API.CreateWindowSurface().
  */
 static _EGLSurface *
-dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
+dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp,
_EGLConfig *conf, void *native_window,
const EGLint *attrib_list)
 {
@@ -137,7 +137,7 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay *disp, 
EGLint type,
   return NULL;
}

-   if (!_eglInitSurface(dri2_surf-base, disp, type, conf, attrib_list))
+   if (!_eglInitSurface(dri2_surf-base, disp, EGL_WINDOW_BIT, conf, 
attrib_list))
   goto cleanup_surf;
 
if (conf-RedSize == 5)
@@ -147,25 +147,17 @@ dri2_wl_create_surface(_EGLDriver *drv, _EGLDisplay 
*disp, EGLint type,
else
   dri2_surf-format = WL_DRM_FORMAT_ARGB;
 
-   switch (type) {
-   case EGL_WINDOW_BIT:
-  dri2_surf-wl_win = window;
+   dri2_surf-wl_win = window;
 
-  dri2_surf-wl_win-private = dri2_surf;
-  dri2_surf-wl_win-resize_callback = resize_callback;
+   dri2_surf-wl_win-private = dri2_surf;
+   dri2_surf-wl_win-resize_callback = resize_callback;
 
-  dri2_surf-base.Width =  -1;
-  dri2_surf-base.Height = -1;
-  break;
-   default: 
-  goto cleanup_surf;
-   }
+   dri2_surf-base.Width =  -1;
+   dri2_surf-base.Height = -1;
 
dri2_surf-dri_drawable = 
   (*dri2_dpy-dri2-createNewDrawable) (dri2_dpy-dri_screen,
-   type == EGL_WINDOW_BIT ?
-   dri2_conf-dri_double_config : 
-   dri2_conf-dri_single_config,
+   dri2_conf-dri_double_config,
dri2_surf);
if (dri2_surf-dri_drawable == NULL) {
   _eglError(EGL_BAD_ALLOC, dri2-createNewDrawable);
@@ -193,8 +185,7 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay 
*disp,
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
_EGLSurface *surf;
 
-   surf = dri2_wl_create_surface(drv, disp, EGL_WINDOW_BIT, conf,
- native_window, attrib_list);
+   surf = dri2_wl_create_surface(drv, disp, conf, native_window, attrib_list);
 
if (surf != NULL)
   dri2_wl_swap_interval(drv, disp, surf, dri2_dpy-default_swap_interval);
@@ -253,10 +244,8 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay 
*disp, _EGLSurface *surf)
if (dri2_surf-throttle_callback)
   wl_callback_destroy(dri2_surf-throttle_callback);
 
-   if (dri2_surf-base.Type == EGL_WINDOW_BIT) {
-  dri2_surf-wl_win-private = NULL;
-  dri2_surf-wl_win-resize_callback = NULL;
-   }
+   dri2_surf-wl_win-private = NULL;
+   dri2_surf-wl_win-resize_callback = NULL;
 
free(surf);
 
@@ -428,9 +417,8 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
   dri2_egl_display(dri2_surf-base.Resource.Display);
int i;
 
-   if (dri2_surf-base.Type == EGL_WINDOW_BIT 
-   (dri2_surf-base.Width != dri2_surf-wl_win-width || 
-dri2_surf-base.Height != dri2_surf-wl_win-height)) {
+   if (dri2_surf-base.Width != dri2_surf-wl_win-width ||
+   dri2_surf-base.Height != dri2_surf-wl_win-height) {
 
   dri2_wl_release_buffers(dri2_surf);
 

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): egl/swrast: Enable config extension for swrast

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: 13fa84e1bcf1e07c69bb678508f8cdb0912b57c5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=13fa84e1bcf1e07c69bb678508f8cdb0912b57c5

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 19:08:37 2015 +0200

egl/swrast: Enable config extension for swrast

Enables to use dri config for swrast, like vblank_mode.

Reviewed-by: Dave Airlie airl...@redhat.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/egl_dri2.c|   27 +--
 src/gallium/state_trackers/dri/drisw.c |1 +
 src/mesa/drivers/dri/swrast/swrast.c   |1 +
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 467b81c..fe5cbc8 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -576,6 +576,7 @@ dri2_create_screen(_EGLDisplay *disp)
 {
const __DRIextension **extensions;
struct dri2_egl_display *dri2_dpy;
+   unsigned i;
 
dri2_dpy = disp-DriverData;
 
@@ -616,28 +617,26 @@ dri2_create_screen(_EGLDisplay *disp)
extensions = dri2_dpy-core-getExtensions(dri2_dpy-dri_screen);

if (dri2_dpy-dri2) {
-  unsigned i;
-
   if (!dri2_bind_extensions(dri2_dpy, dri2_core_extensions, extensions))
  goto cleanup_dri_screen;
-
-  for (i = 0; extensions[i]; i++) {
-if (strcmp(extensions[i]-name, __DRI2_ROBUSTNESS) == 0) {
-dri2_dpy-robustness = (__DRIrobustnessExtension *) extensions[i];
-}
-if (strcmp(extensions[i]-name, __DRI2_CONFIG_QUERY) == 0) {
-   dri2_dpy-config = (__DRI2configQueryExtension *) extensions[i];
-}
- if (strcmp(extensions[i]-name, __DRI2_FENCE) == 0) {
-dri2_dpy-fence = (__DRI2fenceExtension *) extensions[i];
- }
-  }
} else {
   assert(dri2_dpy-swrast);
   if (!dri2_bind_extensions(dri2_dpy, swrast_core_extensions, extensions))
  goto cleanup_dri_screen;
}
 
+   for (i = 0; extensions[i]; i++) {
+  if (strcmp(extensions[i]-name, __DRI2_ROBUSTNESS) == 0) {
+ dri2_dpy-robustness = (__DRIrobustnessExtension *) extensions[i];
+  }
+  if (strcmp(extensions[i]-name, __DRI2_CONFIG_QUERY) == 0) {
+ dri2_dpy-config = (__DRI2configQueryExtension *) extensions[i];
+  }
+  if (strcmp(extensions[i]-name, __DRI2_FENCE) == 0) {
+ dri2_dpy-fence = (__DRI2fenceExtension *) extensions[i];
+  }
+   }
+
dri2_setup_screen(disp);
 
return EGL_TRUE;
diff --git a/src/gallium/state_trackers/dri/drisw.c 
b/src/gallium/state_trackers/dri/drisw.c
index 5f69a2d..4a2c1bb 100644
--- a/src/gallium/state_trackers/dri/drisw.c
+++ b/src/gallium/state_trackers/dri/drisw.c
@@ -333,6 +333,7 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
 static const __DRIextension *drisw_screen_extensions[] = {
driTexBufferExtension.base,
dri2RendererQueryExtension.base,
+   dri2ConfigQueryExtension.base,
NULL
 };
 
diff --git a/src/mesa/drivers/dri/swrast/swrast.c 
b/src/mesa/drivers/dri/swrast/swrast.c
index 2ddb474..cbc946c 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -958,6 +958,7 @@ static const __DRIextension *swrast_driver_extensions[] = {
 driCoreExtension.base,
 driSWRastExtension.base,
 driCopySubBufferExtension.base,
+dri2ConfigQueryExtension.base,
 swrast_vtable.base,
 NULL
 };

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): doc/egl: Remove depreciated EGL_SOFTWARE

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: 05ac39ac497ad7835cac7a161491282b5f69d711
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=05ac39ac497ad7835cac7a161491282b5f69d711

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 00:06:31 2015 +0200

doc/egl: Remove depreciated EGL_SOFTWARE

EGL_SOFTWARE is not supported anywhere in the code,
whereas LIBGL_ALWAYS_SOFTWARE is.

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 docs/egl.html |8 
 1 file changed, 8 deletions(-)

diff --git a/docs/egl.html b/docs/egl.html
index d946bb0..3ab1a60 100644
--- a/docs/egl.html
+++ b/docs/egl.html
@@ -184,14 +184,6 @@ values are: codedebug/code, codeinfo/code, 
codewarning/code, and
 codefatal/code./p
 
 /dd
-
-dtcodeEGL_SOFTWARE/code/dt
-dd
-
-pFor drivers that support both hardware and software rendering, setting this
-variable to true forces the use of software rendering./p
-
-/dd
 /dl
 
 h2EGL Drivers/h2

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): egl/wayland: properly destroy wayland objects

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: 6aaf09b93b668a24b557e05195b9897e8cee8559
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6aaf09b93b668a24b557e05195b9897e8cee8559

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 00:03:32 2015 +0200

egl/wayland: properly destroy wayland objects

the wl_registry and the wl_queue allocated weren't destroyed.

CC: 10.5 mesa-sta...@lists.freedesktop.org

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/egl_dri2.c |2 ++
 src/egl/drivers/dri2/platform_wayland.c |5 -
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index f4c29da..169abcc 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -730,6 +730,8 @@ dri2_terminate(_EGLDriver *drv, _EGLDisplay *disp)
 #ifdef HAVE_WAYLAND_PLATFORM
case _EGL_PLATFORM_WAYLAND:
   wl_drm_destroy(dri2_dpy-wl_drm);
+  wl_registry_destroy(dri2_dpy-wl_registry);
+  wl_event_queue_destroy(dri2_dpy-wl_queue);
   if (dri2_dpy-own_device) {
  wl_display_disconnect(dri2_dpy-wl_dpy);
   }
diff --git a/src/egl/drivers/dri2/platform_wayland.c 
b/src/egl/drivers/dri2/platform_wayland.c
index e226005..a5bcf25 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -1029,7 +1029,7 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay 
*disp)
wl_registry_add_listener(dri2_dpy-wl_registry,
 registry_listener, dri2_dpy);
if (roundtrip(dri2_dpy)  0 || dri2_dpy-wl_drm == NULL)
-  goto cleanup_dpy;
+  goto cleanup_registry;
 
if (roundtrip(dri2_dpy)  0 || dri2_dpy-fd == -1)
   goto cleanup_drm;
@@ -1112,6 +1112,9 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay 
*disp)
  cleanup_drm:
free(dri2_dpy-device_name);
wl_drm_destroy(dri2_dpy-wl_drm);
+ cleanup_registry:
+   wl_registry_destroy(dri2_dpy-wl_registry);
+   wl_event_queue_destroy(dri2_dpy-wl_queue);
  cleanup_dpy:
free(dri2_dpy);


___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): glx/dri3: Add additional check for gpu offloading case

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: c4ff6d00cd7dde4646ff96733f68d3ddbf540c2c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4ff6d00cd7dde4646ff96733f68d3ddbf540c2c

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 00:20:34 2015 +0200

glx/dri3: Add additional check for gpu offloading case

Checks blitImage is implemented.
Initially having the __DRIimageExtension extension
at version 9 at least meant blitImage was supported.
However some implementation do advertise version = 9
without implementing it.

CC: 10.5 mesa-sta...@lists.freedesktop.org

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/glx/dri3_glx.c |5 +
 1 file changed, 5 insertions(+)

diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
index ff77a91..dfb0093 100644
--- a/src/glx/dri3_glx.c
+++ b/src/glx/dri3_glx.c
@@ -1985,6 +1985,11 @@ dri3_create_screen(int screen, struct glx_display * priv)
   goto handle_error;
}
 
+   if (psc-is_different_gpu  !psc-image-blitImage) {
+  ErrorMessageF(Different GPU, but blitImage not implemented for this 
driver\n);
+  goto handle_error;
+   }
+
if (!psc-is_different_gpu  (
!psc-texBuffer || psc-texBuffer-base.version  2 ||
!psc-texBuffer-setTexBuffer2

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): i965/fs: Add missing initializer in fs_visitor().

2015-05-11 Thread Matt Turner
Module: Mesa
Branch: master
Commit: 73f4010082cf0fc2fe34c59e2eb5801eed10762b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=73f4010082cf0fc2fe34c59e2eb5801eed10762b

Author: Matt Turner matts...@gmail.com
Date:   Mon May 11 10:46:59 2015 -0700

i965/fs: Add missing initializer in fs_visitor().

---

 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 80ca1b7..78f269e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -4193,7 +4193,7 @@ fs_visitor::fs_visitor(struct brw_context *brw,
  reg_null_d(retype(brw_null_vec(dispatch_width), BRW_REGISTER_TYPE_D)),
  reg_null_ud(retype(brw_null_vec(dispatch_width), BRW_REGISTER_TYPE_UD)),
  key(key), prog_data(prog_data-base),
- dispatch_width(dispatch_width)
+ dispatch_width(dispatch_width), promoted_constants(0)
 {
this-mem_ctx = mem_ctx;
init();

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): egl: Remove skeleton implementation of EGL_MESA_screen_surface

2015-05-11 Thread Adam Jackson
Module: Mesa
Branch: master
Commit: 7a58262e58d8edac3308777def0950032628edee
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a58262e58d8edac3308777def0950032628edee

Author: Adam Jackson a...@redhat.com
Date:   Wed Apr  1 10:39:45 2015 -0400

egl: Remove skeleton implementation of EGL_MESA_screen_surface

No backend wires this up to anything, and the extension spec has been
marked obsolete for 4+ years.

Reviewed-by: Marek Olšák marek.ol...@amd.com
Signed-off-by: Adam Jackson a...@redhat.com

---

 include/EGL/eglmesaext.h  |   46 --
 src/egl/main/Makefile.sources |4 -
 src/egl/main/eglapi.c |  278 
 src/egl/main/eglapi.h |   31 
 src/egl/main/eglconfig.c  |4 -
 src/egl/main/eglcurrent.c |8 -
 src/egl/main/egldisplay.h |1 -
 src/egl/main/eglfallbacks.c   |   18 ---
 src/egl/main/eglmode.c|  357 -
 src/egl/main/eglmode.h|   88 --
 src/egl/main/eglscreen.c  |  235 ---
 src/egl/main/eglscreen.h  |  117 --
 src/egl/main/eglsurface.c |   55 ---
 13 files changed, 1242 deletions(-)

diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
index 7ce8346..27cf7eb 100644
--- a/include/EGL/eglmesaext.h
+++ b/include/EGL/eglmesaext.h
@@ -34,52 +34,6 @@ extern C {
 
 #include EGL/eglplatform.h
 
-/* EGL_MESA_screen extension   PRELIMINARY  */
-#ifndef EGL_MESA_screen_surface
-#define EGL_MESA_screen_surface 1
-
-#define EGL_BAD_SCREEN_MESA0x4000
-#define EGL_BAD_MODE_MESA  0x4001
-#define EGL_SCREEN_COUNT_MESA  0x4002
-#define EGL_SCREEN_POSITION_MESA   0x4003
-#define EGL_SCREEN_POSITION_GRANULARITY_MESA   0x4004
-#define EGL_MODE_ID_MESA   0x4005
-#define EGL_REFRESH_RATE_MESA  0x4006
-#define EGL_OPTIMAL_MESA   0x4007
-#define EGL_INTERLACED_MESA0x4008
-#define EGL_SCREEN_BIT_MESA0x08
-
-typedef khronos_uint32_t EGLScreenMESA;
-typedef khronos_uint32_t EGLModeMESA;
-
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean EGLAPIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA 
screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, 
EGLint *num_modes);
-EGLAPI EGLBoolean EGLAPIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA 
screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
-EGLAPI EGLBoolean EGLAPIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA 
mode, EGLint attribute, EGLint *value);
-EGLAPI EGLBoolean EGLAPIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA 
*screens, EGLint max_screens, EGLint *num_screens);
-EGLAPI EGLSurface EGLAPIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, 
EGLConfig config, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglShowScreenSurfaceMESA(EGLDisplay dpy, EGLint 
screen, EGLSurface surface, EGLModeMESA mode);
-EGLAPI EGLBoolean EGLAPIENTRY eglScreenPositionMESA(EGLDisplay dpy, 
EGLScreenMESA screen, EGLint x, EGLint y);
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA 
screen, EGLint attribute, EGLint *value);
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, 
EGLScreenMESA screen, EGLSurface *surface);
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, 
EGLScreenMESA screen, EGLModeMESA *mode);
-EGLAPI const char * EGLAPIENTRY eglQueryModeStringMESA(EGLDisplay dpy, 
EGLModeMESA mode);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSEMODEMESA) (EGLDisplay dpy, 
EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint 
modes_size, EGLint *num_modes);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMODESMESA) (EGLDisplay dpy, 
EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGetModeATTRIBMESA) (EGLDisplay dpy, 
EGLModeMESA mode, EGLint attribute, EGLint *value);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSCRREENSMESA) (EGLDisplay dpy, 
EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
-typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESCREENSURFACEMESA) (EGLDisplay 
dpy, EGLConfig config, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSHOWSCREENSURFACEMESA) (EGLDisplay dpy, 
EGLint screen, EGLSurface surface, EGLModeMESA mode);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSCREENPOSIITONMESA) (EGLDisplay dpy, 
EGLScreenMESA screen, EGLint x, EGLint y);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMESA) (EGLDisplay dpy, 
EGLScreenMESA screen, EGLint attribute, EGLint *value);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENSURFACEMESA) (EGLDisplay 
dpy, EGLScreenMESA screen, EGLSurface *surface);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMODEMESA) (EGLDisplay dpy, 
EGLScreenMESA screen, EGLModeMESA *mode);

Mesa (master): clover: Add a mutex to guard queue::queued_events

2015-05-11 Thread Tom Stellard
Module: Mesa
Branch: master
Commit: f546902d9597429713c83e2caf6b69856bd7ba4d
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f546902d9597429713c83e2caf6b69856bd7ba4d

Author: Tom Stellard thomas.stell...@amd.com
Date:   Thu May  7 13:57:14 2015 +

clover: Add a mutex to guard queue::queued_events

This fixes a potential crash where on a sequence like this:

Thread 0: Check if queue is not empty.
Thread 1: Remove item from queue, making it empty.
Thread 0: Do something assuming queue is not empty.

CC: 10.5 mesa-sta...@lists.freedesktop.org

Reviewed-by: Francisco Jerez curroje...@riseup.net

---

 src/gallium/state_trackers/clover/core/queue.cpp |2 ++
 src/gallium/state_trackers/clover/core/queue.hpp |2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/gallium/state_trackers/clover/core/queue.cpp 
b/src/gallium/state_trackers/clover/core/queue.cpp
index 24f9326..87f9dcc 100644
--- a/src/gallium/state_trackers/clover/core/queue.cpp
+++ b/src/gallium/state_trackers/clover/core/queue.cpp
@@ -44,6 +44,7 @@ command_queue::flush() {
pipe_screen *screen = device().pipe;
pipe_fence_handle *fence = NULL;
 
+   std::lock_guardstd::mutex lock(queued_events_mutex);
if (!queued_events.empty()) {
   pipe-flush(pipe, fence, 0);
 
@@ -69,6 +70,7 @@ command_queue::profiling_enabled() const {
 
 void
 command_queue::sequence(hard_event ev) {
+   std::lock_guardstd::mutex lock(queued_events_mutex);
if (!queued_events.empty())
   queued_events.back()().chain(ev);
 
diff --git a/src/gallium/state_trackers/clover/core/queue.hpp 
b/src/gallium/state_trackers/clover/core/queue.hpp
index b7166e6..bddb86c 100644
--- a/src/gallium/state_trackers/clover/core/queue.hpp
+++ b/src/gallium/state_trackers/clover/core/queue.hpp
@@ -24,6 +24,7 @@
 #define CLOVER_CORE_QUEUE_HPP
 
 #include deque
+#include mutex
 
 #include core/object.hpp
 #include core/context.hpp
@@ -69,6 +70,7 @@ namespace clover {
 
   cl_command_queue_properties props;
   pipe_context *pipe;
+  std::mutex queued_events_mutex;
   std::dequeintrusive_refhard_event queued_events;
};
 }

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa: tag mesa-10.5.5: Mesa 10.5.5 release

2015-05-11 Thread Emil Velikov
Module: Mesa
Branch: refs/tags/mesa-10.5.5
Tag:5456aedc318e91f69b9b912fb1056f051d22e451
URL:
http://cgit.freedesktop.org/mesa/mesa/tag/?id=5456aedc318e91f69b9b912fb1056f051d22e451

Tagger: Emil Velikov emil.l.veli...@gmail.com
Date:   Mon May 11 20:21:00 2015 +0100

Mesa 10.5.5 release
___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): Add release notes for the 10.5.5 release

2015-05-11 Thread Emil Velikov
Module: Mesa
Branch: master
Commit: 22aaa746bdbe153effcbba7d5690bd9db880c76f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=22aaa746bdbe153effcbba7d5690bd9db880c76f

Author: Emil Velikov emil.l.veli...@gmail.com
Date:   Mon May 11 20:19:33 2015 +0100

Add release notes for the 10.5.5 release

Signed-off-by: Emil Velikov emil.l.veli...@gmail.com
(cherry picked from commit d88fb4050561a62fa824bec59ffedf2a826c2083)

---

 docs/relnotes/10.5.5.html |   94 +
 1 file changed, 94 insertions(+)

diff --git a/docs/relnotes/10.5.5.html b/docs/relnotes/10.5.5.html
new file mode 100644
index 000..06743cc
--- /dev/null
+++ b/docs/relnotes/10.5.5.html
@@ -0,0 +1,94 @@
+!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN 
http://www.w3.org/TR/html4/loose.dtd;
+html lang=en
+head
+  meta http-equiv=content-type content=text/html; charset=utf-8
+  titleMesa Release Notes/title
+  link rel=stylesheet type=text/css href=../mesa.css
+/head
+body
+
+div class=header
+  h1The Mesa 3D Graphics Library/h1
+/div
+
+iframe src=../contents.html/iframe
+div class=content
+
+h1Mesa 10.5.5 Release Notes / May 11, 2015/h1
+
+p
+Mesa 10.5.5 is a bug fix release which fixes bugs found since the 10.5.4 
release.
+/p
+p
+Mesa 10.5.5 implements the OpenGL 3.3 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.3.  OpenGL
+3.3 is strongonly/strong available if requested at context creation
+because compatibility contexts are not supported.
+/p
+
+
+h2SHA256 checksums/h2
+pre
+TBD
+/pre
+
+
+h2New features/h2
+pNone/p
+
+h2Bug fixes/h2
+
+pThis list is likely incomplete./p
+
+ul
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=88521;Bug 88521/a 
- GLBenchmark 2.7 TRex renders with artifacts on Gen8 with !UXA/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=89455;Bug 89455/a 
- [NVC0/Gallium] Unigine Heaven black and white boxes/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=89689;Bug 89689/a 
- [Regression] Weston on DRM backend won't start with new version of mesa/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=90130;Bug 90130/a 
- gl_PrimitiveId seems to reset at 340/li
+
+/ul
+
+
+h2Changes/h2
+
+pBoyan Ding (1):/p
+ul
+  lii965: Add XRGB format to intel_screen_make_configs/li
+/ul
+
+pEmil Velikov (3):/p
+ul
+  lidocs: Add sha256 sums for the 10.5.4 release/li
+  lir300: do not link against libdrm_intel/li
+  liUpdate version to 10.5.5/li
+/ul
+
+pIlia Mirkin (4):/p
+ul
+  linvc0/ir: flush denorms to zero in non-compute shaders/li
+  ligk110/ir: fix set with a register dest to not auto-set the abs flag/li
+  linvc0/ir: fix predicated PFETCH emission/li
+  linv50/ir: fix asFlow() const helper for OP_JOIN/li
+/ul
+
+pKenneth Graunke (2):/p
+ul
+  lii965: Make intel_emit_linear_blit handle Gen8+ alignment 
restrictions./li
+  lii965: Disallow linear blits that are not cacheline aligned./li
+/ul
+
+pRoland Scheidegger (1):/p
+ul
+  lidraw: fix prim ids when there's no gs/li
+/ul
+
+
+/div
+/body
+/html

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): st/mesa: make sure to create a clean bool when doing i2b

2015-05-11 Thread Ilia Mirkin
Module: Mesa
Branch: master
Commit: 2b5355c8ab383d86bb6332dd29c417a6a1bc52bd
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b5355c8ab383d86bb6332dd29c417a6a1bc52bd

Author: Ilia Mirkin imir...@alum.mit.edu
Date:   Wed May  6 23:29:33 2015 -0400

st/mesa: make sure to create a clean bool when doing i2b

i2b has to work for all integers, not just 1. INEG would not necessarily
result with all bits set, which is something that other operations can
rely on by e.g. using AND (or INEG for b2i).

Signed-off-by: Ilia Mirkin imir...@alum.mit.edu
Reviewed-by: Jason Ekstrand jason.ekstr...@intel.com
Reviewed-by: Marek Olšák marek.ol...@amd.com
Reviewed-by: Roland Scheidegger srol...@vmware.com
Cc: mesa-sta...@lists.freedesktop.org

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp 
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 1fea860..f0f2a77 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1953,7 +1953,7 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir)
   break;
case ir_unop_i2b:
   if (native_integers)
- emit(ir, TGSI_OPCODE_INEG, result_dst, op[0]);
+ emit(ir, TGSI_OPCODE_USNE, result_dst, op[0], st_src_reg_for_int(0));
   else
  emit(ir, TGSI_OPCODE_SNE, result_dst, op[0], 
st_src_reg_for_float(0.0));
   break;

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (10.5): Update version to 10.5.5

2015-05-11 Thread Emil Velikov
Module: Mesa
Branch: 10.5
Commit: 0d425c413f24b90cc38ec2e59fd010258c4dfa1e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d425c413f24b90cc38ec2e59fd010258c4dfa1e

Author: Emil Velikov emil.l.veli...@gmail.com
Date:   Mon May 11 20:14:23 2015 +0100

Update version to 10.5.5

Signed-off-by: Emil Velikov emil.l.veli...@gmail.com

---

 VERSION |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/VERSION b/VERSION
index 927fa80..23b7528 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.5.4
+10.5.5

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (10.5): Add release notes for the 10.5.5 release

2015-05-11 Thread Emil Velikov
Module: Mesa
Branch: 10.5
Commit: d88fb4050561a62fa824bec59ffedf2a826c2083
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d88fb4050561a62fa824bec59ffedf2a826c2083

Author: Emil Velikov emil.l.veli...@gmail.com
Date:   Mon May 11 20:19:33 2015 +0100

Add release notes for the 10.5.5 release

Signed-off-by: Emil Velikov emil.l.veli...@gmail.com

---

 docs/relnotes/10.5.5.html |   94 +
 1 file changed, 94 insertions(+)

diff --git a/docs/relnotes/10.5.5.html b/docs/relnotes/10.5.5.html
new file mode 100644
index 000..06743cc
--- /dev/null
+++ b/docs/relnotes/10.5.5.html
@@ -0,0 +1,94 @@
+!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN 
http://www.w3.org/TR/html4/loose.dtd;
+html lang=en
+head
+  meta http-equiv=content-type content=text/html; charset=utf-8
+  titleMesa Release Notes/title
+  link rel=stylesheet type=text/css href=../mesa.css
+/head
+body
+
+div class=header
+  h1The Mesa 3D Graphics Library/h1
+/div
+
+iframe src=../contents.html/iframe
+div class=content
+
+h1Mesa 10.5.5 Release Notes / May 11, 2015/h1
+
+p
+Mesa 10.5.5 is a bug fix release which fixes bugs found since the 10.5.4 
release.
+/p
+p
+Mesa 10.5.5 implements the OpenGL 3.3 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.3.  OpenGL
+3.3 is strongonly/strong available if requested at context creation
+because compatibility contexts are not supported.
+/p
+
+
+h2SHA256 checksums/h2
+pre
+TBD
+/pre
+
+
+h2New features/h2
+pNone/p
+
+h2Bug fixes/h2
+
+pThis list is likely incomplete./p
+
+ul
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=88521;Bug 88521/a 
- GLBenchmark 2.7 TRex renders with artifacts on Gen8 with !UXA/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=89455;Bug 89455/a 
- [NVC0/Gallium] Unigine Heaven black and white boxes/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=89689;Bug 89689/a 
- [Regression] Weston on DRM backend won't start with new version of mesa/li
+
+lia href=https://bugs.freedesktop.org/show_bug.cgi?id=90130;Bug 90130/a 
- gl_PrimitiveId seems to reset at 340/li
+
+/ul
+
+
+h2Changes/h2
+
+pBoyan Ding (1):/p
+ul
+  lii965: Add XRGB format to intel_screen_make_configs/li
+/ul
+
+pEmil Velikov (3):/p
+ul
+  lidocs: Add sha256 sums for the 10.5.4 release/li
+  lir300: do not link against libdrm_intel/li
+  liUpdate version to 10.5.5/li
+/ul
+
+pIlia Mirkin (4):/p
+ul
+  linvc0/ir: flush denorms to zero in non-compute shaders/li
+  ligk110/ir: fix set with a register dest to not auto-set the abs flag/li
+  linvc0/ir: fix predicated PFETCH emission/li
+  linv50/ir: fix asFlow() const helper for OP_JOIN/li
+/ul
+
+pKenneth Graunke (2):/p
+ul
+  lii965: Make intel_emit_linear_blit handle Gen8+ alignment 
restrictions./li
+  lii965: Disallow linear blits that are not cacheline aligned./li
+/ul
+
+pRoland Scheidegger (1):/p
+ul
+  lidraw: fix prim ids when there's no gs/li
+/ul
+
+
+/div
+/body
+/html

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): docs: add news item and link release notes for mesa 10.5.5

2015-05-11 Thread Emil Velikov
Module: Mesa
Branch: master
Commit: 95089bfaebcff449289494267c3461704f48452e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=95089bfaebcff449289494267c3461704f48452e

Author: Emil Velikov emil.l.veli...@gmail.com
Date:   Mon May 11 22:07:46 2015 +0100

docs: add news item and link release notes for mesa 10.5.5

Signed-off-by: Emil Velikov emil.l.veli...@gmail.com

---

 docs/index.html|6 ++
 docs/relnotes.html |1 +
 2 files changed, 7 insertions(+)

diff --git a/docs/index.html b/docs/index.html
index e01790c..325e554 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,6 +16,12 @@
 
 h1News/h1
 
+h2May 11, 2015/h2
+p
+a href=relnotes/10.5.5.htmlMesa 10.5.5/a is released.
+This is a bug-fix release.
+/p
+
 h2April 24, 2015/h2
 p
 a href=relnotes/10.5.4.htmlMesa 10.5.4/a is released.
diff --git a/docs/relnotes.html b/docs/relnotes.html
index 7f2e1d8..6ba9e59 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -21,6 +21,7 @@ The release notes summarize what's new or changed in each 
Mesa release.
 /p
 
 ul
+lia href=relnotes/10.5.5.html10.5.5 release notes/a
 lia href=relnotes/10.5.4.html10.5.4 release notes/a
 lia href=relnotes/10.5.3.html10.5.3 release notes/a
 lia href=relnotes/10.5.2.html10.5.2 release notes/a

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): docs/GL3: (trivial) mark some tf extensions as done for softpipe/llvmpipe

2015-05-11 Thread Roland Scheidegger
Module: Mesa
Branch: master
Commit: 971be2b7c9c4459e383059f02d20a35e469b429e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=971be2b7c9c4459e383059f02d20a35e469b429e

Author: Roland Scheidegger srol...@vmware.com
Date:   Tue May 12 04:48:48 2015 +0200

docs/GL3: (trivial) mark some tf extensions as done for softpipe/llvmpipe

Those extensions were enabled for ages already.

---

 docs/GL3.txt |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/GL3.txt b/docs/GL3.txt
index 7a7c1bd..5590fea 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -117,8 +117,8 @@ GL 4.0, GLSL 4.00:
   GL_ARB_texture_cube_map_arrayDONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe, softpipe)
   GL_ARB_texture_gatherDONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe)
   GL_ARB_texture_query_lod DONE (i965, nv50, nvc0, 
r600, radeonsi)
-  GL_ARB_transform_feedback2   DONE (i965, nv50, nvc0, 
r600, radeonsi)
-  GL_ARB_transform_feedback3   DONE (i965, nv50, nvc0, 
r600, radeonsi)
+  GL_ARB_transform_feedback2   DONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe, softpipe)
+  GL_ARB_transform_feedback3   DONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe, softpipe)
 
 
 GL 4.1, GLSL 4.10:
@@ -137,7 +137,7 @@ GL 4.2, GLSL 4.20:
   GL_ARB_compressed_texture_pixel_storage  DONE (all drivers)
   GL_ARB_shader_atomic_countersDONE (i965)
   GL_ARB_texture_storage   DONE (all drivers)
-  GL_ARB_transform_feedback_instanced  DONE (i965, nv50, nvc0, 
r600, radeonsi)
+  GL_ARB_transform_feedback_instanced  DONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe, softpipe)
   GL_ARB_base_instance DONE (i965, nv50, nvc0, 
r600, radeonsi, llvmpipe, softpipe)
   GL_ARB_shader_image_load_store   in progress (curro)
   GL_ARB_conservative_depthDONE (all drivers that 
support GLSL 1.30)

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): egl/wayland: Add support for render-nodes

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: fb0960a14bd6980aa63deef45ec3cf1ab99bcf0a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb0960a14bd6980aa63deef45ec3cf1ab99bcf0a

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 01:30:10 2015 +0200

egl/wayland: Add support for render-nodes

It is possible the server advertises a render-node.
In that case no authentication is needed,
and Gem names are forbidden.

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

v2: do not check for __DRI_IMAGE_DRIVER, but instead
do not advertise __DRI_DRI2_LOADER when on a render-node.

---

 src/egl/drivers/dri2/egl_dri2.h |1 +
 src/egl/drivers/dri2/platform_wayland.c |   69 ---
 2 files changed, 56 insertions(+), 14 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index 371fb4a..3ee3f80 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -200,6 +200,7 @@ struct dri2_egl_display
int  authenticated;
int  formats;
uint32_t  capabilities;
+   int  is_render_node;
 #endif
 };
 
diff --git a/src/egl/drivers/dri2/platform_wayland.c 
b/src/egl/drivers/dri2/platform_wayland.c
index a5bcf25..bdb19c2 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -800,12 +800,33 @@ bad_format:
return NULL;
 }
 
+static char
+is_fd_render_node(int fd)
+{
+   struct stat render;
+
+   if (fstat(fd, render))
+  return 0;
+
+   if (!S_ISCHR(render.st_mode))
+  return 0;
+
+   if (render.st_rdev  0x80)
+  return 1;
+   return 0;
+}
+
 static int
 dri2_wl_authenticate(_EGLDisplay *disp, uint32_t id)
 {
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
int ret = 0;
 
+   if (dri2_dpy-is_render_node) {
+  _eglLog(_EGL_WARNING, wayland-egl: client asks server to 
+authenticate for render-nodes);
+  return 0;
+   }
dri2_dpy-authenticated = 0;
 
wl_drm_authenticate(dri2_dpy-wl_drm, id);
@@ -847,8 +868,13 @@ drm_handle_device(void *data, struct wl_drm *drm, const 
char *device)
   return;
}
 
-   drmGetMagic(dri2_dpy-fd, magic);
-   wl_drm_authenticate(dri2_dpy-wl_drm, magic);
+   if (is_fd_render_node(dri2_dpy-fd)) {
+  dri2_dpy-is_render_node = 1;
+  dri2_dpy-authenticated = 1;
+   } else {
+  drmGetMagic(dri2_dpy-fd, magic);
+  wl_drm_authenticate(dri2_dpy-wl_drm, magic);
+   }
 }
 
 static void
@@ -1046,18 +1072,23 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay 
*disp)
if (!dri2_load_driver(disp))
   goto cleanup_driver_name;
 
-   dri2_dpy-dri2_loader_extension.base.name = __DRI_DRI2_LOADER;
-   dri2_dpy-dri2_loader_extension.base.version = 3;
-   dri2_dpy-dri2_loader_extension.getBuffers = dri2_wl_get_buffers;
-   dri2_dpy-dri2_loader_extension.flushFrontBuffer = 
dri2_wl_flush_front_buffer;
-   dri2_dpy-dri2_loader_extension.getBuffersWithFormat =
-  dri2_wl_get_buffers_with_format;
-
-   dri2_dpy-extensions[0] = dri2_dpy-dri2_loader_extension.base;
-   dri2_dpy-extensions[1] = image_loader_extension.base;
-   dri2_dpy-extensions[2] = image_lookup_extension.base;
-   dri2_dpy-extensions[3] = use_invalidate.base;
-   dri2_dpy-extensions[4] = NULL;
+   dri2_dpy-extensions[0] = image_loader_extension.base;
+   dri2_dpy-extensions[1] = image_lookup_extension.base;
+   dri2_dpy-extensions[2] = use_invalidate.base;
+
+   /* render nodes cannot use Gem names, and thus do not support
+* the __DRI_DRI2_LOADER extension */
+   if (!dri2_dpy-is_render_node) {
+  dri2_dpy-dri2_loader_extension.base.name = __DRI_DRI2_LOADER;
+  dri2_dpy-dri2_loader_extension.base.version = 3;
+  dri2_dpy-dri2_loader_extension.getBuffers = dri2_wl_get_buffers;
+  dri2_dpy-dri2_loader_extension.flushFrontBuffer = 
dri2_wl_flush_front_buffer;
+  dri2_dpy-dri2_loader_extension.getBuffersWithFormat =
+ dri2_wl_get_buffers_with_format;
+  dri2_dpy-extensions[3] = dri2_dpy-dri2_loader_extension.base;
+  dri2_dpy-extensions[4] = NULL;
+   } else
+  dri2_dpy-extensions[3] = NULL;
 
dri2_dpy-swap_available = EGL_TRUE;
 
@@ -1075,6 +1106,14 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay 
*disp)
dri2_dpy-image-createImageFromFds == NULL)
   dri2_dpy-capabilities = ~WL_DRM_CAPABILITY_PRIME;
 
+   /* We cannot use Gem names with render-nodes, only prime fds (dma-buf).
+* The server needs to accept them */
+   if (dri2_dpy-is_render_node 
+   !(dri2_dpy-capabilities  WL_DRM_CAPABILITY_PRIME)) {
+  _eglLog(_EGL_WARNING, wayland-egl: display is not render-node capable);
+  goto cleanup_screen;
+   }
+
types = EGL_WINDOW_BIT;
for (i = 0; dri2_dpy-driver_configs[i]; i++) {
   config = dri2_dpy-driver_configs[i];
@@ -1103,6 +1142,8 @@ 

Mesa (master): egl/x11: move dri2_x11_swrast_create_image_khr to egl_dri2_fallback.h

2015-05-11 Thread Axel Davy
Module: Mesa
Branch: master
Commit: f1cc478d89986c87f01fdaae510335965e19493c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1cc478d89986c87f01fdaae510335965e19493c

Author: Axel Davy axel.d...@ens.fr
Date:   Fri May  1 11:12:46 2015 +0200

egl/x11: move dri2_x11_swrast_create_image_khr to egl_dri2_fallback.h

Reviewed-by: Dave Airlie airl...@redhat.com
Reviewed-by: Daniel Stone dani...@collabora.com

Signed-off-by: Axel Davy axel.d...@ens.fr

---

 src/egl/drivers/dri2/egl_dri2_fallbacks.h |9 +
 src/egl/drivers/dri2/platform_x11.c   |   11 +--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2_fallbacks.h 
b/src/egl/drivers/dri2/egl_dri2_fallbacks.h
index 9cba001..e769af3 100644
--- a/src/egl/drivers/dri2/egl_dri2_fallbacks.h
+++ b/src/egl/drivers/dri2/egl_dri2_fallbacks.h
@@ -45,6 +45,15 @@ dri2_fallback_create_pbuffer_surface(_EGLDriver *drv, 
_EGLDisplay *disp,
return NULL;
 }
 
+static inline _EGLImage*
+dri2_fallback_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
+   _EGLContext *ctx, EGLenum target,
+   EGLClientBuffer buffer,
+   const EGLint *attr_list)
+{
+   return NULL;
+}
+
 static inline EGLBoolean
 dri2_fallback_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy,
 _EGLSurface *surf, EGLint interval)
diff --git a/src/egl/drivers/dri2/platform_x11.c 
b/src/egl/drivers/dri2/platform_x11.c
index ddb3b54..300072d 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -1017,15 +1017,6 @@ dri2_x11_create_image_khr(_EGLDriver *drv, _EGLDisplay 
*disp,
}
 }
 
-static _EGLImage*
-dri2_x11_swrast_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp,
- _EGLContext *ctx, EGLenum target,
- EGLClientBuffer buffer,
- const EGLint *attr_list)
-{
-   return NULL;
-}
-
 static EGLBoolean
 dri2_x11_get_sync_values(_EGLDisplay *display, _EGLSurface *surface,
  EGLuint64KHR *ust, EGLuint64KHR *msc,
@@ -1058,7 +1049,7 @@ static struct dri2_egl_display_vtbl 
dri2_x11_swrast_display_vtbl = {
.create_pixmap_surface = dri2_x11_create_pixmap_surface,
.create_pbuffer_surface = dri2_x11_create_pbuffer_surface,
.destroy_surface = dri2_x11_destroy_surface,
-   .create_image = dri2_x11_swrast_create_image_khr,
+   .create_image = dri2_fallback_create_image_khr,
.swap_interval = dri2_fallback_swap_interval,
.swap_buffers = dri2_x11_swap_buffers,
.swap_buffers_region = dri2_fallback_swap_buffers_region,

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit