summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Gnatenko <i.gnatenko.brain@gmail.com>2013-11-28 14:25:37 +0400
committerIgor Gnatenko <i.gnatenko.brain@gmail.com>2013-11-28 14:25:37 +0400
commit66a1561bbc4779ec8e286f730a069001e9f1aac4 (patch)
tree68abb5f8953df9a3580dd86e3176246251c5b9c6
parent7a867fe5e4a6c8f310f4554686d876c3c741fdcb (diff)
parentbbef9c7b4e21e1f721e0274fce603cb72a5ef304 (diff)
downloadmesa-66a1561bbc4779ec8e286f730a069001e9f1aac4.tar.gz
mesa-66a1561bbc4779ec8e286f730a069001e9f1aac4.tar.xz
mesa-66a1561bbc4779ec8e286f730a069001e9f1aac4.zip
Merge branch 'master' into f20
Conflicts: .gitignore mesa.spec sources
-rw-r--r--.gitignore1
-rw-r--r--0001-st-dri-do-not-create-a-new-context-for-msaa-copy.patch313
-rw-r--r--mesa.spec7
-rw-r--r--sources2
4 files changed, 7 insertions, 316 deletions
diff --git a/.gitignore b/.gitignore
index 089b161..378e862 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,4 @@ mesa-20100720.tar.bz2
/mesa-20130919.tar.xz
/mesa-20131113.tar.xz
/mesa-20131114.tar.xz
+/mesa-20131128.tar.xz
diff --git a/0001-st-dri-do-not-create-a-new-context-for-msaa-copy.patch b/0001-st-dri-do-not-create-a-new-context-for-msaa-copy.patch
deleted file mode 100644
index 8a722db..0000000
--- a/0001-st-dri-do-not-create-a-new-context-for-msaa-copy.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From b217d48364f368f541e53006af5dd56f664be24d Mon Sep 17 00:00:00 2001
-From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-Date: Mon, 9 Sep 2013 13:02:08 +0200
-Subject: [PATCH] st/dri: do not create a new context for msaa copy
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit b77316ad7594f
- st/dri: always copy new DRI front and back buffers to corresponding MSAA buffers
-
-introduced creating a pipe_context for every call to validate, which is not required
-because the callers have a context anyway.
-
-Only exception is egl_g3d_create_pbuffer_from_client_buffer, can someone test if it
-still works with NULL passed as context for validate? From examining the code I
-believe it does, but I didn't thoroughly test it.
-
-Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-Cc: 9.2 <mesa-stable@lists.freedesktop.org>
-Reviewed-by: Marek Olšák <marek.olsak@amd.com>
----
- src/gallium/include/state_tracker/st_api.h | 3 ++-
- .../state_trackers/dri/common/dri_drawable.c | 13 +++++++-----
- .../state_trackers/dri/common/dri_drawable.h | 3 ++-
- src/gallium/state_trackers/dri/drm/dri2.c | 23 ++++++----------------
- src/gallium/state_trackers/dri/sw/drisw.c | 3 ++-
- .../state_trackers/egl/common/egl_g3d_api.c | 2 +-
- src/gallium/state_trackers/egl/common/egl_g3d_st.c | 6 ++++--
- src/gallium/state_trackers/glx/xlib/xm_st.c | 3 ++-
- src/gallium/state_trackers/osmesa/osmesa.c | 3 ++-
- src/gallium/state_trackers/vega/vg_manager.c | 3 ++-
- src/gallium/state_trackers/wgl/stw_st.c | 3 ++-
- src/mesa/state_tracker/st_manager.c | 2 +-
- 12 files changed, 34 insertions(+), 33 deletions(-)
-
-diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h
-index 3ecd12e..9dcb76f 100644
---- a/src/gallium/include/state_tracker/st_api.h
-+++ b/src/gallium/include/state_tracker/st_api.h
-@@ -342,7 +342,8 @@ struct st_framebuffer_iface
- * the last call might be destroyed. This behavior might change in the
- * future.
- */
-- boolean (*validate)(struct st_framebuffer_iface *stfbi,
-+ boolean (*validate)(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out);
-diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.c b/src/gallium/state_trackers/dri/common/dri_drawable.c
-index 18d8d89..ddf9400 100644
---- a/src/gallium/state_trackers/dri/common/dri_drawable.c
-+++ b/src/gallium/state_trackers/dri/common/dri_drawable.c
-@@ -42,11 +42,13 @@ static void
- swap_fences_unref(struct dri_drawable *draw);
-
- static boolean
--dri_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
-+dri_st_framebuffer_validate(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
- {
-+ struct dri_context *ctx = (struct dri_context *)stctx->st_manager_private;
- struct dri_drawable *drawable =
- (struct dri_drawable *) stfbi->st_manager_private;
- struct dri_screen *screen = dri_screen(drawable->sPriv);
-@@ -78,7 +80,7 @@ dri_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
- if (new_stamp && drawable->update_drawable_info)
- drawable->update_drawable_info(drawable);
-
-- drawable->allocate_textures(drawable, statts, count);
-+ drawable->allocate_textures(ctx, drawable, statts, count);
-
- /* add existing textures */
- for (i = 0; i < ST_ATTACHMENT_COUNT; i++) {
-@@ -183,7 +185,8 @@ dri_destroy_buffer(__DRIdrawable * dPriv)
- * exist. Used by the TFP extension.
- */
- static void
--dri_drawable_validate_att(struct dri_drawable *drawable,
-+dri_drawable_validate_att(struct dri_context *ctx,
-+ struct dri_drawable *drawable,
- enum st_attachment_type statt)
- {
- enum st_attachment_type statts[ST_ATTACHMENT_COUNT];
-@@ -203,7 +206,7 @@ dri_drawable_validate_att(struct dri_drawable *drawable,
-
- drawable->texture_stamp = drawable->dPriv->lastStamp - 1;
-
-- drawable->base.validate(&drawable->base, statts, count, NULL);
-+ drawable->base.validate(ctx->st, &drawable->base, statts, count, NULL);
- }
-
- /**
-@@ -217,7 +220,7 @@ dri_set_tex_buffer2(__DRIcontext *pDRICtx, GLint target,
- struct dri_drawable *drawable = dri_drawable(dPriv);
- struct pipe_resource *pt;
-
-- dri_drawable_validate_att(drawable, ST_ATTACHMENT_FRONT_LEFT);
-+ dri_drawable_validate_att(ctx, drawable, ST_ATTACHMENT_FRONT_LEFT);
-
- /* Use the pipe resource associated with the X drawable */
- pt = drawable->textures[ST_ATTACHMENT_FRONT_LEFT];
-diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.h b/src/gallium/state_trackers/dri/common/dri_drawable.h
-index 50e5cc4..c514218 100644
---- a/src/gallium/state_trackers/dri/common/dri_drawable.h
-+++ b/src/gallium/state_trackers/dri/common/dri_drawable.h
-@@ -71,7 +71,8 @@ struct dri_drawable
- struct pipe_surface *drisw_surface;
-
- /* hooks filled in by dri2 & drisw */
-- void (*allocate_textures)(struct dri_drawable *drawable,
-+ void (*allocate_textures)(struct dri_context *ctx,
-+ struct dri_drawable *drawable,
- const enum st_attachment_type *statts,
- unsigned count);
-
-diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
-index e4477d6..fea1c8d 100644
---- a/src/gallium/state_trackers/dri/drm/dri2.c
-+++ b/src/gallium/state_trackers/dri/drm/dri2.c
-@@ -169,7 +169,8 @@ dri2_drawable_get_buffers(struct dri_drawable *drawable,
- * Process __DRIbuffer and convert them into pipe_resources.
- */
- static void
--dri2_drawable_process_buffers(struct dri_drawable *drawable,
-+dri2_drawable_process_buffers(struct dri_context *ctx,
-+ struct dri_drawable *drawable,
- __DRIbuffer *buffers, unsigned buffer_count,
- const enum st_attachment_type *atts,
- unsigned att_count)
-@@ -180,8 +181,6 @@ dri2_drawable_process_buffers(struct dri_drawable *drawable,
- struct winsys_handle whandle;
- boolean alloc_depthstencil = FALSE;
- unsigned i, j, bind;
-- struct pipe_screen *pscreen = screen->base.screen;
-- struct pipe_context *pipe = NULL;
-
- if (drawable->old_num == buffer_count &&
- drawable->old_w == dri_drawable->w &&
-@@ -308,14 +307,8 @@ dri2_drawable_process_buffers(struct dri_drawable *drawable,
- * The single-sample resources are not exposed
- * to the state tracker.
- *
-- * We don't have a context here, so create one temporarily.
-- * We may need to create a persistent context if creation and
-- * destruction of the context becomes a bottleneck.
- */
-- if (!pipe)
-- pipe = pscreen->context_create(pscreen, NULL);
--
-- dri_pipe_blit(pipe,
-+ dri_pipe_blit(ctx->st->pipe,
- drawable->msaa_textures[att],
- drawable->textures[att]);
- }
-@@ -371,11 +364,6 @@ dri2_drawable_process_buffers(struct dri_drawable *drawable,
- drawable->old_w = dri_drawable->w;
- drawable->old_h = dri_drawable->h;
- memcpy(drawable->old, buffers, sizeof(__DRIbuffer) * buffer_count);
--
-- if (pipe) {
-- pipe->flush(pipe, NULL, 0);
-- pipe->destroy(pipe);
-- }
- }
-
- static __DRIbuffer *
-@@ -470,7 +458,8 @@ dri2_release_buffer(__DRIscreen *sPriv, __DRIbuffer *bPriv)
- */
-
- static void
--dri2_allocate_textures(struct dri_drawable *drawable,
-+dri2_allocate_textures(struct dri_context *ctx,
-+ struct dri_drawable *drawable,
- const enum st_attachment_type *statts,
- unsigned statts_count)
- {
-@@ -479,7 +468,7 @@ dri2_allocate_textures(struct dri_drawable *drawable,
-
- buffers = dri2_drawable_get_buffers(drawable, statts, &num_buffers);
- if (buffers)
-- dri2_drawable_process_buffers(drawable, buffers, num_buffers,
-+ dri2_drawable_process_buffers(ctx, drawable, buffers, num_buffers,
- statts, statts_count);
- }
-
-diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
-index 41f66d5..121a205 100644
---- a/src/gallium/state_trackers/dri/sw/drisw.c
-+++ b/src/gallium/state_trackers/dri/sw/drisw.c
-@@ -182,7 +182,8 @@ drisw_flush_frontbuffer(struct dri_context *ctx,
- * framebuffer is resized or destroyed.
- */
- static void
--drisw_allocate_textures(struct dri_drawable *drawable,
-+drisw_allocate_textures(struct dri_context *stctx,
-+ struct dri_drawable *drawable,
- const enum st_attachment_type *statts,
- unsigned count)
- {
-diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-index 3ee0d67..46a3245 100644
---- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-+++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-@@ -443,7 +443,7 @@ egl_g3d_create_pbuffer_from_client_buffer(_EGLDriver *drv, _EGLDisplay *dpy,
- gsurf->client_buffer = buffer;
-
- /* validate now so that it fails if the client buffer is invalid */
-- if (!gsurf->stfbi->validate(gsurf->stfbi,
-+ if (!gsurf->stfbi->validate(NULL, gsurf->stfbi,
- &gsurf->stvis.render_buffer, 1, &ptex)) {
- egl_g3d_destroy_st_framebuffer(gsurf->stfbi);
- FREE(gsurf);
-diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_st.c b/src/gallium/state_trackers/egl/common/egl_g3d_st.c
-index f2ee11c..cf1846c 100644
---- a/src/gallium/state_trackers/egl/common/egl_g3d_st.c
-+++ b/src/gallium/state_trackers/egl/common/egl_g3d_st.c
-@@ -149,7 +149,8 @@ pbuffer_allocate_pbuffer_texture(struct egl_g3d_surface *gsurf)
- }
-
- static boolean
--egl_g3d_st_framebuffer_validate_pbuffer(struct st_framebuffer_iface *stfbi,
-+egl_g3d_st_framebuffer_validate_pbuffer(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
-@@ -202,7 +203,8 @@ egl_g3d_st_framebuffer_flush_front(struct st_context_iface *stctx,
- }
-
- static boolean
--egl_g3d_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
-+egl_g3d_st_framebuffer_validate(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
-diff --git a/src/gallium/state_trackers/glx/xlib/xm_st.c b/src/gallium/state_trackers/glx/xlib/xm_st.c
-index 30e69ea..fb69998 100644
---- a/src/gallium/state_trackers/glx/xlib/xm_st.c
-+++ b/src/gallium/state_trackers/glx/xlib/xm_st.c
-@@ -194,7 +194,8 @@ xmesa_st_framebuffer_validate_textures(struct st_framebuffer_iface *stfbi,
- * \param out returns resources for each of the attachments
- */
- static boolean
--xmesa_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
-+xmesa_st_framebuffer_validate(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
-diff --git a/src/gallium/state_trackers/osmesa/osmesa.c b/src/gallium/state_trackers/osmesa/osmesa.c
-index bb85e5c..3546183 100644
---- a/src/gallium/state_trackers/osmesa/osmesa.c
-+++ b/src/gallium/state_trackers/osmesa/osmesa.c
-@@ -342,7 +342,8 @@ osmesa_st_framebuffer_flush_front(struct st_context_iface *stctx,
- * its resources).
- */
- static boolean
--osmesa_st_framebuffer_validate(struct st_framebuffer_iface *stfbi,
-+osmesa_st_framebuffer_validate(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfbi,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
-diff --git a/src/gallium/state_trackers/vega/vg_manager.c b/src/gallium/state_trackers/vega/vg_manager.c
-index c079d90..2c43d76 100644
---- a/src/gallium/state_trackers/vega/vg_manager.c
-+++ b/src/gallium/state_trackers/vega/vg_manager.c
-@@ -113,7 +113,8 @@ vg_manager_validate_framebuffer(struct vg_context *ctx)
- if (stfb->iface_stamp != new_stamp) {
- do {
- /* validate the fb */
-- if (!stfb->iface->validate(stfb->iface, &stfb->strb_att,
-+ if (!stfb->iface->validate((struct st_context_iface *)ctx,
-+ stfb->iface, &stfb->strb_att,
- 1, &pt) || !pt)
- return;
-
-diff --git a/src/gallium/state_trackers/wgl/stw_st.c b/src/gallium/state_trackers/wgl/stw_st.c
-index 9427398..e95c37f 100644
---- a/src/gallium/state_trackers/wgl/stw_st.c
-+++ b/src/gallium/state_trackers/wgl/stw_st.c
-@@ -121,7 +121,8 @@ stw_st_framebuffer_validate_locked(struct st_framebuffer_iface *stfb,
- }
-
- static boolean
--stw_st_framebuffer_validate(struct st_framebuffer_iface *stfb,
-+stw_st_framebuffer_validate(struct st_context_iface *stctx,
-+ struct st_framebuffer_iface *stfb,
- const enum st_attachment_type *statts,
- unsigned count,
- struct pipe_resource **out)
-diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
-index 098e6c0..b1fd91a 100644
---- a/src/mesa/state_tracker/st_manager.c
-+++ b/src/mesa/state_tracker/st_manager.c
-@@ -189,7 +189,7 @@ st_framebuffer_validate(struct st_framebuffer *stfb,
-
- /* validate the fb */
- do {
-- if (!stfb->iface->validate(stfb->iface, stfb->statts,
-+ if (!stfb->iface->validate(&st->iface, stfb->iface, stfb->statts,
- stfb->num_statts, textures))
- return;
-
---
-1.8.3.1
-
diff --git a/mesa.spec b/mesa.spec
index 95340d5..e941de1 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -48,12 +48,12 @@
%define _default_patch_fuzz 2
-%define gitdate 20131114
+%define gitdate 20131128
#% define snapshot
Summary: Mesa graphics libraries
Name: mesa
-Version: 9.2.3
+Version: 9.2.4
Release: 1.%{gitdate}%{?dist}
License: MIT
Group: System Environment/Libraries
@@ -600,6 +600,9 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
+* Thu Nov 28 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 9.2.4-1.20131128
+- 9.2.4 upstream release
+
* Thu Nov 14 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 9.2.3-1.20131114
- 9.2.3 upstream release
diff --git a/sources b/sources
index caf10db..f4bcce4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-54f46fc070303e0d467779ab39103d58 mesa-20131114.tar.xz
+0f501dfd50b6094774b0d564d745a285 mesa-20131128.tar.xz