[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'ubuntu'



 .travis.yml                                                   |    7 
 Android.common.mk                                             |    4 
 VERSION                                                       |    2 
 bin/.cherry-ignore                                            |    4 
 bin/get-extra-pick-list.sh                                    |   10 
 bin/get-fixes-pick-list.sh                                    |   59 -
 configure.ac                                                  |  290 ++---
 debian/README.source                                          |    6 
 debian/changelog                                              |   16 
 debian/patches/egl-platform-mir.patch                         |   34 
 debian/patches/egl-platform-rs.patch                          |   34 
 debian/patches/vulkan-mir.patch                               |   52 
 debian/upstream/signing-key.asc                               |  580 ++++++++++
 docs/egl.html                                                 |   12 
 docs/releasing.html                                           |    2 
 docs/relnotes/17.1.0.html                                     |    3 
 docs/relnotes/17.1.1.html                                     |  188 +++
 docs/relnotes/17.1.2.html                                     |  186 +++
 include/pci_ids/radeonsi_pci_ids.h                            |    4 
 src/amd/Makefile.common.am                                    |    2 
 src/amd/addrlib/gfx9/gfx9addrlib.cpp                          |   57 
 src/amd/addrlib/gfx9/gfx9addrlib.h                            |    8 
 src/amd/common/amd_family.h                                   |    1 
 src/amd/common/amdgpu_id.h                                    |   10 
 src/amd/vulkan/Makefile.am                                    |   38 
 src/amd/vulkan/radv_cmd_buffer.c                              |    8 
 src/compiler/glsl/shader_cache.cpp                            |    2 
 src/compiler/nir/nir_lower_tex.c                              |    6 
 src/egl/Makefile.am                                           |   14 
 src/egl/drivers/dri2/egl_dri2.h                               |    4 
 src/egl/drivers/dri2/platform_android.c                       |   13 
 src/egl/drivers/dri2/platform_wayland.c                       |  130 +-
 src/egl/main/eglapi.c                                         |   19 
 src/egl/main/egldisplay.c                                     |    2 
 src/gallium/auxiliary/Makefile.am                             |   20 
 src/gallium/auxiliary/Makefile.sources                        |   10 
 src/gallium/auxiliary/gallivm/lp_bld_init.c                   |   34 
 src/gallium/auxiliary/renderonly/renderonly.c                 |    1 
 src/gallium/auxiliary/vl/vl_winsys.h                          |   21 
 src/gallium/drivers/etnaviv/etnaviv_resource.c                |    2 
 src/gallium/drivers/etnaviv/etnaviv_translate.h               |    2 
 src/gallium/drivers/freedreno/freedreno_context.c             |    8 
 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp |    2 
 src/gallium/drivers/radeon/Makefile.am                        |    6 
 src/gallium/drivers/radeon/r600_pipe_common.c                 |    2 
 src/gallium/drivers/radeon/r600_texture.c                     |   16 
 src/gallium/drivers/radeonsi/si_pipe.c                        |   20 
 src/gallium/drivers/radeonsi/si_state.c                       |    3 
 src/gallium/drivers/radeonsi/si_state_draw.c                  |   14 
 src/gallium/drivers/radeonsi/si_state_shaders.c               |   29 
 src/gallium/drivers/swr/Makefile.am                           |   41 
 src/gallium/drivers/swr/rasterizer/memory/StoreTile.h         |   75 +
 src/gallium/drivers/swr/swr_context.cpp                       |   77 -
 src/gallium/drivers/swr/swr_screen.cpp                        |   10 
 src/gallium/drivers/vc4/vc4_resource.c                        |    3 
 src/gallium/state_trackers/omx/Makefile.am                    |    1 
 src/gallium/state_trackers/omx/entrypoint.c                   |    6 
 src/gallium/state_trackers/omx/vid_dec.h                      |    2 
 src/gallium/state_trackers/va/Makefile.am                     |    1 
 src/gallium/state_trackers/va/context.c                       |    4 
 src/gallium/state_trackers/vdpau/Makefile.am                  |    1 
 src/gallium/state_trackers/vdpau/device.c                     |    2 
 src/gallium/state_trackers/xvmc/Makefile.am                   |    3 
 src/gallium/targets/dri/Android.mk                            |    3 
 src/gallium/targets/omx/Makefile.am                           |    7 
 src/gallium/targets/va/Makefile.am                            |    7 
 src/gallium/targets/vdpau/Makefile.am                         |    1 
 src/gallium/targets/xvmc/Makefile.am                          |    1 
 src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c                 |    4 
 src/gallium/winsys/virgl/drm/virgl_drm_winsys.c               |   14 
 src/gbm/Makefile.am                                           |    1 
 src/gbm/backends/dri/gbm_dri.c                                |    2 
 src/glx/g_glxglvnddispatchfuncs.c                             |   14 
 src/glx/g_glxglvnddispatchindices.h                           |    1 
 src/intel/Android.vulkan.mk                                   |    2 
 src/intel/Makefile.vulkan.am                                  |   34 
 src/intel/compiler/brw_vec4.cpp                               |  107 +
 src/intel/compiler/brw_vec4_gs_visitor.cpp                    |   26 
 src/intel/compiler/brw_vec4_nir.cpp                           |   15 
 src/intel/isl/isl_gen7.c                                      |   28 
 src/intel/vulkan/anv_allocator.c                              |   14 
 src/intel/vulkan/anv_blorp.c                                  |   67 +
 src/intel/vulkan/anv_device.c                                 |  203 ++-
 src/intel/vulkan/anv_formats.c                                |    4 
 src/intel/vulkan/anv_image.c                                  |   52 
 src/intel/vulkan/anv_private.h                                |   39 
 src/intel/vulkan/anv_wsi.c                                    |    1 
 src/intel/vulkan/genX_cmd_buffer.c                            |   51 
 src/intel/vulkan/genX_query.c                                 |    7 
 src/intel/vulkan/tests/block_pool_no_free.c                   |    5 
 src/intel/vulkan/tests/state_pool.c                           |    5 
 src/intel/vulkan/tests/state_pool_free_list_only.c            |    5 
 src/intel/vulkan/tests/state_pool_no_free.c                   |    5 
 src/loader/Makefile.am                                        |    2 
 src/mesa/drivers/dri/Android.mk                               |    3 
 src/mesa/drivers/dri/i965/brw_blorp.c                         |   67 -
 src/mesa/drivers/dri/i965/brw_surface_formats.c               |   15 
 src/mesa/drivers/dri/i965/brw_tex_layout.c                    |  100 +
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c              |    4 
 src/mesa/drivers/dri/i965/gen6_depth_state.c                  |    4 
 src/mesa/drivers/dri/i965/intel_blit.c                        |    4 
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c                 |   11 
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h                 |   37 
 src/mesa/drivers/dri/r200/r200_context.c                      |    1 
 src/mesa/drivers/dri/radeon/radeon_common_context.c           |    2 
 src/mesa/drivers/dri/radeon/radeon_context.c                  |    1 
 src/mesa/drivers/dri/radeon/radeon_fbo.c                      |    2 
 src/mesa/drivers/dri/radeon/radeon_texstate.c                 |   14 
 src/mesa/main/context.c                                       |   10 
 src/mesa/main/mtypes.h                                        |    7 
 src/mesa/state_tracker/st_cb_eglimage.c                       |   32 
 src/mesa/state_tracker/st_cb_viewport.c                       |    4 
 src/mesa/state_tracker/st_manager.c                           |    9 
 src/mesa/state_tracker/st_shader_cache.c                      |    2 
 src/util/Android.mk                                           |    1 
 src/vulkan/Makefile.am                                        |    3 
 src/vulkan/wsi/wsi_common_wayland.c                           |  119 +-
 117 files changed, 2555 insertions(+), 847 deletions(-)

New commits:
commit 293d1d5ca67cf7eac5fcd9a10a4a7a646ad35d76
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Jun 7 13:24:21 2017 +0300

    release to artful

diff --git a/debian/changelog b/debian/changelog
index 19632b4..eb4acd7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-mesa (17.1.2-1ubuntu1) UNRELEASED; urgency=medium
+mesa (17.1.2-1ubuntu1) artful; urgency=medium
 
   * Merge from Debian.
   * Refresh patches.
 
- -- Timo Aaltonen <tjaalton@debian.org>  Wed, 07 Jun 2017 10:46:27 +0300
+ -- Timo Aaltonen <tjaalton@debian.org>  Wed, 07 Jun 2017 13:24:07 +0300
 
 mesa (17.1.2-1) experimental; urgency=medium
 

commit e28c49c045578ce95ec71b62aa1cab2d3a3ba8b8
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Jun 7 13:21:51 2017 +0300

    Refresh patches.

diff --git a/debian/changelog b/debian/changelog
index 55c5ed6..19632b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mesa (17.1.2-1ubuntu1) UNRELEASED; urgency=medium
+
+  * Merge from Debian.
+  * Refresh patches.
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Wed, 07 Jun 2017 10:46:27 +0300
+
 mesa (17.1.2-1) experimental; urgency=medium
 
   * New upstream release.
diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch
index 2fd2f8d..d1fbc1b 100644
--- a/debian/patches/egl-platform-mir.patch
+++ b/debian/patches/egl-platform-mir.patch
@@ -1,24 +1,24 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2214,7 +2214,9 @@ for plat in $egl_platforms; do
- 	android)
+@@ -1701,7 +1701,9 @@ for plat in $platforms; do
  		PKG_CHECK_MODULES([ANDROID], [cutils hardware sync])
+ 		DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM"
  		;;
 -
 +        mir)
 +                PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa])
 +                ;;
  	*)
- 		AC_MSG_ERROR([EGL platform '$plat' does not exist])
+ 		AC_MSG_ERROR([platform '$plat' does not exist])
  		;;
-@@ -2241,6 +2243,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, ec
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
-+AM_CONDITIONAL(HAVE_EGL_PLATFORM_MIR, echo "$egl_platforms" | grep -q 'mir')
+@@ -1732,6 +1734,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, ec
+ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm')
+ AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless')
+ AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android')
++AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$egl_platforms" | grep -q 'mir')
  
- AC_SUBST([EGL_NATIVE_PLATFORM])
- AC_SUBST([EGL_CFLAGS])
+ dnl
+ dnl More DRI setup
 --- a/include/EGL/eglplatform.h
 +++ b/include/EGL/eglplatform.h
 @@ -105,6 +105,13 @@ typedef struct ANativeWindow*
@@ -113,7 +113,7 @@
  };
  
  struct dri2_egl_context
-@@ -265,7 +273,7 @@ struct dri2_egl_surface
+@@ -269,7 +277,7 @@ struct dri2_egl_surface
     struct gbm_dri_surface *gbm_surf;
  #endif
  
@@ -122,7 +122,7 @@
     __DRIbuffer           *dri_buffers[__DRI_BUFFER_COUNT];
     struct {
  #ifdef HAVE_WAYLAND_PLATFORM
-@@ -277,9 +285,13 @@ struct dri2_egl_surface
+@@ -281,9 +289,13 @@ struct dri2_egl_surface
        void *data;
        int data_size;
  #endif
@@ -137,7 +137,7 @@
        int                 locked;
        int                 age;
     } color_buffers[4], *back, *current;
-@@ -308,6 +320,10 @@ struct dri2_egl_surface
+@@ -312,6 +324,10 @@ struct dri2_egl_surface
        __DRIimage           *front;
        unsigned int         visual;
  #endif
@@ -148,7 +148,7 @@
  };
  
  struct dri2_egl_config
-@@ -397,6 +413,9 @@ dri2_initialize_android(_EGLDriver *drv,
+@@ -401,6 +417,9 @@ dri2_initialize_android(_EGLDriver *drv,
  EGLBoolean
  dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp);
  
@@ -810,7 +810,7 @@
 +#endif
  
  /**
-  * Map --with-egl-platforms names to platform types.
+  * Map --with-platforms names to platform types.
 @@ -73,6 +76,7 @@ static const struct {
     { _EGL_PLATFORM_ANDROID, "android" },
     { _EGL_PLATFORM_HAIKU, "haiku" },
@@ -1031,11 +1031,11 @@
        dri_use |= __DRI_IMAGE_USE_SCANOUT;
 --- a/src/egl/Makefile.am
 +++ b/src/egl/Makefile.am
-@@ -88,6 +88,12 @@ libEGL_common_la_LIBADD += $(ANDROID_LIB
+@@ -83,6 +83,12 @@ libEGL_common_la_LIBADD += $(ANDROID_LIB
  dri2_backend_FILES += drivers/dri2/platform_android.c
  endif
  
-+if HAVE_EGL_PLATFORM_MIR
++if HAVE_PLATFORM_MIR
 +AM_CFLAGS += -DHAVE_MIR_PLATFORM
 +AM_CFLAGS += $(MIR_CFLAGS)
 +dri2_backend_FILES += drivers/dri2/platform_mir.c
diff --git a/debian/patches/egl-platform-rs.patch b/debian/patches/egl-platform-rs.patch
index 6ca1ab4..9a1c887 100644
--- a/debian/patches/egl-platform-rs.patch
+++ b/debian/patches/egl-platform-rs.patch
@@ -8,9 +8,9 @@
  
  dnl LLVM versions
  LLVM_REQUIRED_GALLIUM=3.3.0
-@@ -2214,9 +2215,15 @@ for plat in $egl_platforms; do
- 	android)
+@@ -1701,9 +1702,15 @@ for plat in $platforms; do
  		PKG_CHECK_MODULES([ANDROID], [cutils hardware sync])
+ 		DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM"
  		;;
 -        mir)
 -                PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa])
@@ -25,16 +25,16 @@
 +		;;
 +
  	*)
- 		AC_MSG_ERROR([EGL platform '$plat' does not exist])
+ 		AC_MSG_ERROR([platform '$plat' does not exist])
  		;;
-@@ -2244,6 +2251,7 @@ AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, ec
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_MIR, echo "$egl_platforms" | grep -q 'mir')
-+AM_CONDITIONAL(HAVE_EGL_PLATFORM_RS, echo "$egl_platforms" | grep -q 'rs')
+@@ -1735,6 +1742,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "
+ AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless')
+ AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android')
+ AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$egl_platforms" | grep -q 'mir')
++AM_CONDITIONAL(HAVE_PLATFORM_RS, echo "$egl_platforms" | grep -q 'rs')
  
- AC_SUBST([EGL_NATIVE_PLATFORM])
- AC_SUBST([EGL_CFLAGS])
+ dnl
+ dnl More DRI setup
 --- a/include/EGL/eglplatform.h
 +++ b/include/EGL/eglplatform.h
 @@ -112,6 +112,13 @@ typedef MirEGLNativeDisplayType EGLNativ
@@ -53,11 +53,11 @@
  #if defined(MESA_EGL_NO_X11_HEADERS)
 --- a/src/egl/Makefile.am
 +++ b/src/egl/Makefile.am
-@@ -94,6 +94,13 @@ AM_CFLAGS += $(MIR_CFLAGS)
+@@ -89,6 +89,13 @@ AM_CFLAGS += $(MIR_CFLAGS)
  dri2_backend_FILES += drivers/dri2/platform_mir.c
  endif
  
-+if HAVE_EGL_PLATFORM_RS
++if HAVE_PLATFORM_RS
 +AM_CFLAGS += -DHAVE_RS_PLATFORM
 +AM_CFLAGS += $(RS_CFLAGS)
 +libEGL_common_la_LIBADD += $(RS_LIBS)
@@ -130,7 +130,7 @@
  };
  
  struct dri2_egl_context
-@@ -285,10 +294,10 @@ struct dri2_egl_surface
+@@ -289,10 +298,10 @@ struct dri2_egl_surface
        void *data;
        int data_size;
  #endif
@@ -143,7 +143,7 @@
        int                 fd;
        int                 buffer_age;
  #endif
-@@ -316,6 +325,10 @@ struct dri2_egl_surface
+@@ -320,6 +329,10 @@ struct dri2_egl_surface
     } color_buffers[3], *back;
  #endif
  
@@ -154,7 +154,7 @@
  #if defined(HAVE_SURFACELESS_PLATFORM)
        __DRIimage           *front;
        unsigned int         visual;
-@@ -416,6 +429,9 @@ dri2_initialize_surfaceless(_EGLDriver *
+@@ -420,6 +433,9 @@ dri2_initialize_surfaceless(_EGLDriver *
  EGLBoolean
  dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp);
  
@@ -164,7 +164,7 @@
  void
  dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw);
  
-@@ -446,5 +462,4 @@ dri2_set_WL_bind_wayland_display(_EGLDri
+@@ -450,5 +466,4 @@ dri2_set_WL_bind_wayland_display(_EGLDri
     }
  #endif
  }
@@ -1146,7 +1146,7 @@
 +#endif
  
  /**
-  * Map --with-egl-platforms names to platform types.
+  * Map --with-platforms names to platform types.
 @@ -76,7 +79,8 @@ static const struct {
     { _EGL_PLATFORM_ANDROID, "android" },
     { _EGL_PLATFORM_HAIKU, "haiku" },
diff --git a/debian/patches/vulkan-mir.patch b/debian/patches/vulkan-mir.patch
index decdbcc..db0eab5 100644
--- a/debian/patches/vulkan-mir.patch
+++ b/debian/patches/vulkan-mir.patch
@@ -1,16 +1,6 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -2247,6 +2247,7 @@ fi
- 
- AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$egl_platforms" | grep -q 'x11')
- AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$egl_platforms" | grep -q 'wayland')
-+AM_CONDITIONAL(HAVE_PLATFORM_RS, echo "$egl_platforms" | grep -q 'rs')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep -q 'drm')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
 --- a/src/intel/vulkan/anv_device.c
 +++ b/src/intel/vulkan/anv_device.c
-@@ -293,6 +293,12 @@ static const VkExtensionProperties globa
+@@ -400,6 +400,12 @@ static const VkExtensionProperties globa
        .specVersion = 5,
     },
  #endif
@@ -23,7 +13,7 @@
     {
        .extensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
        .specVersion = 1,
-@@ -357,6 +363,69 @@ static const VkAllocationCallbacks defau
+@@ -464,6 +470,67 @@ static const VkAllocationCallbacks defau
     .pfnFree = default_free_func,
  };
  
@@ -51,6 +41,7 @@
 +   VkDeviceMemory*                             pMem)
 +{
 +   ANV_FROM_HANDLE(anv_device, device, _device);
++   struct anv_physical_device *pdevice = &device->instance->physicalDevice;
 +   struct anv_device_memory *mem;
 +   VkResult result;
 +
@@ -62,10 +53,6 @@
 +      return VK_SUCCESS;
 +   }
 +
-+   /* We support exactly one memory heap. */
-+   assert(pAllocateInfo->memoryTypeIndex == 0 ||
-+          (!device->info.has_llc && pAllocateInfo->memoryTypeIndex < 2));
-+
 +   mem = vk_alloc2(&device->alloc, pAllocator, sizeof(*mem), 8,
 +                    VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
 +   if (mem == NULL)
@@ -78,7 +65,8 @@
 +   if (result != VK_SUCCESS)
 +      goto fail;
 +
-+   mem->type_index = pAllocateInfo->memoryTypeIndex;
++   assert(pAllocateInfo->memoryTypeIndex < pdevice->memory.type_count);
++   mem->type = &pdevice->memory.types[pAllocateInfo->memoryTypeIndex];
 +
 +   *pMem = anv_device_memory_to_handle(mem);
 +
@@ -167,7 +155,7 @@
     result = anv_AllocateMemory(anv_device_to_handle(device),
        &(VkMemoryAllocateInfo) {
           .sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
-@@ -199,18 +228,26 @@ x11_anv_wsi_image_create(VkDevice device
+@@ -199,19 +228,27 @@ x11_anv_wsi_image_create(VkDevice device
        },
        NULL /* XXX: pAllocator */,
        &memory_h);
@@ -181,11 +169,12 @@
 -    * know we're writing to them and synchronize uses on other rings (eg if
 -    * the display server uses the blitter ring).
 -    */
+-   memory->bo.flags &= ~EXEC_OBJECT_ASYNC;
 -   memory->bo.flags |= EXEC_OBJECT_WRITE;
 +   if (import_fd) {
-+       // Do we need to do more of what anv_BindImageMemory() does here?
-+       image->bo = &memory->bo;
-+       image->offset = 0;
++      // Do we need to do more of what anv_BindImageMemory() does here?
++      image->bo = &memory->bo;
++      image->offset = 0;
 +   }
 +   else {
 +      anv_BindImageMemory(device_h, image_h, memory_h, 0);
@@ -195,12 +184,13 @@
 +       * know we're writing to them and synchronize uses on other rings (eg if
 +       * the display server uses the blitter ring).
 +       */
++      memory->bo.flags &= ~EXEC_OBJECT_ASYNC;
 +      memory->bo.flags |= EXEC_OBJECT_WRITE;
 +   }
  
     struct anv_surface *surface = &image->color_surface;
     assert(surface->isl.tiling == ISL_TILING_X);
-@@ -225,13 +262,18 @@ x11_anv_wsi_image_create(VkDevice device
+@@ -226,13 +263,18 @@ x11_anv_wsi_image_create(VkDevice device
        goto fail_alloc_memory;
     }
  
@@ -225,7 +215,7 @@
  
     *image_p = image_h;
     *memory_p = memory_h;
-@@ -250,12 +292,14 @@ fail_create_image:
+@@ -251,12 +293,14 @@ fail_create_image:
  static void
  x11_anv_wsi_image_free(VkDevice device,
                         const VkAllocationCallbacks* pAllocator,
@@ -956,7 +946,7 @@
 +#endif
 --- a/src/vulkan/wsi/wsi_common_wayland.c
 +++ b/src/vulkan/wsi/wsi_common_wayland.c
-@@ -654,6 +654,7 @@ wsi_wl_image_init(struct wsi_wl_swapchai
+@@ -677,6 +677,7 @@ wsi_wl_image_init(struct wsi_wl_swapchai
                                                      pAllocator,
                                                      false,
                                                      false,
@@ -964,7 +954,7 @@
                                                      &image->image,
                                                      &image->memory,
                                                      &size,
-@@ -683,7 +684,7 @@ wsi_wl_image_init(struct wsi_wl_swapchai
+@@ -704,7 +705,7 @@ wsi_wl_image_init(struct wsi_wl_swapchai
     return VK_SUCCESS;
  
  fail_image:
@@ -973,15 +963,15 @@
                                           image->image, image->memory);
  
     return result;
-@@ -697,7 +698,7 @@ wsi_wl_swapchain_destroy(struct wsi_swap
- 
+@@ -719,7 +720,7 @@ wsi_wl_swapchain_destroy(struct wsi_swap
     for (uint32_t i = 0; i < chain->base.image_count; i++) {
-       if (chain->images[i].buffer)
+       if (chain->images[i].buffer) {
+          wl_buffer_destroy(chain->images[i].buffer);
 -         chain->base.image_fns->free_wsi_image(chain->base.device, pAllocator,
 +         chain->base.image_fns->free_wsi_image(chain->base.device, pAllocator, false,
                                                 chain->images[i].image,
                                                 chain->images[i].memory);
-    }
+       }
 --- a/src/vulkan/wsi/wsi_common_x11.c
 +++ b/src/vulkan/wsi/wsi_common_x11.c
 @@ -939,6 +939,7 @@ x11_image_init(VkDevice device_h, struct
@@ -1049,7 +1039,7 @@
  
 --- a/src/intel/Makefile.vulkan.am
 +++ b/src/intel/Makefile.vulkan.am
-@@ -136,6 +137,17 @@ VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_F
+@@ -149,6 +149,17 @@ VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_F
  VULKAN_LIB_DEPS += $(WAYLAND_LIBS)
  endif
  
@@ -1069,7 +1059,7 @@
  vulkan_libvulkan_common_la_CFLAGS = $(VULKAN_CFLAGS)
 --- a/src/vulkan/Makefile.am
 +++ b/src/vulkan/Makefile.am
-@@ -75,4 +75,16 @@ VULKAN_LIB_DEPS += \
+@@ -74,4 +74,16 @@ VULKAN_LIB_DEPS += \
  	$(WAYLAND_LIBS)
  endif
  

commit 96c85d0a4c55fad62b139e424b6db17daa3984a6
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Jun 7 10:32:22 2017 +0300

    release to experimental

diff --git a/debian/changelog b/debian/changelog
index 53fa59b..5297f1f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-mesa (17.1.2-1) UNRELEASED; urgency=medium
+mesa (17.1.2-1) experimental; urgency=medium
 
   * New upstream release.
   * Update d/upstream/signing-key.asc with key from Juan A. Suarez Romero.
   * README.source: Add documentation about how to update d/u/signing-
     key.asc.
 
- -- Timo Aaltonen <tjaalton@debian.org>  Tue, 06 Jun 2017 11:52:09 +0300
+ -- Timo Aaltonen <tjaalton@debian.org>  Wed, 07 Jun 2017 10:32:08 +0300
 
 mesa (17.1.0-1) experimental; urgency=medium
 

commit e6893b20c21d673937921c18fc34045c1953e037
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Jun 7 09:44:34 2017 +0300

    README.source: Add documentation about how to update d/u/signing- key.asc.

diff --git a/debian/README.source b/debian/README.source
index 85ab8b3..091789b 100644
--- a/debian/README.source
+++ b/debian/README.source
@@ -39,3 +39,9 @@ are involved:
 * Otherwise, the patch is added to debian/patches/ which is managed
   with quilt as documented in /usr/share/doc/quilt/README.source.
   Thus, the patching system requires a build dependency on quilt.
+
+Updating debian/upstream/signing-key.asc with new keys requires the following steps:
+* fetch the key:
+  gpg [--keyserver $server] --recv-keys $keyid
+* export it to the file:
+  gpg --export-options export-minimal --export -a $keyid >> debian/upstream/signing-key.asc
diff --git a/debian/changelog b/debian/changelog
index 7146220..53fa59b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ mesa (17.1.2-1) UNRELEASED; urgency=medium
 
   * New upstream release.
   * Update d/upstream/signing-key.asc with key from Juan A. Suarez Romero.
+  * README.source: Add documentation about how to update d/u/signing-
+    key.asc.
 
  -- Timo Aaltonen <tjaalton@debian.org>  Tue, 06 Jun 2017 11:52:09 +0300
 

commit f2878f1c77ba932e0ba0d51a3625c339d74b96a5
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Wed Jun 7 09:39:24 2017 +0300

    Update d/upstream/signing-key.asc with key from Juan A. Suarez Romero.

diff --git a/debian/changelog b/debian/changelog
index e48498b..7146220 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mesa (17.1.2-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+  * Update d/upstream/signing-key.asc with key from Juan A. Suarez Romero.
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 06 Jun 2017 11:52:09 +0300
+
 mesa (17.1.0-1) experimental; urgency=medium
 
   * New upstream release.
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
index 797c071..a425745 100644
--- a/debian/upstream/signing-key.asc
+++ b/debian/upstream/signing-key.asc
@@ -692,3 +692,583 @@ OLtkGL9E+0n7qvCcp0yjw5d3DdCrCnhHtsGCJyMpRJVkNdpRyAEk17Sbt8g36TSV
 yc3LzJA+b6/cPamySsetyO6jSkApaLbAOl99
 =FK/k
 -----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mI4EU55zrQEEALwTUVZuY6cxd1MUVydvgefcFhlbrG4bhkIt820llf/RwvyurXUS
+wyMxVKSNTcF/kEbDqeo8rlk2a3/EZ+aaznV5LWuFxfQ9F8rq9zp7SJM/eH9ArVh0
+cH2NTar2IBljMpaFOZzNDNGjQjamkC7bH4Yg/JLA7HF33tnkgjHC393PACCJJVZD
+iQE3BCABAgChBQJXsqAymh0CVGhpcyBrZXkgd2FzIGdlbmVyYXRlZCBhcyBwYXJ0
+IG9mIHRoZSBFdmlsMzIgcHJvamVjdC4KSXQgaXMgbm90IG93bmVkIGJ5IHRoZSB1
+c2VyIGRlc2NyaWJlZCBpbiB0aGUgVUlELgpTZWUgaHR0cHM6Ly9ldmlsMzIuY29t
+L3Jldm9rZWQgZm9yIG1vcmUgZGV0YWlscy4ACgkQSmWNK9fXCJXt9AP+Io8NDdE6
+H8NqT13u5+aXUM+Ynac5zthCwzxc+LpsbjNhDQWKcVX8o/cR54ouitoa0a6qkMYx
+cs+XNeeQe95YG/jOQVpz7crO6165ATfBgBZaCPfzgVTQa129Wq8TE8K3sXevbS60
+Wshm+gw+2HPLagygtUTXvGcO7gjgzsPAnwS0QEp1YW4gQW50b25pbyBTdcOhcmV6
+IFJvbWVybyAoSWdhbGlhLCBTLkwuKSA8amFzdWFyZXpAaWdhbGlhLmNvbT6IuAQT
+AQIAIgUCU+A6bQIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQSmWNK9fX
+CJV2MQP9FJNTuuxcg5d6jww+/hTxdP5lM4EGizGHjWUxnEdImHtBTJ9H8PykngkR
+tannjRrZ42idcT1xc+tFtTHIpVWRt+kk/ohQJQurop9U2Z2AlRsrtZiKrCDUW8NS
+KyGWRjHz5giqiWIrf0sdEye/6goY4D4CQJOBiN6w89W2v1piDQiZAaIERaTL5REE
+ANJJYsXfDU1eGN1nfXUEdXo3aKun8Gelf676U4z2TOWrXkO2ykkwucjOkWDKYqTt
+UqELe4Kv6vblRWDI7fFoQWF3FiPQcswrSUK1Y8gNQ/Uh0/0H3Z+5zsUoMA7svWzO
+BiaHai0dKDqjc9COoXkQDYpCJJNlm8PqlG9q3NOXA0GbAKDfKJcMpE7XuiIs8dOP
+ERLjk5d3NQP+KRu+yM3FYReVnEv132gI3rUhb9j/hpZKh4vl66ur9iqohMXdM6Mr
+zVVtrh2h1gdAwja3p2PXkQK+nP986rMdWyit/ohahTMPdMOyeuHFxsHQcj/eqFQe
+IOcpUYc1pOKD0iNviw6j1TE2l+Hjy1IcQnJIbhqarRdMfloAMicc8fQD/Rbo/wzy
+84bK/VeVBLjCtFiD7LkykfLH5PrZPZvu6EpwGEiucbKsFgJkN+c6l5zQnpMMTzWt
+JSDEynHWTbIQJG7bhmVmkRlUD0kUaeWm++H20XXqfpM0ZsRJpLWPcq7inoHqM5s7
+n6x11QNLehRAG9qyyuc6Ddzl/lv9N+2GPVrAtCtKdWFuIEEuIFN1YXJleiBSb21l
+cm8gPGphc3VhcmV6QGlnYWxpYS5jb20+iGAEExECACACGwMGCwkIBwMCBBUCCAME
+FgIDAQIeAQIXgAUCVS5C2QAKCRDh7L4H19cIlWBhAKCefTZLx2JxrnMwBvTElR31
+BuADYACfecvJt9jqe8f79GNMXJ5lPKldgwW0QEp1YW4gQW50b25pbyBTdcOhcmV6
+IFJvbWVybyAoSWdhbGlhLCBTLkwuKSA8amFzdWFyZXpAaWdhbGlhLmNvbT6IYQQT
+EQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAIZAQUCVS5C0gAKCRDh7L4H19cI
+lXPjAKDNvtFHTWy/4Tp0gI0MZ044SGxi1wCfWEnrsjVa7R2UC/KY60kWmfAgeMvR
+x3vHeQEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgG
+BgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAx
+NDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABzAJoDASIA
+AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgED
+AwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2Jy
+ggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1
+dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJ
+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
+0ctby1kBEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEAAAEAAQAA/9sAQwAI
+BgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSww
+MTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAlgCWAwEi
+AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIB
+AwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNi
+coIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0
+dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfI
+ycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEA
+AAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
+QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD
+REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZ
+mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz
+9PX29/j5+v/aAAwDAQACEQMRAD8A+f6KKKACiitbw/4cv/El61vZCNFQZknmYrHH
+6ZODycYA/oCQAZNT2Vlc6jeRWlpC01xK21EXqf8AAdye1ew6b8LdAs0DX002oy4I
+b5jHH14IC8jjj7xHX8OkF1o+iWzx25srOItl4oSqZPqVXqeB+VVy9yOfsecaH8LZ
+Zn8zW7s28QA/c24y+SDwWI2rg46bs8/Wu7v/AA/pdroEsNhZQWzKoKskQydoIBJ6
+k4Zhk88n1NZGp+PCd0enfKuMb2XJNc5NrWpTOZZLt5B0OT0/Ci6QKLerMi60vz5W
+32xDMP4kIY/1qD+x4TgiFdx45P8AStG+vblsb5yX9z1FVApOGBIB9Tk5rM1KD6RB
+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
+XtdcARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAAABAAEAAP/bAEMACAYG
+BwYFCAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0
+NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIAMgAvgMBIgAC
+EQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMD
+AgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKC
+CQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2
+d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK
+0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAA
+AAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFR
+B2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RF
+RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqi
+o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T1
+9vf4+fr/2gAMAwEAAhEDEQA/APn+iiigAorQ0bQ9U8Q6ilhpFhPe3TYOyFM7QSBu
+Y9FXJGWOAM8mvZfDn7OkrW0d74r1lbNAC8traAFkXZn5pW+VSGznCsMDhucgA8Kr
+cg8F+Krq3iuLfw1rM0EqB45I7CVldSMgghcEEc5r6i0vwx4C+HIFzZWMTahGqIZp
+H864J2kFhuPyEhjnaFBzjHQVHqfxAkvLO5trOzkh81GRLjzcFAeM8YIbHoeD61lO
+tTh8TNI0py2R8yHwL4vAyfCuuAf9g6X/AOJpv/CE+LMZ/wCEY1r/AMAJf/ia+i4f
+EevSsnnavCqn7xMcZP8AKn3GuyyR+XdeItoDZBiKRE/iv8q5p5hRjobRwlRnzj/w
+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


Reply to: