1
0
forked from rpms/mesa

10.2.3 upstream release

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
This commit is contained in:
Igor Gnatenko 2014-07-11 18:52:43 +04:00
parent 7526e1bbd7
commit 17dc7f453b
4 changed files with 8 additions and 79 deletions

1
.gitignore vendored
View File

@ -76,3 +76,4 @@ mesa-20100720.tar.bz2
/mesa-20140531.tar.xz /mesa-20140531.tar.xz
/mesa-20140608.tar.xz /mesa-20140608.tar.xz
/mesa-20140625.tar.xz /mesa-20140625.tar.xz
/mesa-20140711.tar.xz

View File

@ -1,72 +0,0 @@
From b4dcf87f34f68111acd9d364739938721fc692f4 Mon Sep 17 00:00:00 2001
From: "Jasper St. Pierre" <jstpierre@mecheye.net>
Date: Tue, 24 Jun 2014 13:43:53 -0400
Subject: [PATCH] glxext: Send the Drawable's ID in the GLX_BufferSwapComplete
event
While the official INTEL_swap_event specification says that the drawable
field should contain the GLXDrawable, not the Drawable, the existing
DRI2 code in dri2.c that translates from DRI2_BufferSwapComplete sends out
GLX_BufferSwapComplete with the Drawable's ID, so existing codebases
like Clutter/Cogl rely on getting the Drawable.
Match DRI2's error here and stuff the event with the X Drawable, not
the GLX drawable.
This fixes apps seeing wrong drawables through an indirect GLX context
or with DRI3, which uses the GLX_BufferSwapComplete event directly on
the wire instead of translates Present in mesa.
At the same time, also modify the structure for the event to make sure
that clients don't make the same mistake. This is not an API or ABI
break, as GLXDrawable and Drawable are both typedefs for XID.
Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
include/GL/glx.h | 2 +-
src/glx/glxext.c | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/include/GL/glx.h b/include/GL/glx.h
index 234abc0..78f5052 100644
--- a/include/GL/glx.h
+++ b/include/GL/glx.h
@@ -518,7 +518,7 @@ typedef struct {
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
- GLXDrawable drawable; /* drawable on which event was requested in event mask */
+ Drawable drawable; /* drawable on which event was requested in event mask */
int event_type;
int64_t ust;
int64_t msc;
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 94582f6..68c359e 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -134,14 +134,15 @@ __glXWireToEvent(Display *dpy, XEvent *event, xEvent *wire)
GLXBufferSwapComplete *aevent = (GLXBufferSwapComplete *)event;
xGLXBufferSwapComplete2 *awire = (xGLXBufferSwapComplete2 *)wire;
struct glx_drawable *glxDraw = GetGLXDrawable(dpy, awire->drawable);
- aevent->event_type = awire->event_type;
- aevent->drawable = awire->drawable;
- aevent->ust = ((CARD64)awire->ust_hi << 32) | awire->ust_lo;
- aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo;
if (!glxDraw)
return False;
+ aevent->event_type = awire->event_type;
+ aevent->drawable = glxDraw->xDrawable;
+ aevent->ust = ((CARD64)awire->ust_hi << 32) | awire->ust_lo;
+ aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo;
+
if (awire->sbc < glxDraw->lastEventSbc)
glxDraw->eventSbcWrap += 0x100000000;
glxDraw->lastEventSbc = awire->sbc;
--
2.0.0

View File

@ -47,13 +47,13 @@
%define _default_patch_fuzz 2 %define _default_patch_fuzz 2
%define gitdate 20140625 %define gitdate 20140711
#% define snapshot #% define snapshot
Summary: Mesa graphics libraries Summary: Mesa graphics libraries
Name: mesa Name: mesa
Version: 10.2.2 Version: 10.2.3
Release: 4.%{gitdate}%{?dist} Release: 1.%{gitdate}%{?dist}
License: MIT License: MIT
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.mesa3d.org URL: http://www.mesa3d.org
@ -75,8 +75,6 @@ Patch12: mesa-8.0.1-fix-16bpp.patch
Patch15: mesa-9.2-hardware-float.patch Patch15: mesa-9.2-hardware-float.patch
Patch20: mesa-10.2-evergreen-big-endian.patch Patch20: mesa-10.2-evergreen-big-endian.patch
# dri3 GLX_INTEL_swap_event fix
Patch30: 0001-glxext-Send-the-Drawable-s-ID-in-the-GLX_BufferSwapC.patch
# http://lists.freedesktop.org/archives/mesa-dev/2014-July/062741.html # http://lists.freedesktop.org/archives/mesa-dev/2014-July/062741.html
# https://bugzilla.redhat.com/show_bug.cgi?id=1115323 # https://bugzilla.redhat.com/show_bug.cgi?id=1115323
Patch31: 0001-i915-Fix-up-intelInitScreen2-for-DRI3.patch Patch31: 0001-i915-Fix-up-intelInitScreen2-for-DRI3.patch
@ -347,7 +345,6 @@ grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
%patch15 -p1 -b .hwfloat %patch15 -p1 -b .hwfloat
%patch20 -p1 -b .egbe %patch20 -p1 -b .egbe
%patch30 -p1 -b .dri3fix
%patch31 -p1 -b .dri3fix %patch31 -p1 -b .dri3fix
%if 0%{?with_opencl} %if 0%{?with_opencl}
@ -677,6 +674,9 @@ rm -rf $RPM_BUILD_ROOT
%endif %endif
%changelog %changelog
* Fri Jul 11 2014 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 10.2.3-1.20140711
- 10.2.3 upstream release
* Mon Jul 7 2014 Peter Robinson <pbrobinson@fedoraproject.org> 10.2.2-4.20140625 * Mon Jul 7 2014 Peter Robinson <pbrobinson@fedoraproject.org> 10.2.2-4.20140625
- Build aarch64 options the same as ARMv7 - Build aarch64 options the same as ARMv7
- Fix PPC conditionals - Fix PPC conditionals

View File

@ -1 +1 @@
8a26f433b965314d18d765b83ef8de9e mesa-20140625.tar.xz 74c4f5f50aca7006cd537f99c085ab1b mesa-20140711.tar.xz