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

mesa: Changes to 'ubuntu+1'



 Makefile.am                                               |   10 +--
 VERSION                                                   |    2 
 debian/changelog                                          |   14 ++++
 debian/control                                            |    2 
 debian/mesa-common-dev.install.in                         |    1 
 include/pci_ids/radeonsi_pci_ids.h                        |    7 ++
 src/gallium/auxiliary/pipe-loader/pipe_loader.h           |    2 
 src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c       |    2 
 src/gallium/auxiliary/vl/vl_compositor.c                  |    2 
 src/gallium/drivers/r600/evergreen_compute.c              |    8 --
 src/gallium/drivers/r600/r600_state_common.c              |    4 -
 src/gallium/drivers/radeon/r600_pipe_common.c             |   15 ++++
 src/gallium/drivers/radeon/radeon_video.c                 |    7 +-
 src/gallium/state_trackers/vdpau/device.c                 |   43 +++++++++++++-
 src/gallium/state_trackers/vdpau/output.c                 |   42 +++++++++----
 src/gallium/state_trackers/vdpau/vdpau_private.h          |    1 
 src/glsl/glcpp/glcpp-lex.l                                |   10 ++-
 src/mesa/drivers/dri/i965/brw_eu_compact.c                |   14 +---
 src/mesa/drivers/dri/i965/brw_meta_fast_clear.c           |    1 
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp            |    7 ++
 src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp |    5 -
 21 files changed, 150 insertions(+), 49 deletions(-)

New commits:
commit c7af18177bfe6de4727b7fb5f7efbb1dfaca7ab0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Sep 1 13:08:05 2014 +0200

    Revert "mesa: fix make tarballs"
    
    This reverts commit 88cbe3908f0ea08228a5ffb1808f98b6906c4416.

diff --git a/Makefile.am b/Makefile.am
index 111c1c8..d2916da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,7 +64,7 @@ IGNORE_FILES = \
 
 parsers: configure
 	$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h
-	$(MAKE) -C src/mesa ../../src/mesa/program/lex.yy.c ../../src/mesa/program/program_parse.tab.c ../../src/mesa/program/program_parse.tab.h
+	$(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
 
 # Everything for new a Mesa release:
 ARCHIVES = $(PACKAGE_NAME).tar.gz \
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index b23208a..e71bccb 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -36,8 +36,7 @@ endif
 gldir = $(includedir)/GL
 gl_HEADERS = $(top_srcdir)/include/GL/*.h
 
-.PHONY: $(BUILDDIR)main/git_sha1.h.tmp $(BUILDDIR)program/lex.yy.c $(BUILDDIR)program/program_parse.tab.c $(BUILDDIR)program/program_parse.tab.h
-
+.PHONY: $(BUILDDIR)main/git_sha1.h.tmp
 $(BUILDDIR)main/git_sha1.h.tmp:
 	@touch main/git_sha1.h.tmp
 	@if test -d $(top_srcdir)/.git; then \

commit 4035d69fe08e43765ff03d649f2e2057d9989e56
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Sep 1 11:30:47 2014 +0200

    bump changelog

diff --git a/debian/changelog b/debian/changelog
index 21eab29..6fb5544 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (10.3~rc2-0ubuntu1) UNRELEASED; urgency=low
+
+  * Merge from unreleased debian-experimental.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 12 Aug 2014 09:38:49 +0200
+
 mesa (10.3~rc2-1) UNRELEASED; urgency=low
 
   [ Maarten Lankhorst ]
@@ -11,13 +17,6 @@ mesa (10.3~rc2-1) UNRELEASED; urgency=low
 
  -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 12 Aug 2014 09:38:49 +0200
 
-mesa (10.3~git20140821-1) UNRELEASED; urgency=low
-
-  * Build with llvm 3.5.
-  * Remove mention of tdfx.
-
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 12 Aug 2014 09:38:49 +0200
-
 mesa (10.2.6-1ubuntu1) utopic; urgency=medium
 
   * Drop 101_ubuntu_hidden_glname.patch.

commit 2e5e3d22fc2a8d875ca1f8d311a409ba60a21b56
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Thu Aug 14 15:02:57 2014 +0200

    Remove mention of tdfx.
    
    Conflicts:
    	debian/changelog
    	debian/control

diff --git a/debian/changelog b/debian/changelog
index c5d7c4e..ae0bbb8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ mesa (10.3~rc2-1) UNRELEASED; urgency=low
   [ Maarten Lankhorst ]
   * Build with llvm 3.5.
   * New upstream release.
+  * Remove mention of tdfx.
 
   [ Timo Aaltonen ]
   * mesa-common-dev: Add glcorearb.h.
diff --git a/debian/control b/debian/control
index 0c8a94b..e646957 100644
--- a/debian/control
+++ b/debian/control
@@ -676,8 +676,6 @@ Description: free implementation of the OpenGL API -- DRI modules
  .
  For a complete description of Mesa, please look at the
  libgl1-mesa-swx11 package.
- .
- The tdfx DRI module needs libglide3 to enable direct rendering.
 
 Package: libgl1-mesa-dri-dbg
 Section: debug

commit f471ffccb91b255860c7bd35847b0843e1da5093
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Sep 1 11:26:56 2014 +0200

    fix typo

diff --git a/debian/control b/debian/control
index 75684c0..8f45514 100644
--- a/debian/control
+++ b/debian/control
@@ -552,7 +552,7 @@ Priority: optional
 Architecture: any
 Pre-Depends: ${misc:Pre-Depends}
 Depends:
- libllvm-3.5 (>= 1:3.5~+rc3) [amd64 i386],
+ libllvm3.5 (>= 1:3.5~+rc3) [amd64 i386],
  ${shlibs:Depends},
  ${misc:Depends}
 Recommends: libtxc-dxtn-s2tc0 | libtxc-dxtn0

commit d5fb28e13755988ac87a5910103d9b883f360cd7
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Sep 1 11:26:10 2014 +0200

    bump changelog

diff --git a/debian/changelog b/debian/changelog
index 79c6177..c5d7c4e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,8 @@
-mesa (10.3~rc1-1) UNRELEASED; urgency=low
+mesa (10.3~rc2-1) UNRELEASED; urgency=low
 
   [ Maarten Lankhorst ]
   * Build with llvm 3.5.
+  * New upstream release.
 
   [ Timo Aaltonen ]
   * mesa-common-dev: Add glcorearb.h.

commit 390a9f6cb7ddc755380a680ff8e07b308e5b31b4
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Sun Aug 31 19:29:42 2014 +0100

    Increment version to 10.3.0-rc2
    
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>

diff --git a/VERSION b/VERSION
index 9cad0c5..87d81b2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.3.0-rc1
+10.3.0-rc2

commit 0fbb9a599df898d4e1166d6d6f00cb34a0524bea
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Sun Aug 31 23:16:15 2014 +0100

    mesa: fix make tarballs
    
    Current method of generating distribution tar-balls involves manually
    invoking make + target name in the appropriate places. This temporary
    solution is used until we get 'make dist' working.
    
    Currently it does not work, as in order to have the target (which is
    also a filename) available in the final Makefile we need to add a PHONY
    target + use the correct target name.
    
    Cc: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    (cherry picked from commit 88cbe3908f0ea08228a5ffb1808f98b6906c4416)

diff --git a/Makefile.am b/Makefile.am
index d2916da..111c1c8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,7 +64,7 @@ IGNORE_FILES = \
 
 parsers: configure
 	$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h
-	$(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
+	$(MAKE) -C src/mesa ../../src/mesa/program/lex.yy.c ../../src/mesa/program/program_parse.tab.c ../../src/mesa/program/program_parse.tab.h
 
 # Everything for new a Mesa release:
 ARCHIVES = $(PACKAGE_NAME).tar.gz \
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index e71bccb..b23208a 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -36,7 +36,8 @@ endif
 gldir = $(includedir)/GL
 gl_HEADERS = $(top_srcdir)/include/GL/*.h
 
-.PHONY: $(BUILDDIR)main/git_sha1.h.tmp
+.PHONY: $(BUILDDIR)main/git_sha1.h.tmp $(BUILDDIR)program/lex.yy.c $(BUILDDIR)program/program_parse.tab.c $(BUILDDIR)program/program_parse.tab.h
+
 $(BUILDDIR)main/git_sha1.h.tmp:
 	@touch main/git_sha1.h.tmp
 	@if test -d $(top_srcdir)/.git; then \

commit 2310a4b4cf0fd7a4cd04dd9aba5c89f52070e5d2
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Aug 28 20:16:42 2014 -0700

    i965/vec4: Update register coalescing test.
    
    In commit 04895f5c I added support for reswizzling writemasks. This test
    was checking that we didn't support this.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82881
    (cherry picked from commit 8b5ac1df17608e0d0d5ce412988ee8de97f61405)

diff --git a/src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp b/src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp
index 149174c..16e6270 100644
--- a/src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp
+++ b/src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp
@@ -241,8 +241,5 @@ TEST_F(register_coalesce_test, test_channel_mul_grf)
 
    register_coalesce(v);
 
-   /* This path isn't supported yet in the reswizzling code, so we're checking
-    * that we haven't done anything bad to scalar non-DP[234]s.
-    */
-   EXPECT_NE(mul->dst.reg, to.reg);
+   EXPECT_EQ(mul->dst.reg, to.reg);
 }

commit 8ef3d4fe03de1b370e255a3c900719a8cce59599
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Aug 29 15:15:43 2014 -0700

    i965: Add 2x MSAA support to Broadwell fast clear code.
    
    According to the cited documentation section (but in the newer docs),
    x_scaledown is the same for 2x and 4x MSAA.
    
    +47 piglits.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83081
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Cc: "10.3" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit e34a363a781a24b2cf6930c4d37f781ffec8a19a)

diff --git a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c
index 4fb20d7..aa3a60d 100644
--- a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c
+++ b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c
@@ -282,6 +282,7 @@ get_fast_clear_rect(struct brw_context *brw, struct gl_framebuffer *fb,
        * factor is 2 vertically and either 2 or 8 horizontally.
        */
       switch (irb->mt->num_samples) {
+      case 2:
       case 4:
          x_scaledown = 8;
          break;

commit 0c67167370bfbfee7d456812c13a87b239530dc9
Author: Christian König <christian.koenig@amd.com>
Date:   Sun Aug 24 12:22:08 2014 +0200

    radeon/uvd: fix field handling on R6XX style UVD
    
    The first UVD generation can only do frame based output.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    (cherry picked from commit 80771e47b6c1e47ab55f17311e1d4e227a9eb3d8)
    Nominated-by: Alex Deucher <alexdeucher@gmail.com>

diff --git a/src/gallium/drivers/radeon/radeon_video.c b/src/gallium/drivers/radeon/radeon_video.c
index 17e9a59..6dcee45 100644
--- a/src/gallium/drivers/radeon/radeon_video.c
+++ b/src/gallium/drivers/radeon/radeon_video.c
@@ -251,8 +251,11 @@ int rvid_get_video_param(struct pipe_screen *screen,
 			       profile != PIPE_VIDEO_PROFILE_VC1_MAIN;
 		case PIPE_VIDEO_CAP_PREFERS_INTERLACED:
 		case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED:
-			/* and MPEG2 only with shaders */
-			return codec != PIPE_VIDEO_FORMAT_MPEG12;
+			/* MPEG2 only with shaders and no support for
+			   interlacing on R6xx style UVD */
+			return codec != PIPE_VIDEO_FORMAT_MPEG12 &&
+			       /* TODO: RV770 might actually work */
+			       rscreen->family > CHIP_RV770;
 		default:
 			break;
 		}

commit 60f136eed9eb6d0622e44f6634162a702ba57c02
Author: Christian König <christian.koenig@amd.com>
Date:   Wed Aug 13 21:01:33 2014 +0200

    vl/compositor: set the scissor before clearing the render target
    
    Otherwise we clear areas that shouldn't be cleared.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit 03a99ba9e41ea86355a4febbe0b1a114d5455b9f)

diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c
index 839fd27..6bd1a88 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.c
+++ b/src/gallium/auxiliary/vl/vl_compositor.c
@@ -1060,6 +1060,7 @@ vl_compositor_render(struct vl_compositor_state *s,
       s->scissor.maxx = dst_surface->width;
       s->scissor.maxy = dst_surface->height;
    }
+   c->pipe->set_scissor_states(c->pipe, 0, 1, &s->scissor);
 
    gen_vertex_data(c, s, dirty_area);
 
@@ -1072,7 +1073,6 @@ vl_compositor_render(struct vl_compositor_state *s,
       dirty_area->x1 = dirty_area->y1 = MIN_DIRTY;
    }
 
-   c->pipe->set_scissor_states(c->pipe, 0, 1, &s->scissor);
    c->pipe->set_framebuffer_state(c->pipe, &c->fb_state);
    c->pipe->bind_vs_state(c->pipe, c->vs);
    c->pipe->set_vertex_buffers(c->pipe, 0, 1, &c->vertex_buf);

commit d2fb1da46d1bf9f5f05175a0ed30919fc0c118bd
Author: Christian König <christian.koenig@amd.com>
Date:   Wed Aug 13 20:21:06 2014 +0200

    st/vdpau: fix vlVdpOutputSurfaceRender(Output|Bitmap)Surface
    
    Correctly handle that the source_surface is only optional.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80561
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit b73c20759fe1b4a96296bed58637f5ded7c9155c)

diff --git a/src/gallium/state_trackers/vdpau/device.c b/src/gallium/state_trackers/vdpau/device.c
index 9c5ec60..efc1fde 100644
--- a/src/gallium/state_trackers/vdpau/device.c
+++ b/src/gallium/state_trackers/vdpau/device.c
@@ -42,6 +42,8 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device,
                           VdpGetProcAddress **get_proc_address)
 {
    struct pipe_screen *pscreen;
+   struct pipe_resource *res, res_tmpl;
+   struct pipe_sampler_view sv_tmpl;
    vlVdpDevice *dev = NULL;
    VdpStatus ret;
 
@@ -79,6 +81,43 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device,
       goto no_context;
    }
 
+   memset(&res_tmpl, 0, sizeof(res_tmpl));
+
+   res_tmpl.target = PIPE_TEXTURE_2D;
+   res_tmpl.format = PIPE_FORMAT_R8G8B8A8_UNORM;
+   res_tmpl.width0 = 1;
+   res_tmpl.height0 = 1;
+   res_tmpl.depth0 = 1;
+   res_tmpl.array_size = 1;
+   res_tmpl.bind = PIPE_BIND_SAMPLER_VIEW;
+   res_tmpl.usage = PIPE_USAGE_DEFAULT;
+
+   if (!CheckSurfaceParams(pscreen, &res_tmpl)) {
+      ret = VDP_STATUS_NO_IMPLEMENTATION;
+      goto no_resource;
+   }
+
+   res = pscreen->resource_create(pscreen, &res_tmpl);
+   if (!res) {
+      ret = VDP_STATUS_RESOURCES;
+      goto no_resource;
+   }
+
+   memset(&sv_tmpl, 0, sizeof(sv_tmpl));
+   u_sampler_view_default_template(&sv_tmpl, res, res->format);
+
+   sv_tmpl.swizzle_r = PIPE_SWIZZLE_ONE;
+   sv_tmpl.swizzle_g = PIPE_SWIZZLE_ONE;
+   sv_tmpl.swizzle_b = PIPE_SWIZZLE_ONE;
+   sv_tmpl.swizzle_a = PIPE_SWIZZLE_ONE;
+
+   dev->dummy_sv = dev->context->create_sampler_view(dev->context, res, &sv_tmpl);
+   pipe_resource_reference(&res, NULL);
+   if (!dev->dummy_sv) {
+      ret = VDP_STATUS_RESOURCES;
+      goto no_resource;
+   }
+
    *device = vlAddDataHTAB(dev);
    if (*device == 0) {
       ret = VDP_STATUS_ERROR;
@@ -93,8 +132,9 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device,
    return VDP_STATUS_OK;
 
 no_handle:
+   pipe_sampler_view_reference(&dev->dummy_sv, NULL);
+no_resource:
    dev->context->destroy(dev->context);
-   /* Destroy vscreen */
 no_context:
    vl_screen_destroy(dev->vscreen);
 no_vscreen:
@@ -185,6 +225,7 @@ vlVdpDeviceFree(vlVdpDevice *dev)
 {
    pipe_mutex_destroy(dev->mutex);
    vl_compositor_cleanup(&dev->compositor);
+   pipe_sampler_view_reference(&dev->dummy_sv, NULL);
    dev->context->destroy(dev->context);
    vl_screen_destroy(dev->vscreen);
    FREE(dev);
diff --git a/src/gallium/state_trackers/vdpau/output.c b/src/gallium/state_trackers/vdpau/output.c
index caae50f..3248f76 100644
--- a/src/gallium/state_trackers/vdpau/output.c
+++ b/src/gallium/state_trackers/vdpau/output.c
@@ -624,9 +624,9 @@ vlVdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface,
                                       uint32_t flags)
 {
    vlVdpOutputSurface *dst_vlsurface;
-   vlVdpOutputSurface *src_vlsurface;
 
    struct pipe_context *context;
+   struct pipe_sampler_view *src_sv;
    struct vl_compositor *compositor;
    struct vl_compositor_state *cstate;
 
@@ -639,12 +639,19 @@ vlVdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface,
    if (!dst_vlsurface)
       return VDP_STATUS_INVALID_HANDLE;
 
-   src_vlsurface = vlGetDataHTAB(source_surface);
-   if (!src_vlsurface)
-      return VDP_STATUS_INVALID_HANDLE;
+   if (source_surface == VDP_INVALID_HANDLE) {
+      src_sv = dst_vlsurface->device->dummy_sv;
+
+   } else {
+      vlVdpOutputSurface *src_vlsurface = vlGetDataHTAB(source_surface);
+      if (!src_vlsurface)
+         return VDP_STATUS_INVALID_HANDLE;
 
-   if (dst_vlsurface->device != src_vlsurface->device)
-      return VDP_STATUS_HANDLE_DEVICE_MISMATCH;
+      if (dst_vlsurface->device != src_vlsurface->device)
+         return VDP_STATUS_HANDLE_DEVICE_MISMATCH;
+
+      src_sv = src_vlsurface->sampler_view;
+   }
 
    pipe_mutex_lock(dst_vlsurface->device->mutex);
    vlVdpResolveDelayedRendering(dst_vlsurface->device, NULL, NULL);
@@ -657,7 +664,7 @@ vlVdpOutputSurfaceRenderOutputSurface(VdpOutputSurface destination_surface,
 
    vl_compositor_clear_layers(cstate);
    vl_compositor_set_layer_blend(cstate, 0, blend, false);
-   vl_compositor_set_rgba_layer(cstate, compositor, 0, src_vlsurface->sampler_view,
+   vl_compositor_set_rgba_layer(cstate, compositor, 0, src_sv,
                                 RectToPipe(source_rect, &src_rect), NULL,
                                 ColorsToPipe(colors, flags, vlcolors));
    STATIC_ASSERT(VL_COMPOSITOR_ROTATE_0 == VDP_OUTPUT_SURFACE_RENDER_ROTATE_0);
@@ -688,9 +695,9 @@ vlVdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface,
                                       uint32_t flags)
 {
    vlVdpOutputSurface *dst_vlsurface;
-   vlVdpBitmapSurface *src_vlsurface;
 
    struct pipe_context *context;
+   struct pipe_sampler_view *src_sv;
    struct vl_compositor *compositor;
    struct vl_compositor_state *cstate;
 
@@ -703,12 +710,19 @@ vlVdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface,
    if (!dst_vlsurface)
       return VDP_STATUS_INVALID_HANDLE;
 
-   src_vlsurface = vlGetDataHTAB(source_surface);
-   if (!src_vlsurface)
-      return VDP_STATUS_INVALID_HANDLE;
+   if (source_surface == VDP_INVALID_HANDLE) {
+      src_sv = dst_vlsurface->device->dummy_sv;
+
+   } else {
+      vlVdpBitmapSurface *src_vlsurface = vlGetDataHTAB(source_surface);
+      if (!src_vlsurface)
+         return VDP_STATUS_INVALID_HANDLE;
 
-   if (dst_vlsurface->device != src_vlsurface->device)
-      return VDP_STATUS_HANDLE_DEVICE_MISMATCH;
+      if (dst_vlsurface->device != src_vlsurface->device)
+         return VDP_STATUS_HANDLE_DEVICE_MISMATCH;
+
+      src_sv = src_vlsurface->sampler_view;
+   }
 
    context = dst_vlsurface->device->context;
    compositor = &dst_vlsurface->device->compositor;
@@ -721,7 +735,7 @@ vlVdpOutputSurfaceRenderBitmapSurface(VdpOutputSurface destination_surface,
 
    vl_compositor_clear_layers(cstate);
    vl_compositor_set_layer_blend(cstate, 0, blend, false);
-   vl_compositor_set_rgba_layer(cstate, compositor, 0, src_vlsurface->sampler_view,
+   vl_compositor_set_rgba_layer(cstate, compositor, 0, src_sv,
                                 RectToPipe(source_rect, &src_rect), NULL,
                                 ColorsToPipe(colors, flags, vlcolors));
    vl_compositor_set_layer_rotation(cstate, 0, flags & 3);
diff --git a/src/gallium/state_trackers/vdpau/vdpau_private.h b/src/gallium/state_trackers/vdpau/vdpau_private.h
index 65f8e47..d1443a0 100644
--- a/src/gallium/state_trackers/vdpau/vdpau_private.h
+++ b/src/gallium/state_trackers/vdpau/vdpau_private.h
@@ -348,6 +348,7 @@ typedef struct
    struct vl_screen *vscreen;
    struct pipe_context *context;
    struct vl_compositor compositor;
+   struct pipe_sampler_view *dummy_sv;
    pipe_mutex mutex;
 
    struct {

commit 627d31dc36be6a92775b038bc4a26a96df8e7191
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 18 11:36:12 2014 -0700

    glcpp: Don't use alternation in the lookahead for empty pragmas.
    
    We've found that there's a buffer overrun bug in flex that's triggered by
    using alternation in a lookahead pattern.
    
    Fortunately, we don't need to match the exact {NEWLINE} expression to
    detect an empty pragma. It suffices to verify that there are no non-space
    characters before any newline character. So we can use a simple [\r\n] to
    get the desired behavior while avoiding the flex bug.
    
    Fixes the regression of piglit's 17000-consecutive-chars-identifier test,
    (which has been crashing since commit
    04e40fd337a244ee77ef9553985e9398ff0344af ).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82472
    Signed-off-by: Carl Worth <cworth@cworth.org>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    
    CC: <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 23163df24cf96107ee8ccb372db20f49e9d88948)

diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
index 98d500e..fa9aa50 100644
--- a/src/glsl/glcpp/glcpp-lex.l
+++ b/src/glsl/glcpp/glcpp-lex.l
@@ -289,8 +289,14 @@ HEXADECIMAL_INTEGER	0[xX][0-9a-fA-F]+[uU]?
 }
 
 	/* Swallow empty #pragma directives, (to avoid confusing the
-	 * downstream compiler). */
-<HASH>pragma{HSPACE}*/{NEWLINE} {
+	 * downstream compiler).
+	 *
+	 * Note: We use a simple regular expression for the lookahead
+	 * here. Specifically, we cannot use the complete {NEWLINE} expression
+	 * since it uses alternation and we've found that there's a flex bug
+	 * where using alternation in the lookahead portion of a pattern
+	 * triggers a buffer overrun. */
+<HASH>pragma{HSPACE}*/[\r\n] {
 	BEGIN INITIAL;
 }
 

commit e4f54d8b470995b88afb0bbf247a8f0a908b0817
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 21 09:03:02 2014 -0700

    Makefile: Switch from md5sums to sha256sums
    
    We switched to these several stable releases ago, (since the MD5 algorithm has
    been broken for some time), but only now did I get around to fixing this in
    the Makefile rather than just performing this step manually.
    
    CC: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 46d03d37bf3a75e86f9f8ab56c6a939d04f23383)

diff --git a/Makefile.am b/Makefile.am
index 4780510..d2916da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,7 +71,7 @@ ARCHIVES = $(PACKAGE_NAME).tar.gz \
 	$(PACKAGE_NAME).tar.bz2 \
 	$(PACKAGE_NAME).zip
 
-tarballs: md5
+tarballs: checksums
 	rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
 
 manifest.txt: .git
@@ -98,9 +98,9 @@ $(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
 	zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
 	mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
 
-md5: $(ARCHIVES)
-	@-md5sum $(PACKAGE_NAME).tar.gz
-	@-md5sum $(PACKAGE_NAME).tar.bz2
-	@-md5sum $(PACKAGE_NAME).zip
+checksums: $(ARCHIVES)
+	@-sha256sum $(PACKAGE_NAME).tar.gz
+	@-sha256sum $(PACKAGE_NAME).tar.bz2
+	@-sha256sum $(PACKAGE_NAME).zip
 
 .PHONY: tarballs md5

commit 2edc941e75c26c93d0954f036d632fde799ed7f5
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Aug 21 11:16:15 2014 -0400

    radeonsi: add new SI pci ids
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit 153df688349dd6e55fa4c280ed6c8abd02c5f890)

diff --git a/include/pci_ids/radeonsi_pci_ids.h b/include/pci_ids/radeonsi_pci_ids.h
index 6412f08..571e863 100644
--- a/include/pci_ids/radeonsi_pci_ids.h
+++ b/include/pci_ids/radeonsi_pci_ids.h
@@ -38,6 +38,7 @@ CHIPSET(0x6828, VERDE_6828, VERDE)
 CHIPSET(0x6829, VERDE_6829, VERDE)
 CHIPSET(0x682A, VERDE_682A, VERDE)
 CHIPSET(0x682B, VERDE_682B, VERDE)
+CHIPSET(0x682C, VERDE_682C, VERDE)
 CHIPSET(0x682D, VERDE_682D, VERDE)
 CHIPSET(0x682F, VERDE_682F, VERDE)
 CHIPSET(0x6830, VERDE_6830, VERDE)
@@ -54,8 +55,11 @@ CHIPSET(0x6600, OLAND_6600, OLAND)
 CHIPSET(0x6601, OLAND_6601, OLAND)
 CHIPSET(0x6602, OLAND_6602, OLAND)
 CHIPSET(0x6603, OLAND_6603, OLAND)
+CHIPSET(0x6604, OLAND_6604, OLAND)
+CHIPSET(0x6605, OLAND_6605, OLAND)
 CHIPSET(0x6606, OLAND_6606, OLAND)
 CHIPSET(0x6607, OLAND_6607, OLAND)
+CHIPSET(0x6608, OLAND_6608, OLAND)
 CHIPSET(0x6610, OLAND_6610, OLAND)
 CHIPSET(0x6611, OLAND_6611, OLAND)
 CHIPSET(0x6613, OLAND_6613, OLAND)

commit eb9681938687a8ba5bb9ec4c5456ff7d6c6794ec
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Aug 21 11:13:17 2014 -0400

    radeonsi: add new CIK pci ids
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit f50b6b489534f8f362953cbe08d37233f1eab669)

diff --git a/include/pci_ids/radeonsi_pci_ids.h b/include/pci_ids/radeonsi_pci_ids.h
index 5099c74..6412f08 100644
--- a/include/pci_ids/radeonsi_pci_ids.h
+++ b/include/pci_ids/radeonsi_pci_ids.h
@@ -73,6 +73,8 @@ CHIPSET(0x666F, HAINAN_666F, HAINAN)
 
 CHIPSET(0x6640, BONAIRE_6640, BONAIRE)
 CHIPSET(0x6641, BONAIRE_6641, BONAIRE)
+CHIPSET(0x6646, BONAIRE_6646, BONAIRE)
+CHIPSET(0x6647, BONAIRE_6647, BONAIRE)
 CHIPSET(0x6649, BONAIRE_6649, BONAIRE)
 CHIPSET(0x6650, BONAIRE_6650, BONAIRE)
 CHIPSET(0x6651, BONAIRE_6651, BONAIRE)
@@ -132,6 +134,7 @@ CHIPSET(0x1313, KAVERI_1313, KAVERI)
 CHIPSET(0x1315, KAVERI_1315, KAVERI)
 CHIPSET(0x1316, KAVERI_1316, KAVERI)
 CHIPSET(0x1317, KAVERI_1317, KAVERI)
+CHIPSET(0x1318, KAVERI_1318, KAVERI)
 CHIPSET(0x131B, KAVERI_131B, KAVERI)
 CHIPSET(0x131C, KAVERI_131C, KAVERI)
 CHIPSET(0x131D, KAVERI_131D, KAVERI)

commit f2a1b7d508d0daa71bd97843d67e43108405cff7
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Aug 16 15:18:21 2014 -0700

    i965: Disable try_emit_b2f_of_compare on Gen4-6.
    
    The optimization relies on CMP setting the destination to 0, which is
    equivalent to 0.0f.  However, early platforms only set the least
    significant byte, leaving the other bits undefined.  So, we must disable
    the optimization on those platforms.
    
    Oddly, Sandybridge wasn't reported as broken.  The PRM states that it
    only sets the LSB, but the internal documentation says that it follows
    the IVB behavior.  Since it wasn't reported as broken, we believe it
    really does follow the IVB behavior.
    
    v2: Allow the optimization on Sandybridge (requested by Matt).
    
    +32 piglits on Ironlake.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?=79963
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    (cherry picked from commit 97d03b9366bfa55b27feb92aa5afacd9c5f6f421)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index eca5d0c..6e48be7 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -1135,6 +1135,13 @@ vec4_visitor::try_emit_mad(ir_expression *ir)
 bool
 vec4_visitor::try_emit_b2f_of_compare(ir_expression *ir)
 {
+   /* This optimization relies on CMP setting the destination to 0 when
+    * false.  Early hardware only sets the least significant bit, and
+    * leaves the other bits undefined.  So we can't use it.
+    */
+   if (brw->gen < 6)
+      return false;
+
    ir_expression *const cmp = ir->operands[0]->as_expression();
 
    if (cmp == NULL)

commit 53728f60aa5ddf93579abd0d424eeac545fa57d3
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Aug 21 23:02:49 2014 -0700

    i965: Fix JIP/UIP calculations.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82846
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82929
    (cherry picked from commit d77f5603a5de26e66561ec003118bbfb1a07666b)

diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c b/src/mesa/drivers/dri/i965/brw_eu_compact.c
index 3680c55..4f509dd 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
@@ -1029,19 +1029,17 @@ update_uip_jip(struct brw_context *brw, brw_inst *insn,
 {
    int scale = brw->gen >= 8 ? sizeof(brw_compact_inst) : 1;
 
-   int32_t jip = brw_inst_jip(brw, insn);
-   jip -= scale *
-      compacted_between(this_old_ip, this_old_ip + jip, compacted_counts);
-   brw_inst_set_jip(brw, insn, jip);
+   int32_t jip = brw_inst_jip(brw, insn) / scale;
+   jip -= compacted_between(this_old_ip, this_old_ip + jip, compacted_counts);
+   brw_inst_set_jip(brw, insn, jip * scale);
 
    if (brw_inst_opcode(brw, insn) == BRW_OPCODE_ENDIF ||
        brw_inst_opcode(brw, insn) == BRW_OPCODE_WHILE)
       return;
 
-   int32_t uip = brw_inst_uip(brw, insn);
-   uip -= scale *
-      compacted_between(this_old_ip, this_old_ip + uip, compacted_counts);
-   brw_inst_set_uip(brw, insn, uip);
+   int32_t uip = brw_inst_uip(brw, insn) / scale;
+   uip -= compacted_between(this_old_ip, this_old_ip + uip, compacted_counts);
+   brw_inst_set_uip(brw, insn, uip * scale);
 }
 
 void

commit 8b9b607dd1d6c64cc1f3d2ff44ef548e6d20870c
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri Aug 22 10:34:42 2014 +0300

    not-installed: Skip libglapi.so.

diff --git a/debian/changelog b/debian/changelog
index 81ccf78..79c6177 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ mesa (10.3~rc1-1) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
   * mesa-common-dev: Add glcorearb.h.
+  * not-installed: Skip libglapi.so.
 
  -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 12 Aug 2014 09:38:49 +0200
 
diff --git a/debian/not-installed b/debian/not-installed
index 636f036..8871cab 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -4,6 +4,7 @@
 NOT_INSTALLED := \
 	dri/usr/include/GL/wglext.h \
 	dri/usr/include/GL/wmesa.h \
+	dri/usr/lib/*/libglapi.so \
 	usr/include/GL/glcorearb.h \
 	usr/include/GL/glext.h \
 	usr/include/GL/gl.h \

commit 2dea14b833911c4e735b980b862a75fa657ddbf0
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri Aug 22 10:32:41 2014 +0300

    mesa-common-dev: Add glcorearb.h.

diff --git a/debian/changelog b/debian/changelog
index 6936d94..81ccf78 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,11 @@
 mesa (10.3~rc1-1) UNRELEASED; urgency=low
 
+  [ Maarten Lankhorst ]
   * Build with llvm 3.5.
 
+  [ Timo Aaltonen ]
+  * mesa-common-dev: Add glcorearb.h.
+
  -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 12 Aug 2014 09:38:49 +0200
 
 mesa (10.2.5-1) unstable; urgency=medium
diff --git a/debian/mesa-common-dev.install.in b/debian/mesa-common-dev.install.in
index 38ec3ef..51a4399b 100644
--- a/debian/mesa-common-dev.install.in
+++ b/debian/mesa-common-dev.install.in
@@ -1,4 +1,5 @@
 dri/usr/include/GL/gl.h usr/include/GL
+dri/usr/include/GL/glcorearb.h usr/include/GL
 dri/usr/include/GL/glext.h usr/include/GL
 dri/usr/include/GL/gl_mangle.h usr/include/GL
 dri/usr/include/GL/glx.h usr/include/GL
diff --git a/debian/not-installed b/debian/not-installed
index 03e3006..636f036 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -4,6 +4,7 @@
 NOT_INSTALLED := \
 	dri/usr/include/GL/wglext.h \
 	dri/usr/include/GL/wmesa.h \
+	usr/include/GL/glcorearb.h \
 	usr/include/GL/glext.h \
 	usr/include/GL/gl.h \
 	usr/include/GL/gl_mangle.h \

commit a8077e8483b29c409fa5ff1a071feacb5aa96546
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri Aug 22 08:40:57 2014 +0300

    bump version

diff --git a/debian/changelog b/debian/changelog
index 747137b..6936d94 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (10.3~git20140812-1) UNRELEASED; urgency=low
+mesa (10.3~rc1-1) UNRELEASED; urgency=low
 
   * Build with llvm 3.5.
 

commit 04c3c0368252db0000837e054ee1e995f4940381
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 21 08:36:46 2014 -0700

    Increment version to 10.3.0-rc1

diff --git a/VERSION b/VERSION
index 75a04c3..9cad0c5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.3.0-devel
+10.3.0-rc1

commit 0fb221065eff3788e9bf607a5cf39bd0409740be
Author: Glenn Kennard <glenn.kennard@gmail.com>
Date:   Wed Aug 20 21:55:37 2014 +0200

    r600g: Fix flat/smooth shade state toggle
    
    If only the flat/smooth shade state changed between
    two render calls the prior code would miss updating the
    hardware state.
    
    Also add check for sprite coord, potentially same type
    of issue otherwise for it.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81967
    Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com>
    Signed-off-by: Marek Olšák <marek.olsak@amd.com>

diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
index 7594d0e..028d800 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -1227,7 +1227,9 @@ static bool r600_update_derived_state(struct r600_context *rctx)
 	if (unlikely(!rctx->ps_shader->current))
 		return false;
 
-	if (unlikely(ps_dirty || rctx->pixel_shader.shader != rctx->ps_shader->current)) {
+	if (unlikely(ps_dirty || rctx->pixel_shader.shader != rctx->ps_shader->current ||
+		rctx->rasterizer->sprite_coord_enable != rctx->ps_shader->current->sprite_coord_enable ||
+		rctx->rasterizer->flatshade != rctx->ps_shader->current->flatshade)) {
 
 		if (rctx->cb_misc_state.nr_ps_color_outputs != rctx->ps_shader->current->nr_ps_color_outputs) {
 			rctx->cb_misc_state.nr_ps_color_outputs = rctx->ps_shader->current->nr_ps_color_outputs;

commit bf7a60f41d897be4d9804ba7c46633e38501ffe7
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 16:27:38 2014 -0700

    r600g/compute: Don't initialize vertex_buffer_state masks to 0x2
    
    cs_vertex_buffer_state.enabled_mask and
    cs_vertex_buffer_state.dirty_mask are both updated when
    r600_set_constant_buffer() is called, so we don't need to manually
    update these values.
    
    This fixes a crash with OpenCL programs that have a kernel with no
    arguments.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=82671
    
    CC: "10.2" <mesa-stable@lists.freedesktop.org>

diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index 9e3404f..38b78c7 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -892,9 +892,6 @@ void evergreen_init_compute_state_functions(struct r600_context *ctx)
 	ctx->b.b.set_global_binding = evergreen_set_global_binding;
 	ctx->b.b.launch_grid = evergreen_launch_grid;
 
-	/* We always use at least one vertex buffer for parameters (id = 1)*/
-	ctx->cs_vertex_buffer_state.enabled_mask =
-	ctx->cs_vertex_buffer_state.dirty_mask = 0x2;
 }
 
 struct pipe_resource *r600_compute_global_buffer_create(

commit a9f0b08bacc9422bf98ce14d97b6c60a1b80df04
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 16:07:24 2014 -0700

    r600g/compute: Use the first parameter in evergreen_set_global_binding()

diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index acc1b71..9e3404f 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -648,6 +648,7 @@ static void evergreen_set_global_binding(
 	struct compute_memory_pool *pool = ctx->screen->global_pool;
 	struct r600_resource_global **buffers =
 		(struct r600_resource_global **)resources;
+	unsigned i;
 
 	COMPUTE_DBG(ctx->screen, "*** evergreen_set_global_binding first = %u n = %u\n",
 			first, n);
@@ -659,7 +660,7 @@ static void evergreen_set_global_binding(
 
 	/* We mark these items for promotion to the pool if they
 	 * aren't already there */
-	for (unsigned i = 0; i < n; i++) {
+	for (i = first; i < first + n; i++) {
 		struct compute_memory_item *item = buffers[i]->chunk;
 
 		if (!is_item_in_pool(item))
@@ -671,7 +672,7 @@ static void evergreen_set_global_binding(
 		return;
 	}
 
-	for (unsigned i = 0; i < n; i++)


Reply to: