Re: [PATCH] Add hybrid full-size/empty-clip mode to SetRootClip

2016-02-08 Thread Daniel Stone
Hi Olivier,

On 8 February 2016 at 16:00, Olivier Fourdan  wrote:
>> Tested by starting with a single output, manually checking
>> screenInfo.screens[0]->root->{winSize,borderSize,borderClip,clipList}
>> with gdb, hotplugging an output, verifying the regions again and also
>> checking xev receives events on that output, unplugging it and verifying
>> regions again.
>
> The patch fixes the issue with the input events of course, but I just had a 
> segfault in Xwayland trying this patch:
>
>  (EE)
>  (EE) Caught signal 11 (Segmentation fault). Server aborting
>  Fatal server error:
>  (EE)
>  (EE) Segmentation fault at address 0x10001
>  (EE)
>  (EE) 10: ? (?+0x29) [0x29]
>  (EE) 9: /usr/bin/Xwayland (_start+0x29) [0x423299]
>  (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7fdd80e7f580]
>  (EE) 7: /usr/bin/Xwayland (dix_main+0x3b3) [0x544ef3]
>  (EE) 6: /usr/bin/Xwayland (Dispatch+0x31e) [0x54109e]
>  (EE) 5: /usr/bin/Xwayland (ProcRRGetMonitors+0x9b) [0x4ca18b]
>  (EE) 4: /usr/bin/Xwayland (RRMonitorMakeList+0x269) [0x4c9ba9]
>  (EE) 3: /usr/bin/Xwayland (RRMonitorSetFromServer+0x118) [0x4c9198]
>  (EE) 2: /usr/bin/Xwayland (MakeAtom+0x30) [0x530710]
>  (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fdd80e93b1f]
>  (EE) 0: /usr/bin/Xwayland (OsSigHandler+0x29) [0x5792d9]
>  (EE) Backtrace:
>  (EE)
>
> This occurred while disabling the secondary output in g-c-c in gnome-wayland 
> session (Xwayland crashing incidentally takes the entire gnome session with 
> it).
>
> Maybe the segfault is unrelated to that patch, I need to check further.

Good catch, but I think it's introduced by your patch rather than mine. :)

Does calling RRCrtcDestroy(xwl_output->randr_crtc) from
output_handle_destroy() fix this?

Cheers,
Daniel
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH] xwayland: fix a crash on output removal

2016-02-08 Thread Olivier Fourdan
On output removal, the CRTC that was added in xwl_output_create()
is not removed in xwl_output_destroy() and would cause a segmentation
fault later on in ProcRRGetMonitors():

  (EE) Segmentation fault at address 0x10001
  (EE)
  (EE) 10: ? (?+0x29) [0x29]
  (EE) 9: /usr/bin/Xwayland (_start+0x29) [0x423299]
  (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7fdd80e7f580]
  (EE) 7: /usr/bin/Xwayland (dix_main+0x3b3) [0x544ef3]
  (EE) 6: /usr/bin/Xwayland (Dispatch+0x31e) [0x54109e]
  (EE) 5: /usr/bin/Xwayland (ProcRRGetMonitors+0x9b) [0x4ca18b]
  (EE) 4: /usr/bin/Xwayland (RRMonitorMakeList+0x269) [0x4c9ba9]
  (EE) 3: /usr/bin/Xwayland (RRMonitorSetFromServer+0x118) [0x4c9198]
  (EE) 2: /usr/bin/Xwayland (MakeAtom+0x30) [0x530710]
  (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fdd80e93b1f]
  (EE) 0: /usr/bin/Xwayland (OsSigHandler+0x29) [0x5792d9]

Remove the output CRTC in xwl_output_destroy() to avoid the crash.

Signed-off-by: Olivier Fourdan 
Reviewed-by: Daniel Stone 
---
 hw/xwayland/xwayland-output.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index e9ec190..abb73ab 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -298,6 +298,7 @@ xwl_output_destroy(struct xwl_output *xwl_output)
 
 wl_output_destroy(xwl_output->output);
 xorg_list_del(_output->link);
+RRCrtcDestroy(xwl_output->randr_crtc);
 RROutputDestroy(xwl_output->randr_output);
 
 xorg_list_for_each_entry(it, _screen->output_list, link)
-- 
2.5.0

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Add hybrid full-size/empty-clip mode to SetRootClip

2016-02-08 Thread Olivier Fourdan
Hi Daniel,

- Original Message -
> [Accidentally sent the unannotated version - sorry.]
> [...]
> 
> Unfortunately this totally breaks output hotplug, regressing the fix
> from 216bdbc735. The effect is that if you hotplug an output and move an
> XWayland window on to it, it can never receive pointer input, even
> though the screen / root window size / RandR information are all updated.
> 
> Calling SetRootClip updates the root window's borderSize, so that
> RRScreenSizeNotify (through ScreenRestructured) can rebuild the sprite
> bounding box against the updated root window borderSize. With the
> SetRootClip call removed, the bounding box always remains the same as it
> was when the server was started.

Sorry I didn't spot that while testing the original patch, but I can definitely 
reproduce with gnome wayland, indeed.

> It seems like we need a third mode to SetRootClip, diverging in the
> middle ('Use REGION_BREAK to ...') branch: update winSize and
> borderSize, but keep borderClip and clipList empty. I can't see how to
> do this without a DIX change, since calling SetRootClip(TRUE) followed
> by SetRootClip(FALSE) would have this desired effect, but generate a
> bunch of exposures in between, which would generate invalid writes.
> 
> How about this (apply with git am --scissors)? It quite dumbly tries to
> preserve API: Bool is really int, so we take the existing TRUE/FALSE
> modes as the first two enum parameters, then introduce a new one.
> 
> Tested by starting with a single output, manually checking
> screenInfo.screens[0]->root->{winSize,borderSize,borderClip,clipList}
> with gdb, hotplugging an output, verifying the regions again and also
> checking xev receives events on that output, unplugging it and verifying
> regions again.

The patch fixes the issue with the input events of course, but I just had a 
segfault in Xwayland trying this patch:

 (EE)
 (EE) Caught signal 11 (Segmentation fault). Server aborting
 Fatal server error:
 (EE)
 (EE) Segmentation fault at address 0x10001
 (EE)
 (EE) 10: ? (?+0x29) [0x29]
 (EE) 9: /usr/bin/Xwayland (_start+0x29) [0x423299]
 (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7fdd80e7f580]
 (EE) 7: /usr/bin/Xwayland (dix_main+0x3b3) [0x544ef3]
 (EE) 6: /usr/bin/Xwayland (Dispatch+0x31e) [0x54109e]
 (EE) 5: /usr/bin/Xwayland (ProcRRGetMonitors+0x9b) [0x4ca18b]
 (EE) 4: /usr/bin/Xwayland (RRMonitorMakeList+0x269) [0x4c9ba9]
 (EE) 3: /usr/bin/Xwayland (RRMonitorSetFromServer+0x118) [0x4c9198]
 (EE) 2: /usr/bin/Xwayland (MakeAtom+0x30) [0x530710]
 (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7fdd80e93b1f]
 (EE) 0: /usr/bin/Xwayland (OsSigHandler+0x29) [0x5792d9]
 (EE) Backtrace:
 (EE)

This occurred while disabling the secondary output in g-c-c in gnome-wayland 
session (Xwayland crashing incidentally takes the entire gnome session with it).

Maybe the segfault is unrelated to that patch, I need to check further.

Cheers,
Olivier
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH] Add hybrid full-size/empty-clip mode to SetRootClip

2016-02-08 Thread Daniel Stone
216bdbc735 removed the SetRootClip call in the XWayland output-hotplug
handler when running rootless (e.g. as a part of Weston/Mutter), since
the root window has no storage, so generating exposures will result in
writes to invalid memory.

Unfortunately, preventing the segfault also breaks sprite confinement.
SetRootClip updates winSize and borderSize for the root window, which
when combined with RRScreenSizeChanged calling ScreenRestructured,
generates a new sprite-confinment area to update it to the whole screen.

Removing this call results in the window geometry being reported
correctly, but winSize/borderSize never changing from their values at
startup, i.e. out of sync with the root window geometry / screen
information in the connection info / XRandR.

This patch introduces a hybrid mode, where we update winSize and
borderSize for the root window, enabling sprite confinement to work
correctly, but keep the clip emptied so exposures are never generated.

Signed-off-by: Daniel Stone 
Cc: Olivier Fourdan 
Cc: Adam Jackson 
---
 dix/window.c  | 18 --
 hw/xwayland/xwayland-glamor.c |  2 +-
 hw/xwayland/xwayland-output.c | 11 ++-
 hw/xwayland/xwayland-shm.c|  2 +-
 include/window.h  |  8 +++-
 5 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index 25d29ec..9726ade 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -3647,7 +3647,7 @@ WindowParentHasDeviceCursor(WindowPtr pWin,
  * all of the windows
  */
 void
-SetRootClip(ScreenPtr pScreen, Bool enable)
+SetRootClip(ScreenPtr pScreen, int enable)
 {
 WindowPtr pWin = pScreen->root;
 WindowPtr pChild;
@@ -3655,6 +3655,7 @@ SetRootClip(ScreenPtr pScreen, Bool enable)
 Bool anyMarked = FALSE;
 WindowPtr pLayerWin;
 BoxRec box;
+enum RootClipMode mode = enable;
 
 if (!pWin)
 return;
@@ -3684,18 +3685,23 @@ SetRootClip(ScreenPtr pScreen, Bool enable)
  * that assume the root borderClip can't change well, normally
  * it doesn't...)
  */
-if (enable) {
+if (mode != ROOT_SIZE_NONE) {
+pWin->drawable.width = pScreen->width;
+pWin->drawable.height = pScreen->height;
+
 box.x1 = 0;
 box.y1 = 0;
 box.x2 = pScreen->width;
 box.y2 = pScreen->height;
+
 RegionInit(>winSize, , 1);
 RegionInit(>borderSize, , 1);
-if (WasViewable)
-RegionReset(>borderClip, );
-pWin->drawable.width = pScreen->width;
-pWin->drawable.height = pScreen->height;
 RegionBreak(>clipList);
+
+   if (WasViewable && mode == ROOT_SIZE_SCREEN)
+RegionReset(>borderClip, );
+   else
+RegionEmpty(>borderClip);
 }
 else {
 RegionEmpty(>borderClip);
diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
index 7f6fb9a..5557818 100644
--- a/hw/xwayland/xwayland-glamor.c
+++ b/hw/xwayland/xwayland-glamor.c
@@ -236,7 +236,7 @@ xwl_glamor_create_screen_resources(ScreenPtr screen)
 if (xwl_screen->rootless) {
 screen->devPrivate =
 fbCreatePixmap(screen, 0, 0, screen->rootDepth, 0);
-SetRootClip(screen, FALSE);
+SetRootClip(screen, ROOT_SIZE_SCREEN_EMPTY);
 }
 else {
 screen->devPrivate =
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index e9ec190..f5c7194 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -164,8 +164,7 @@ update_screen_size(struct xwl_output *xwl_output, int 
width, int height)
 struct xwl_screen *xwl_screen = xwl_output->xwl_screen;
 double mmpd;
 
-if (!xwl_screen->rootless)
-SetRootClip(xwl_screen->screen, FALSE);
+SetRootClip(xwl_screen->screen, FALSE);
 
 xwl_screen->width = width;
 xwl_screen->height = height;
@@ -181,6 +180,11 @@ update_screen_size(struct xwl_output *xwl_output, int 
width, int height)
 xwl_screen->screen->mmHeight = height * mmpd;
 }
 
+if (xwl_screen->rootless)
+SetRootClip(xwl_screen->screen, ROOT_SIZE_SCREEN_EMPTY);
+else
+SetRootClip(xwl_screen->screen, ROOT_SIZE_SCREEN);
+
 if (xwl_screen->screen->root) {
 xwl_screen->screen->root->drawable.width = width;
 xwl_screen->screen->root->drawable.height = height;
@@ -188,9 +192,6 @@ update_screen_size(struct xwl_output *xwl_output, int 
width, int height)
 }
 
 update_desktop_dimensions();
-
-if (!xwl_screen->rootless)
-SetRootClip(xwl_screen->screen, TRUE);
 }
 
 static void
diff --git a/hw/xwayland/xwayland-shm.c b/hw/xwayland/xwayland-shm.c
index 7072be4..2fbe74d 100644
--- a/hw/xwayland/xwayland-shm.c
+++ b/hw/xwayland/xwayland-shm.c
@@ -282,7 +282,7 @@ xwl_shm_create_screen_resources(ScreenPtr screen)
 if (xwl_screen->rootless) {
 screen->devPrivate =
 fbCreatePixmap(screen, 0, 0, 

[Bug 94043] New: Distorted graphics when running Battle.net app under Wine with Radeon driver

2016-02-08 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=94043

Bug ID: 94043
   Summary: Distorted graphics when running Battle.net app under
Wine with Radeon driver
   Product: xorg
   Version: unspecified
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: Driver/Radeon
  Assignee: xorg-driver-ati@lists.x.org
  Reporter: erik.bra...@gmx.de
QA Contact: xorg-t...@lists.x.org

When running the Battle.net Application on Ubuntu 15.10 via Wine 1.6.2 (from
the official Ubuntu packages) with the normal Ubuntu X server packages, after
logging in into the application, the graphics are distorted to the point of
unreadability.

I've searched the bugzilla and the symptoms seem to be similar to
https://bugs.freedesktop.org/show_bug.cgi?id=84651 . Even the workaround with
LIBGL_ALWAYS_SOFTWARE=1 works. The difference is that I have a Radeon card:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
RV515/M54 [Mobility Radeon X1400]

-- 
You are receiving this mail because:
You are the assignee for the bug.___
xorg-driver-ati mailing list
xorg-driver-ati@lists.x.org
https://lists.x.org/mailman/listinfo/xorg-driver-ati


[PATCH] Add hybrid full-size/empty-clip mode to SetRootClip

2016-02-08 Thread Daniel Stone
[Accidentally sent the unannotated version - sorry.]

Hi,

On 23 November 2015 at 07:51, Olivier Fourdan  wrote:
> diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
> index 5ef444d..2a180f2 100644
> --- a/hw/xwayland/xwayland-output.c
> +++ b/hw/xwayland/xwayland-output.c
> @@ -164,7 +164,7 @@ update_screen_size(struct xwl_output *xwl_output, int 
> width, int height)
>  struct xwl_screen *xwl_screen = xwl_output->xwl_screen;
>  double mmpd;
>
> -if (xwl_screen->screen->root)
> +if (!xwl_screen->rootless)
>  SetRootClip(xwl_screen->screen, FALSE);
>
>  xwl_screen->width = width;
> @@ -184,11 +184,13 @@ update_screen_size(struct xwl_output *xwl_output, int 
> width, int height)
>  if (xwl_screen->screen->root) {
>  xwl_screen->screen->root->drawable.width = width;
>  xwl_screen->screen->root->drawable.height = height;
> -SetRootClip(xwl_screen->screen, TRUE);
>  RRScreenSizeNotify(xwl_screen->screen);
>  }
>
>  update_desktop_dimensions();
> +
> +if (!xwl_screen->rootless)
> +SetRootClip(xwl_screen->screen, TRUE);
>  }

Unfortunately this totally breaks output hotplug, regressing the fix
from 216bdbc735. The effect is that if you hotplug an output and move an
XWayland window on to it, it can never receive pointer input, even
though the screen / root window size / RandR information are all updated.

Calling SetRootClip updates the root window's borderSize, so that
RRScreenSizeNotify (through ScreenRestructured) can rebuild the sprite
bounding box against the updated root window borderSize. With the
SetRootClip call removed, the bounding box always remains the same as it
was when the server was started.

It seems like we need a third mode to SetRootClip, diverging in the
middle ('Use REGION_BREAK to ...') branch: update winSize and
borderSize, but keep borderClip and clipList empty. I can't see how to
do this without a DIX change, since calling SetRootClip(TRUE) followed
by SetRootClip(FALSE) would have this desired effect, but generate a
bunch of exposures in between, which would generate invalid writes.

How about this (apply with git am --scissors)? It quite dumbly tries to
preserve API: Bool is really int, so we take the existing TRUE/FALSE
modes as the first two enum parameters, then introduce a new one.

Tested by starting with a single output, manually checking
screenInfo.screens[0]->root->{winSize,borderSize,borderClip,clipList}
with gdb, hotplugging an output, verifying the regions again and also
checking xev receives events on that output, unplugging it and verifying
regions again.

Cheers,
Daniel

--- 8< ---

216bdbc735 removed the SetRootClip call in the XWayland output-hotplug
handler when running rootless (e.g. as a part of Weston/Mutter), since
the root window has no storage, so generating exposures will result in
writes to invalid memory.

Unfortunately, preventing the segfault also breaks sprite confinement.
SetRootClip updates winSize and borderSize for the root window, which
when combined with RRScreenSizeChanged calling ScreenRestructured,
generates a new sprite-confinment area to update it to the whole screen.

Removing this call results in the window geometry being reported
correctly, but winSize/borderSize never changing from their values at
startup, i.e. out of sync with the root window geometry / screen
information in the connection info / XRandR.

This patch introduces a hybrid mode, where we update winSize and
borderSize for the root window, enabling sprite confinement to work
correctly, but keep the clip emptied so exposures are never generated.

Signed-off-by: Daniel Stone 
Cc: Olivier Fourdan 
Cc: Adam Jackson 
---
 dix/window.c  | 18 --
 hw/xwayland/xwayland-glamor.c |  2 +-
 hw/xwayland/xwayland-output.c | 11 ++-
 hw/xwayland/xwayland-shm.c|  2 +-
 include/window.h  |  8 +++-
 5 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index 25d29ec..9726ade 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -3647,7 +3647,7 @@ WindowParentHasDeviceCursor(WindowPtr pWin,
  * all of the windows
  */
 void
-SetRootClip(ScreenPtr pScreen, Bool enable)
+SetRootClip(ScreenPtr pScreen, int enable)
 {
 WindowPtr pWin = pScreen->root;
 WindowPtr pChild;
@@ -3655,6 +3655,7 @@ SetRootClip(ScreenPtr pScreen, Bool enable)
 Bool anyMarked = FALSE;
 WindowPtr pLayerWin;
 BoxRec box;
+enum RootClipMode mode = enable;
 
 if (!pWin)
 return;
@@ -3684,18 +3685,23 @@ SetRootClip(ScreenPtr pScreen, Bool enable)
  * that assume the root borderClip can't change well, normally
  * it doesn't...)
  */
-if (enable) {
+if (mode != ROOT_SIZE_NONE) {
+pWin->drawable.width = pScreen->width;
+pWin->drawable.height = pScreen->height;
+
 box.x1 = 0;
  

[PATCH 1/2] xfree86: add pci id matching to OutputClass

2016-02-08 Thread Dave Airlie
This will be used by drivers to denote PCI ids in the future
instead of hardcoding them in the server.

Signed-off-by: Dave Airlie 
---
 hw/xfree86/common/xf86platformBus.c | 14 ++
 hw/xfree86/parser/OutputClass.c | 21 +
 hw/xfree86/parser/xf86Parser.h  |  1 +
 hw/xfree86/parser/xf86tokens.h  |  1 +
 4 files changed, 37 insertions(+)

diff --git a/hw/xfree86/common/xf86platformBus.c 
b/hw/xfree86/common/xf86platformBus.c
index 96895a6..70064ae 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -164,6 +164,12 @@ xf86_check_platform_slot(const struct xf86_platform_device 
*pd)
 return TRUE;
 }
 
+static int
+match_substring(const char *attr, const char *pattern)
+{
+return (strstr(attr, pattern)) ? 0 : -1;
+}
+
 static Bool
 MatchToken(const char *value, struct xorg_list *patterns,
int (*compare)(const char *, const char *))
@@ -205,10 +211,18 @@ static Bool
 OutputClassMatches(const XF86ConfOutputClassPtr oclass, int index)
 {
 char *driver = xf86_platform_odev_attributes(index)->driver;
+struct pci_device *pdev = xf86_platform_devices[index].pdev;
+char pciid_str[64];
 
 if (!MatchToken(driver, >match_driver, strcmp))
 return FALSE;
 
+if (pdev) {
+  snprintf(pciid_str, 64, "%04x:%04x", pdev->vendor_id, pdev->device_id);
+  if (!MatchToken(pciid_str, >match_pciid, match_substring))
+return FALSE;
+}
+
 return TRUE;
 }
 
diff --git a/hw/xfree86/parser/OutputClass.c b/hw/xfree86/parser/OutputClass.c
index 3f2082e..2dad412 100644
--- a/hw/xfree86/parser/OutputClass.c
+++ b/hw/xfree86/parser/OutputClass.c
@@ -38,6 +38,7 @@ xf86ConfigSymTabRec OutputClassTab[] = {
 {IDENTIFIER, "identifier"},
 {DRIVER, "driver"},
 {MATCH_DRIVER, "matchdriver"},
+{MATCH_PCIID, "matchpciid"},
 {-1, ""},
 };
 
@@ -61,6 +62,13 @@ xf86freeOutputClassList(XF86ConfOutputClassPtr ptr)
 free(group);
 }
 
+   xorg_list_for_each_entry_safe(group, next, >match_pciid, entry) {
+xorg_list_del(>entry);
+for (list = group->values; *list; list++)
+free(*list);
+free(group);
+}
+
 prev = ptr;
 ptr = ptr->list.next;
 free(prev);
@@ -93,6 +101,7 @@ xf86parseOutputClassSection(void)
 
 /* Initialize MatchGroup lists */
 xorg_list_init(>match_driver);
+xorg_list_init(>match_pciid);
 
 while ((token = xf86getToken(OutputClassTab)) != ENDSECTION) {
 switch (token) {
@@ -120,6 +129,13 @@ xf86parseOutputClassSection(void)
 xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
 free(xf86_lex_val.str);
 break;
+case MATCH_PCIID:
+if (xf86getSubToken(&(ptr->comment)) != STRING)
+Error(QUOTE_MSG, "MatchPCIID");
+add_group_entry(>match_pciid,
+xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+free(xf86_lex_val.str);
+break;
 case EOF_TOKEN:
 Error(UNEXPECTED_EOF_MSG);
 break;
@@ -158,6 +174,11 @@ xf86printOutputClassSection(FILE * cf, 
XF86ConfOutputClassPtr ptr)
 for (cur = group->values; *cur; cur++)
 fprintf(cf, "%s%s", cur == group->values ? "" : TOKEN_SEP,
 *cur);
+   fprintf(cf, "\"\n");
+   fprintf(cf, "\tMatchPCIID \"");
+for (cur = group->values; *cur; cur++)
+fprintf(cf, "%s%s", cur == group->values ? "" : TOKEN_SEP,
+*cur);
 fprintf(cf, "\"\n");
 }
 
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h
index a038f9e..26a7fbc 100644
--- a/hw/xfree86/parser/xf86Parser.h
+++ b/hw/xfree86/parser/xf86Parser.h
@@ -337,6 +337,7 @@ typedef struct {
 char *identifier;
 char *driver;
 struct xorg_list match_driver;
+struct xorg_list match_pciid;
 char *comment;
 } XF86ConfOutputClassRec, *XF86ConfOutputClassPtr;
 
diff --git a/hw/xfree86/parser/xf86tokens.h b/hw/xfree86/parser/xf86tokens.h
index f955af0..dfb8b7a 100644
--- a/hw/xfree86/parser/xf86tokens.h
+++ b/hw/xfree86/parser/xf86tokens.h
@@ -278,6 +278,7 @@ typedef enum {
 MATCH_OS,
 MATCH_PNPID,
 MATCH_USBID,
+MATCH_PCIID,
 MATCH_DRIVER,
 MATCH_TAG,
 MATCH_LAYOUT,
-- 
2.5.0

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH 2/2] xfree86/linux: disable using built-in pci id list on Linux.

2016-02-08 Thread Dave Airlie
This disables the built-in pciid lists on Linux, as we want
to start using OutputClass only to pick which drivers to load.

Signed-off-by: Dave Airlie 
---
 hw/xfree86/common/xf86pciBus.c  | 3 ++-
 hw/xfree86/common/xf86platformBus.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 8158c2b..ab72719 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1424,11 +1424,12 @@ xf86PciMatchDriver(char *matches[], int nmatches)
 if (info)
 i += xf86MatchDriverFromFiles(info->vendor_id, info->device_id,
   matches, nmatches);
-#endif
+#else
 
 if ((info != NULL) && (i < nmatches)) {
 i += xf86VideoPtrToDriverList(info, &(matches[i]), nmatches - i);
 }
+#endif
 
 return i;
 }
diff --git a/hw/xfree86/common/xf86platformBus.c 
b/hw/xfree86/common/xf86platformBus.c
index 70064ae..2486dc7 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -279,11 +279,12 @@ xf86PlatformMatchDriver(char *matches[], int nmatches)
 if (info)
 j += xf86MatchDriverFromFiles(info->vendor_id, info->device_id,
   [j], nmatches - j);
-#endif
+#else
 
 if ((info != NULL) && (j < nmatches)) {
 j += xf86VideoPtrToDriverList(info, &(matches[j]), nmatches - 
j);
 }
+#endif
 }
 }
 return j;
-- 
2.5.0

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[RFC] use OutputClass PCI ID matching for driver selection.

2016-02-08 Thread Dave Airlie
This series is a replacement for my previous attempt at glamor forcing
different drivers to load.

First it adds the ability to match on PCI ID strings to the OutputClass
stuff. The sections are of the form:

ection "OutputClass"
Identifier "nouveau"
Driver "nouveau"
MatchPCIID "10de:"
EndSection

The PCIID can be a vendor id, or a vendor id:device id list, I'm not sure
if we need to have subvendor/subdevice at all. The format is no 0x and
lower case hex values.

The second patch then break things, by insisting that drivers use this
mechanism to get loaded. I intend if we accept this to add patches to
the drivers to ship an output class file with them so that they all get
loaded on the appropriate hardware.

This will let distros decide using config snippets which drivers they
want to load on what hardware.

Dave.

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 5/9] kdrive: add options to set default XKB properties

2016-02-08 Thread Peter Hutterer
On Mon, Feb 08, 2016 at 10:00:21PM -0200, Laércio de Sousa wrote:
> Em 8 de fev de 2016 17:54, "Adam Jackson"  escreveu:
> > How are you in a scenario where you can pass these values to Xephyr on
> > the command line, but can't modify the udev properties?
> Well... What I really mean is a scenario where neither the Linux distro,
> nor the keyboard vendor, nor the sysadmin him(her)self provides any udev
> rules to set XKB properties.
> 
> For example, I know there are some distros that ship a set of default udev
> rules to set XKB properties, but not all of them do it (at least the one I
> used when I wrote this patch didn't).

when we introduced the udev config backend we mostly agreed that we weren't
going to use udev as a config storage (which is how InputClass was
conceived). Debian ships them because there was some release timing conflict
where the udev patches where ready but the InputClass bits weren't but aside
from Debian I don't expect any distro to set the xkb config via udev.

aside from bikeshedding that I prefer -xkb-layout over -xkblayout this makes
sense.

Cheers,
   Peter
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 5/9] kdrive: add options to set default XKB properties

2016-02-08 Thread Peter Hutterer
On Fri, Dec 11, 2015 at 11:43:10AM -0200, Laércio de Sousa wrote:
> This patch introduces convenient command-line options -xkbrules,
> -xkbmodel, -xkblayout, -xkbvariant, and -xkboptions, to set default
> values for these properties.
> 
> These options can be handful in cases where corresponding values can't
> be taken from devices' udev properties, and compile-time default
> values don't match user locale.
> 
> Signed-off-by: Laércio de Sousa 
> ---
>  hw/kdrive/src/kdrive.c | 40 
>  hw/kdrive/src/kinput.c | 16 +++-
>  2 files changed, 51 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c
> index 8930ace..1578458 100644
> --- a/hw/kdrive/src/kdrive.c
> +++ b/hw/kdrive/src/kdrive.c
> @@ -85,6 +85,11 @@ char *kdSwitchCmd;
>  DDXPointRec kdOrigin;
>  Bool kdHasPointer = FALSE;
>  Bool kdHasKbd = FALSE;
> +const char *kdGlobalXkbRules = NULL;
> +const char *kdGlobalXkbModel = NULL;
> +const char *kdGlobalXkbLayout = NULL;
> +const char *kdGlobalXkbVariant = NULL;
> +const char *kdGlobalXkbOptions = NULL;
>  
>  static Bool kdCaughtSignal = FALSE;
>  
> @@ -451,6 +456,11 @@ KdUseMsg(void)
>  ("-mouse driver [,n,,options]Specify the pointer driver and its 
> options (n is the number of buttons)\n");
>  ErrorF
>  ("-keybd driver [,,options]  Specify the keyboard driver and its 
> options\n");
> +ErrorF("-xkbrulesSet default XkbRules value (can be overriden by 
> -keybd options)\n");
> +ErrorF("-xkbmodelSet default XkbModel value (can be overriden by 
> -keybd options)\n");
> +ErrorF("-xkblayout   Set default XkbLayout value (can be overriden 
> by -keybd options)\n");
> +ErrorF("-xkbvariant  Set default XkbVariant value (can be overriden 
> by -keybd options)\n");
> +ErrorF("-xkboptions  Set default XkbOptions value (can be overriden 
> by -keybd options)\n");
>  ErrorF("-zaphod  Disable cursor screen switching\n");
>  ErrorF("-2button Emulate 3 button mouse\n");
>  ErrorF("-3button Disable 3 button mouse emulation\n");
> @@ -559,6 +569,36 @@ KdProcessArgument(int argc, char **argv, int i)
>  sscanf(argv[i], "vt%2d", ) == 1) {
>  return 1;
>  }
> +if (!strcmp(argv[i], "-xkbrules")) {
> +if (i + 1 >= argc)
> +UseMsg();

afaict UseMsg() doesn't actually exist, so you're accessing invalid memory
here.

Cheers,
   Peter

> +kdGlobalXkbRules = argv[i + 1];
> +return 2;
> +}
> +if (!strcmp(argv[i], "-xkbmodel")) {
> +if (i + 1 >= argc)
> +UseMsg();
> +kdGlobalXkbModel = argv[i + 1];
> +return 2;
> +}
> +if (!strcmp(argv[i], "-xkblayout")) {
> +if (i + 1 >= argc)
> +UseMsg();
> +kdGlobalXkbLayout = argv[i + 1];
> +return 2;
> +}
> +if (!strcmp(argv[i], "-xkbvariant")) {
> +if (i + 1 >= argc)
> +UseMsg();
> +kdGlobalXkbVariant = argv[i + 1];
> +return 2;
> +}
> +if (!strcmp(argv[i], "-xkboptions")) {
> +if (i + 1 >= argc)
> +UseMsg();
> +kdGlobalXkbOptions = argv[i + 1];
> +return 2;
> +}
>  if (!strcmp(argv[i], "-mouse") || !strcmp(argv[i], "-pointer")) {
>  if (i + 1 >= argc)
>  UseMsg();
> diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
> index e9a5f24..0acf82e 100644
> --- a/hw/kdrive/src/kinput.c
> +++ b/hw/kdrive/src/kinput.c
> @@ -102,6 +102,12 @@ static int kdNumInputFds;
>  
>  extern Bool kdRawPointerCoordinates;
>  
> +extern const char *kdGlobalXkbRules;
> +extern const char *kdGlobalXkbModel;
> +extern const char *kdGlobalXkbLayout;
> +extern const char *kdGlobalXkbVariant;
> +extern const char *kdGlobalXkbOptions;
> +
>  static void
>  KdSigio(int sig)
>  {
> @@ -931,11 +937,11 @@ KdNewKeyboard(void)
>  ki->options = NULL;
>  ki->name = strdup("Generic Keyboard");
>  ki->path = NULL;
> -ki->xkbRules = strdup(XKB_DFLT_RULES);
> -ki->xkbModel = strdup(XKB_DFLT_MODEL);
> -ki->xkbLayout = strdup(XKB_DFLT_LAYOUT);
> -ki->xkbVariant = strdup(XKB_DFLT_VARIANT);
> -ki->xkbOptions = strdup(XKB_DFLT_OPTIONS);
> +ki->xkbRules = strdup(kdGlobalXkbRules ? kdGlobalXkbRules : 
> XKB_DFLT_RULES);
> +ki->xkbModel = strdup(kdGlobalXkbModel ? kdGlobalXkbModel : 
> XKB_DFLT_MODEL);
> +ki->xkbLayout = strdup(kdGlobalXkbLayout ? kdGlobalXkbLayout : 
> XKB_DFLT_LAYOUT);
> +ki->xkbVariant = strdup(kdGlobalXkbVariant ? kdGlobalXkbVariant 
> :XKB_DFLT_VARIANT);
> +ki->xkbOptions = strdup(kdGlobalXkbOptions ? kdGlobalXkbOptions : 
> XKB_DFLT_OPTIONS);
>  
>  return ki;
>  }
> -- 
> 2.1.4
 
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: 

Re: [PATCH xserver 4/4] dri2: Unblock Clients on Drawable release

2016-02-08 Thread Adam Jackson
On Wed, 2016-02-03 at 16:02 +0200, Ville Syrjälä wrote:
> On Wed, Feb 03, 2016 at 09:54:46AM +, Chris Wilson wrote:
> > If the Window is destroyed by another client, such as the window
> > manager, the original client may be blocked by DRI2 awaiting a vblank
> > event. When this happens, DRI2DrawableGone forgets to unblock that
> > client and so the wait never completes.
> > 
> > Note Present/xshmfence is also suspectible to this race.
> > 
> > Testcase: dri2-race/manager
> > Signed-off-by: Chris Wilson 
> > Cc: Ville Syrjälä 
> 
> Reviewed-by: Ville Syrjälä 

To ssh://git.freedesktop.org/git/xorg/xserver
   a722d61..e43abdc  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 5/9] kdrive: add options to set default XKB properties

2016-02-08 Thread Peter Hutterer
On Tue, Feb 09, 2016 at 05:40:26AM -0200, Laércio de Sousa wrote:
> Em 9 de fev de 2016 02:24, "Peter Hutterer" 
> escreveu:
> >
> > On Fri, Dec 11, 2015 at 11:43:10AM -0200, Laércio de Sousa wrote:
> > > This patch introduces convenient command-line options -xkbrules,
> > > -xkbmodel, -xkblayout, -xkbvariant, and -xkboptions, to set default
> > > values for these properties.
> > >
> > > These options can be handful in cases where corresponding values can't
> > > be taken from devices' udev properties, and compile-time default
> > > values don't match user locale.
> > >
> > > Signed-off-by: Laércio de Sousa <
> laercioso...@sme-mogidascruzes.sp.gov.br>
> > > ---
> > >  hw/kdrive/src/kdrive.c | 40 
> > >  hw/kdrive/src/kinput.c | 16 +++-
> > >  2 files changed, 51 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c
> > > index 8930ace..1578458 100644
> > > --- a/hw/kdrive/src/kdrive.c
> > > +++ b/hw/kdrive/src/kdrive.c
> > > @@ -85,6 +85,11 @@ char *kdSwitchCmd;
> > >  DDXPointRec kdOrigin;
> > >  Bool kdHasPointer = FALSE;
> > >  Bool kdHasKbd = FALSE;
> > > +const char *kdGlobalXkbRules = NULL;
> > > +const char *kdGlobalXkbModel = NULL;
> > > +const char *kdGlobalXkbLayout = NULL;
> > > +const char *kdGlobalXkbVariant = NULL;
> > > +const char *kdGlobalXkbOptions = NULL;
> > >
> > >  static Bool kdCaughtSignal = FALSE;
> > >
> > > @@ -451,6 +456,11 @@ KdUseMsg(void)
> > >  ("-mouse driver [,n,,options]Specify the pointer driver
> and its options (n is the number of buttons)\n");
> > >  ErrorF
> > >  ("-keybd driver [,,options]  Specify the keyboard driver
> and its options\n");
> > > +ErrorF("-xkbrulesSet default XkbRules value (can be
> overriden by -keybd options)\n");
> > > +ErrorF("-xkbmodelSet default XkbModel value (can be
> overriden by -keybd options)\n");
> > > +ErrorF("-xkblayout   Set default XkbLayout value (can be
> overriden by -keybd options)\n");
> > > +ErrorF("-xkbvariant  Set default XkbVariant value (can be
> overriden by -keybd options)\n");
> > > +ErrorF("-xkboptions  Set default XkbOptions value (can be
> overriden by -keybd options)\n");
> > >  ErrorF("-zaphod  Disable cursor screen switching\n");
> > >  ErrorF("-2button Emulate 3 button mouse\n");
> > >  ErrorF("-3button Disable 3 button mouse emulation\n");
> > > @@ -559,6 +569,36 @@ KdProcessArgument(int argc, char **argv, int i)
> > >  sscanf(argv[i], "vt%2d", ) == 1) {
> > >  return 1;
> > >  }
> > > +if (!strcmp(argv[i], "-xkbrules")) {
> > > +if (i + 1 >= argc)
> > > +UseMsg();
> >
> > afaict UseMsg() doesn't actually exist, so you're accessing invalid memory
> > here.
> Many other kdrive-related command-line options call UseMsg() as well ---
> which in turn calls KdUseMsg().

urgh, sorry, typo: this should've read "exit", not "exist". All the other ones
work because they don't access the args after the UseMsg() call.

Cheers,
   Peter
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH 2/2] pixmap: add wait shared pixmap

2016-02-08 Thread Dave Airlie
With modesetting/glamor/reverse prime setups, we don't have
a decent sync mechanism between master and slave drivers. The
drivers each have their own driver pixmap/bo for their side
of the shared pixmap so nothing is available to synchronise
these. Ideally we'd have cross driver sync objects, but those
particular pigs can't fly yet.

In lieu of this glFinish is pretty close to the best thing
we have, it might be possible to use a glSyncObject to make
this a bit lighter, but for now lets try this.

This just causes glFinish to be called so the first driver
has written all its changes to the shared pixmap before the
second driver does things to its side of the shared pixmap.

This fixes a wierd lag, if you run X across two GPUs, and
then run xsetroot -solid and various values, the slave screens
end up a slot behind.

Signed-off-by: Dave Airlie 
---
 dix/pixmap.c| 13 +
 glamor/glamor.c |  9 +
 glamor/glamor.h |  1 +
 hw/xfree86/drivers/modesetting/driver.c | 11 +++
 include/pixmap.h|  3 +++
 include/scrnintstr.h|  4 
 6 files changed, 41 insertions(+)

diff --git a/dix/pixmap.c b/dix/pixmap.c
index 11d83fe..a696c92 100644
--- a/dix/pixmap.c
+++ b/dix/pixmap.c
@@ -392,3 +392,16 @@ Bool PixmapSyncDirtyHelper(PixmapDirtyUpdatePtr dirty)
 pScreen->SourceValidate = SourceValidate;
 return TRUE;
 }
+
+void WaitSharedPixmap(PixmapPtr pSharedPix)
+{
+ScreenPtr mscreen;
+if (!pSharedPix->master_pixmap)
+return;
+
+mscreen = pSharedPix->master_pixmap->drawable.pScreen;
+if (!mscreen->WaitSharedPixmap)
+return;
+
+mscreen->WaitSharedPixmap(pSharedPix->master_pixmap);
+}
diff --git a/glamor/glamor.c b/glamor/glamor.c
index e9c1d9e..f356ab1 100644
--- a/glamor/glamor.c
+++ b/glamor/glamor.c
@@ -808,3 +808,12 @@ glamor_name_from_pixmap(PixmapPtr pixmap, CARD16 *stride, 
CARD32 *size)
 }
 return -1;
 }
+
+void
+glamor_finish(ScreenPtr screen)
+{
+glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
+
+glamor_make_current(glamor_priv);
+glFinish();
+}
diff --git a/glamor/glamor.h b/glamor/glamor.h
index a73e9ef..e27033a 100644
--- a/glamor/glamor.h
+++ b/glamor/glamor.h
@@ -336,6 +336,7 @@ extern _X_EXPORT void glamor_destroy_gc(GCPtr gc);
 extern Bool _X_EXPORT glamor_change_window_attributes(WindowPtr pWin, unsigned 
long mask);
 extern void _X_EXPORT glamor_copy_window(WindowPtr window, DDXPointRec 
old_origin, RegionPtr src_region);
 
+extern _X_EXPORT void glamor_finish(ScreenPtr screen);
 #define HAS_GLAMOR_TEXT 1
 
 #ifdef GLAMOR_FOR_XORG
diff --git a/hw/xfree86/drivers/modesetting/driver.c 
b/hw/xfree86/drivers/modesetting/driver.c
index 8f60eae..f5ef173 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -570,6 +570,7 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr 
dirty)
 
 RegionRec pixregion;
 
+WaitSharedPixmap(dirty->slave_dst);
 PixmapRegionInit(, dirty->slave_dst);
 DamageRegionAppend(>slave_dst->drawable, );
 PixmapSyncDirtyHelper(dirty);
@@ -1098,6 +1099,15 @@ SetMaster(ScrnInfoPtr pScrn)
 return ret == 0;
 }
 
+static void
+msWaitSharedPixmap(PixmapPtr pPixmap)
+{
+ScreenPtr pScreen = pPixmap->drawable.pScreen;
+#ifdef GLAMOR_HAS_GBM
+glamor_finish(pScreen);
+#endif
+}
+
 static Bool
 ScreenInit(ScreenPtr pScreen, int argc, char **argv)
 {
@@ -1217,6 +1227,7 @@ ScreenInit(ScreenPtr pScreen, int argc, char **argv)
 pScreen->SetSharedPixmapBacking = msSetSharedPixmapBacking;
 pScreen->StartPixmapTracking = PixmapStartDirtyTracking;
 pScreen->StopPixmapTracking = PixmapStopDirtyTracking;
+pScreen->WaitSharedPixmap = msWaitSharedPixmap;
 
 if (!xf86CrtcScreenInit(pScreen))
 return FALSE;
diff --git a/include/pixmap.h b/include/pixmap.h
index c6a7736..c1fc033 100644
--- a/include/pixmap.h
+++ b/include/pixmap.h
@@ -130,4 +130,7 @@ PixmapStopDirtyTracking(PixmapPtr src, PixmapPtr slave_dst);
 extern _X_EXPORT Bool
 PixmapSyncDirtyHelper(PixmapDirtyUpdatePtr dirty);
 
+extern _X_EXPORT void
+WaitSharedPixmap(PixmapPtr pSharedPix);
+
 #endif  /* PIXMAP_H */
diff --git a/include/scrnintstr.h b/include/scrnintstr.h
index 2e617c4..e808735 100644
--- a/include/scrnintstr.h
+++ b/include/scrnintstr.h
@@ -358,6 +358,8 @@ typedef WindowPtr (*XYToWindowProcPtr)(ScreenPtr pScreen,
 
 typedef int (*NameWindowPixmapProcPtr)(WindowPtr, PixmapPtr, CARD32);
 
+typedef void (*WaitSharedPixmapProcPtr)(PixmapPtr);
+
 /* Wrapping Screen procedures
 
There are a few modules in the X server which dynamically add and
@@ -610,6 +612,8 @@ typedef struct _Screen {
 
 ReplaceScanoutPixmapProcPtr ReplaceScanoutPixmap;
 XYToWindowProcPtr XYToWindow;
+
+WaitSharedPixmapProcPtr WaitSharedPixmap;
 } ScreenRec;
 
 

[PATCH 1/2] present: fail flipping if we have any slave outputs.

2016-02-08 Thread Dave Airlie
Due to the way present currently works, we don't ever
check with the secondary adapters if we can flip at all.

We shouldn't flip if the secondary adapters are attached
to the pixmap currently, however using the current check_flip
callback isn't possible as it passes the Window to the driver
(something we shouldn't be doing), so the slave driver can never
get it's own screen ptr back.

For now to fix the problem just block flips if we have any
slaves configured. We can fix the ABI up later, but this
fix can be backported to stable.

Signed-off-by: Dave Airlie 
---
 present/present.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/present/present.c b/present/present.c
index 8cf3b6f..cb3c7ea 100644
--- a/present/present.c
+++ b/present/present.c
@@ -122,6 +122,10 @@ present_check_flip(RRCrtcPtrcrtc,
 if (!screen_priv->info->flip)
 return FALSE;
 
+/* Fail to flip if we have slave outputs */
+if (!xorg_list_is_empty(>output_slave_list))
+return FALSE;
+
 /* Make sure the window hasn't been redirected with Composite */
 window_pixmap = screen->GetWindowPixmap(window);
 if (window_pixmap != screen->GetScreenPixmap(screen) &&
-- 
2.5.0

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[Bug 94043] Distorted graphics when running Battle.net app under Wine with Radeon driver

2016-02-08 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=94043

Alex Deucher  changed:

   What|Removed |Added

  Component|Driver/Radeon   |Drivers/Gallium/r300
 QA Contact|xorg-t...@lists.x.org   |dri-devel@lists.freedesktop
   ||.org
   Assignee|xorg-driver-ati@lists.x.org |dri-devel@lists.freedesktop
   ||.org
Product|xorg|Mesa

-- 
You are receiving this mail because:
You are the assignee for the bug.___
xorg-driver-ati mailing list
xorg-driver-ati@lists.x.org
https://lists.x.org/mailman/listinfo/xorg-driver-ati


Re: [PATCH rendercheck 3/5] Use ELF sections to make test setup easier.

2016-02-08 Thread Adam Jackson
On Mon, 2016-02-01 at 13:48 -0800, Eric Anholt wrote:
> Managing the group logic was really error-prone (forget to edit
> success_mask when copy and pasting?  Forget to printf a description of
> the group?).  Most new tests being written can be described as a single
> call that does a couple subtests.
> 
> This doesn't convert all of the tests.  Some of the remaining ones use
> "win" for presenting results (which we may want to just put in a
> global?), and the rest use the pre-created pictures, which would need
> some much bigger refactoring if we want to move their test logic into
> their test files.

Bit of an understatement, it only converts two of fourteen tests.
Series looks good though:

Reviewed-by: Adam Jackson 

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 0/9] Xephyr input hot-plugging support and other additions for single-GPU multi-seat

2016-02-08 Thread Laércio de Sousa
Thank you very much, Adam!

I'll take a better look on remaining patches on Wednesday or Thursday and
give you an answer ASAP.

Kind regards.
Em 8 de fev de 2016 18:13, "Adam Jackson"  escreveu:

> On Fri, 2015-12-11 at 11:43 -0200, Laércio de Sousa wrote:
>
> > This is the v7 of patch series which provides some missing parts
> > for full single-GPU multi-seat support in Xephyr. The main difference
> > to v6 is that now ephyr input driver for kdrive won't be loaded
> > in multi-seat mode, i.e. if -seat option is passed to Xephyr, so that
> > it'll handle only its seat's input hardware. In this version, we've
> > also dropped patch to add command-line options -host-display and
> > -host-auth for Xephyr (use "env DISPLAY=... XAUTHORITY=... Xephyr"
> instead).
>
> Apologies for being unbelievably slow to review this. 1 2 6 8 and 9 of
> this series look fine, merged:
>
> To ssh://git.freedesktop.org/git/xorg/xserver
>2c3e876..da69f2f  master -> master
>
> 3 through 5 I have some concerns about (sent separately) and I also
> dropped 7 since it didn't apply with those skipped.
>
> - ajax
>
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 5/9] kdrive: add options to set default XKB properties

2016-02-08 Thread Adam Jackson
On Fri, 2015-12-11 at 11:43 -0200, Laércio de Sousa wrote:
> This patch introduces convenient command-line options -xkbrules,
> -xkbmodel, -xkblayout, -xkbvariant, and -xkboptions, to set default
> values for these properties.
> 
> These options can be handful in cases where corresponding values can't
> be taken from devices' udev properties, and compile-time default
> values don't match user locale.

How are you in a scenario where you can pass these values to Xephyr on
the command line, but can't modify the udev properties?

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 3/9] kdrive: introduce input hot-plugging support for udev and hal backends (#33140)

2016-02-08 Thread Adam Jackson
On Fri, 2015-12-11 at 11:43 -0200, Laércio de Sousa wrote:

> +void
> +systemd_logind_release_fd(int _major, int _minor, int fd)
> +{
> +}
> +
> +void
> +systemd_logind_vtenter(void)
> +{
> +}

This introduces a warning:

kdrive.c:1217:1: warning: no previous prototype for 'systemd_logind_release_fd' 
[-Wmissing-prototypes]
 systemd_logind_release_fd(int _major, int _minor, int fd)
 ^
kdrive.c:1222:1: warning: no previous prototype for 'systemd_logind_vtenter' 
[-Wmissing-prototypes]
 systemd_logind_vtenter(void)
 ^
 
> @@ -2230,5 +2348,55 @@ NewInputDeviceRequest(InputOption *options, 
> InputAttributes * attrs,
>  void
>  DeleteInputDeviceRequest(DeviceIntPtr pDev)
>  {
> +#if defined(CONFIG_UDEV) || defined(CONFIG_HAL)
> +OsBlockSIGIO();
>  RemoveDevice(pDev, TRUE);
> +
> +/*
> + * Search for fds that were not unregistered correctly
> + * by RemoveDevice() call and unregister them.
> + * Code taken from KdInputDisable() implementation.
> + */

This seems like the sort of comment where the act of writing it is a
sign that the code must be wrong.  Why is RemoveDevice not closing the
fd for you?

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 4/9] kdrive: update evdev keyboard LEDs (#22302)

2016-02-08 Thread Adam Jackson
On Fri, 2015-12-11 at 11:43 -0200, Laércio de Sousa wrote:
> From: Mikhail Krivtsov 
> 
> When one hits {Num,Caps,Scroll}Lock key on a Xephyr's keyboard,
> keyboard itself works as expected but LEDs are not updated
> and always stay in off.
> 
> Currently logical LEDs are propagated to physical keyboard LEDs
> for "CoreKeyboard" only. All "kdrive" keyboards are not
> "CoreKeyboard" and LEDs of "kdrive" keyboards are always "dead".
> 
> One possible solution is cloning "CoreKeyboard" LEDs to all
> "kdrive" keyboards.

Can you describe this scenario better?  What does the output of 'xinput
list' look like when you encounter this?

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH kdrive/ephyr v7 0/9] Xephyr input hot-plugging support and other additions for single-GPU multi-seat

2016-02-08 Thread Adam Jackson
On Fri, 2015-12-11 at 11:43 -0200, Laércio de Sousa wrote:

> This is the v7 of patch series which provides some missing parts
> for full single-GPU multi-seat support in Xephyr. The main difference
> to v6 is that now ephyr input driver for kdrive won't be loaded
> in multi-seat mode, i.e. if -seat option is passed to Xephyr, so that
> it'll handle only its seat's input hardware. In this version, we've
> also dropped patch to add command-line options -host-display and
> -host-auth for Xephyr (use "env DISPLAY=... XAUTHORITY=... Xephyr" instead).

Apologies for being unbelievably slow to review this. 1 2 6 8 and 9 of
this series look fine, merged:

To ssh://git.freedesktop.org/git/xorg/xserver
   2c3e876..da69f2f  master -> master

3 through 5 I have some concerns about (sent separately) and I also
dropped 7 since it didn't apply with those skipped.

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver 2/4] dri2: Split resource tracking for DRI2Drawable and references to them

2016-02-08 Thread Adam Jackson
On Wed, 2016-02-03 at 09:54 +, Chris Wilson wrote:

> @@ -203,6 +203,11 @@ DRI2AllocateDrawable(DrawablePtr pDraw)
>  if (pPriv == NULL)
>  return NULL;
>  
> +if (!AddResource(pDraw->id, dri2DrawableRes, pPriv)) {
> +free(pPriv);
> +return NULL;
> +}
> +
>  pPriv->dri2_screen = ds;
>  pPriv->drawable = pDraw;
>  pPriv->width = pDraw->width;

Newp. If AddResource fails it'll call DRI2DrawableGone for you, which
means in the absolute best case you'd double-free. Since you haven't
initialized any of pPriv at this point hell knows precisely what will
explode, but it'll be something.

>  ref = malloc(sizeof *ref);
>  if (ref == NULL)
>  return BadAlloc;
>  
> -if (!AddResource(dri2_id, dri2DrawableRes, pPriv)) {
> +if (!AddResource(pid, dri2ReferenceRes, ref)) {
>  free(ref);
>  return BadAlloc;
>  }

Same deal here, although here you're forgiven for the double-free since
it was already there.

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver] autogen: Set a default subject prefix for patches

2016-02-08 Thread Adam Jackson
On Mon, 2016-01-18 at 13:09 -0800, Eric Anholt wrote:

> This doesn't work unless you have NOCONFIGURE set, because of "exec".
> If you move it up above that block, it's:
> 
> Reviewed-by: Eric Anholt 

Done:

To ssh://git.freedesktop.org/git/xorg/xserver
   7bb64d8..a722d61  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Fix XineramaQueryScreens for reverse prime

2016-02-08 Thread Adam Jackson
On Mon, 2016-02-08 at 14:17 +1000, Dave Airlie wrote:
> On 4 February 2016 at 23:06, Jan Burgmeier
>  wrote:
> > Bugzilla: https://bugs.freedesktop.org/92313
> 
> Reviewed-by: Dave Airlie 
> 
> though it might be nice to have some more info from the bug in the
> commit message.

Pushed with a slightly more detailed commit message:

To ssh://git.freedesktop.org/git/xorg/xserver
   87d5534..7bb64d8  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver 1/4] dri2: Only invalidate the immediate Window upon SetWindowPixmap

2016-02-08 Thread Adam Jackson
On Wed, 2016-02-03 at 15:36 +0200, Ville Syrjälä wrote:
> On Wed, Feb 03, 2016 at 09:54:43AM +, Chris Wilson wrote:
> > All callers of SetWindowPixmap will themselves be traversing the Window
> > heirachy updating the backing Pixmap of each child and so we can forgo
> > doing the identical traversal inside the DRI2SetWindowPixmap handler.
> > 
> > Reported-by: Loïc Yhuel 
> > Link: http://lists.x.org/archives/xorg-devel/2015-February/045638.html
> > Signed-off-by: Chris Wilson 
> > Cc: Ville Syrjälä 
> 
> Seems sane.
> Reviewed-by: Ville Syrjälä 

To ssh://git.freedesktop.org/git/xorg/xserver
   da69f2f..b7d3929  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] xwayland: Clear pending cursor frame callbacks on pointer enter

2016-02-08 Thread Adam Jackson
On Fri, 2016-02-05 at 07:54 +0800, Jonas Ådahl wrote:
> 
> On Feb 5, 2016 12:53 AM, "Rui Matos"  wrote:
> >
> > The last cursor frame we commited before the pointer left one of our
> > surfaces might not have been shown. In that case we'll have a cursor
> > surface frame callback pending which we need to clear so that we can
> > continue submitting new cursor frames.
> >
> > Signed-off-by: Rui Matos 
> > Reviewed-by: Daniel Stone 
> Reviewed-by: Jonas Ådahl 

To ssh://git.freedesktop.org/git/xorg/xserver
   b7d3929..87d5534  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH xserver] os: unifdef STREAMSCONN

2016-02-08 Thread Adam Jackson
Removed from xtrans in 2012, and never wired up in the modular build
anyway.

Signed-off-by: Adam Jackson 
---
 os/access.c | 17 -
 os/connection.c |  4 ++--
 os/utils.c  |  4 ++--
 os/xdmauth.c|  2 +-
 os/xdmcp.c  | 44 
 5 files changed, 13 insertions(+), 58 deletions(-)

diff --git a/os/access.c b/os/access.c
index 10a48c3..8b2177f 100644
--- a/os/access.c
+++ b/os/access.c
@@ -106,7 +106,7 @@ SOFTWARE.
 #include 
 #endif
 
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 #include 
 #endif  /* TCPCONN || STREAMSCONN */
 
@@ -426,7 +426,7 @@ ifioctl(int fd, int cmd, char *arg)
 void
 DefineSelf(int fd)
 {
-#if !defined(TCPCONN) && !defined(STREAMSCONN) && !defined(UNIXCONN)
+#if !defined(TCPCONN) && !defined(UNIXCONN)
 return;
 #else
 register int n;
@@ -934,11 +934,10 @@ ResetHosts(const char *display)
 char *ptr;
 int i, hostlen;
 
-#if (defined(TCPCONN) || defined(STREAMSCONN) ) && \
- (!defined(IPv6) || !defined(AF_INET6))
+#if defined(TCPCONN) &&  (!defined(IPv6) || !defined(AF_INET6))
 union {
 struct sockaddr sa;
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 struct sockaddr_in in;
 #endif  /* TCPCONN || STREAMSCONN */
 } saddr;
@@ -984,7 +983,7 @@ ResetHosts(const char *display)
 NewHost(family, "", 0, FALSE);
 LocalHostRequested = TRUE;  /* Fix for XFree86 bug #156 */
 }
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 else if (!strncmp("inet:", lhostname, 5)) {
 family = FamilyInternet;
 hostname = ohostname + 5;
@@ -1023,7 +1022,7 @@ ResetHosts(const char *display)
 }
 else
 #endif  /* SECURE_RPC */
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 {
 #if defined(IPv6) && defined(AF_INET6)
 if ((family == FamilyInternet) || (family == FamilyInternet6) 
||
@@ -1441,7 +1440,7 @@ CheckAddr(int family, const void *pAddr, unsigned length)
 int len;
 
 switch (family) {
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 case FamilyInternet:
 if (length == sizeof(struct in_addr))
 len = length;
@@ -1524,7 +1523,7 @@ ConvertAddr(register struct sockaddr *saddr, int *len, 
void **addr)
 case AF_UNIX:
 #endif
 return FamilyLocal;
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 case AF_INET:
 #ifdef WIN32
 if (16777343 == *(long *) &((struct sockaddr_in *) saddr)->sin_addr)
diff --git a/os/connection.c b/os/connection.c
index 2a4fc8d..4c1ba4b 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -82,7 +82,7 @@ SOFTWARE.
 #ifndef WIN32
 #include 
 
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 #include 
 #include 
 #ifdef apollo
@@ -554,7 +554,7 @@ AuthAudit(ClientPtr client, Bool letin,
 #endif
 strlcpy(addr, "local host", sizeof(addr));
 break;
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 case AF_INET:
 snprintf(addr, sizeof(addr), "IP %s",
  inet_ntoa(((struct sockaddr_in *) saddr)->sin_addr));
diff --git a/os/utils.c b/os/utils.c
index ef7a2cc..e48d9f8 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -108,7 +108,7 @@ __stdcall unsigned long GetTickCount(void);
 
 #include  /* for malloc() */
 
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 #ifndef WIN32
 #include 
 #endif
@@ -1069,7 +1069,7 @@ int
 set_font_authorizations(char **authorizations, int *authlen, void *client)
 {
 #define AUTHORIZATION_NAME "hp-hostname-1"
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 static char *result = NULL;
 static char *p = NULL;
 
diff --git a/os/xdmauth.c b/os/xdmauth.c
index 482bc67..cb2e39e 100644
--- a/os/xdmauth.c
+++ b/os/xdmauth.c
@@ -277,7 +277,7 @@ XdmAuthorizationValidate(unsigned char *plain, int length,
 if (_XSERVTransGetPeerAddr(((OsCommPtr) 
xclient->osPrivate)->trans_conn,
, _len, ) == 0
 && _XSERVTransConvertAddress(, _len, ) == 0) {
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#if defined(TCPCONN)
 if (family == FamilyInternet &&
 memcmp((char *) addr, client->client, 4) != 0) {
 free(client);
diff --git a/os/xdmcp.c b/os/xdmcp.c
index dbf43ef..2cb8d76 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -46,12 +46,6 @@
 #include "opaque.h"
 #include "site.h"
 
-#ifdef STREAMSCONN
-#include 
-#include 
-#include 
-#endif
-
 #define XSERV_t
 #define TRANS_SERVER
 #define TRANS_REOPEN
@@ -912,43 +906,6 @@ XdmcpAddAuthorization(ARRAY8Ptr name, ARRAY8Ptr data)
 static void
 get_xdmcp_sock(void)
 {
-#ifdef STREAMSCONN
-

Re: [PATCH kdrive/ephyr v7 5/9] kdrive: add options to set default XKB properties

2016-02-08 Thread Laércio de Sousa
Em 8 de fev de 2016 17:54, "Adam Jackson"  escreveu:
> How are you in a scenario where you can pass these values to Xephyr on
> the command line, but can't modify the udev properties?
Well... What I really mean is a scenario where neither the Linux distro,
nor the keyboard vendor, nor the sysadmin him(her)self provides any udev
rules to set XKB properties.

For example, I know there are some distros that ship a set of default udev
rules to set XKB properties, but not all of them do it (at least the one I
used when I wrote this patch didn't).
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[ANNOUNCE] xorg-server 1.18.1

2016-02-08 Thread Adam Jackson
First release in the 1.18 stable branch. Major themes are bugfixes in
glamor, the modesetting driver, and the Present extension.

Xwayland users may want to apply the following pair of patches in
addition to this release:

https://patchwork.freedesktop.org/patch/72945/raw/
https://patchwork.freedesktop.org/patch/72951/raw/

which combined fix an input issue when hotplugging monitors. Both are
likely to be included in a future release unless testing discovers
further problems.

Adam Jackson (11):
  xnest: Fix needless build dependency on xcb-util-keysyms
  x86emu: Squash a warning
  dmx: Silence lex/yacc-related config parser warnings
  dmx: Silence unused variable warning in dmxcompat
  dmx: Run 'doxygen -u' to upgrade the doxygen config file
  glxproxy: Silence set-but-unused-variable warnings
  glxproxy: Silence shadowed-variable warnings
  os: Failure to remove a non-existent log file is not an error
  glx: Fix GLX_EXT_create_context_es2_profile support
  modesetting: Require sufficiently new libdrm
  xserver 1.18.1

Alan Coopersmith (2):
  modesetting should not reference gbm when it's not defined
  Use unique logfile names when starting server with -displayfd

Arkadiusz Miśkiewicz (1):
  Xorg.wrap: activate libdrm based detection for KMS drivers

Bob Ham (1):
  xserver: Fix configure.ac check for libsystemd/-daemon

Chris Wilson (3):
  present: Requery pending flips with the right sync_flip mode
  present: When cancelling a pending synchronous flip, requeue it
  present: Do not replace Pixmaps on redirected Window on unflip

Dave Airlie (5):
  modesetting: drop platform_dev pointer.
  modesetting: create entities for pci and old probe. (v2)
  glamor: fallback if font is too large for FBO size.
  glamor: store old fonts in double width textures.
  glamor: don't do copy if we have 0 boxes to copy.

Egbert Eich (1):
  kdrive/UnregisterFd: Fix off by one

Eric Anholt (8):
  glamor: Avoid GL errors from mapping with size == 0.
  glamor: Handle GL_OUT_OF_MEMORY when allocating texture images.
  glamor: Fix crashes when the glyph atlas allocation fails.
  glamor: Fix rendering when core font texture allocation fails.
  glamor: Fix assert failures when fallback picture upload alloc fails.
  glamor: Fix segfault in fallback picture uploading.
  glamor: No need to glFlush before destroying a pixmap.
  glamor: Fix copy-like Render operations between 15 and 16 depth.

Jonas Ådahl (1):
  xwayland: Always update the wl_pointer cursor on pointer focus

Julian Pidancet (1):
  x86emu: Correctly handle 0x66 prefix for some instructions

Laércio de Sousa (1):
  systemd-logind.c: don't parse VT settings for non-seat0 X servers

Marek Chalupa (2):
  xwayland: fix memory leaks on error paths in xwl_realize_window
  xwayland: check if creating xwl_output succeeded

Michael Stapelberg (1):
  Also dump passive grabs on XF86LogGrabInfo

Michel Dänzer (3):
  prime: Damage full destination rectangle when we start dirty tracking
  glamor: Disable debugging messages other than GL API errors
  present: Handle wraparound when comparing MSC values

Olivier Fourdan (2):
  xwayland: Do not set root clip when rootless
  xwayland: Update screen size on output removal

Peter Hutterer (1):
  xfree86: fix minor memory leak

Siim Põder (1):
  vfb: add randr support (v2)

Thomas Klausner (2):
  Fix uninitialized variable warnings reported by clang
  Fix build when XSERVER_PLATFORM_BUS is not defined.

Timo Aaltonen (1):
  dri2: Sync i915_pci_ids.h and i965_pci_ids.h from mesa

git tag: xorg-server-1.18.1

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.bz2
MD5:  1b9e85420c3790dd487addd50313f4da  xorg-server-1.18.1.tar.bz2
SHA1: 968fe85773a41296199f8733c7235c8623d7c460  xorg-server-1.18.1.tar.bz2
SHA256: 85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d  
xorg-server-1.18.1.tar.bz2
PGP:  
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.bz2.sig

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.gz
MD5:  1e90a30e28f6c9f9b29fb6f42233e2cf  xorg-server-1.18.1.tar.gz
SHA1: 73009ea90952bcbc790a76020e4c32beff6c9bad  xorg-server-1.18.1.tar.gz
SHA256: 4de4f05c94441ba9f0279ef3e6cc0d399afc2855d961d1aef2c25a9d10271cf9  
xorg-server-1.18.1.tar.gz
PGP:  
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.gz.sig

- ajax

___
xorg-announce mailing list
xorg-announce@lists.x.org
https://lists.x.org/mailman/listinfo/xorg-announce


[ANNOUNCE] xorg-server 1.18.1

2016-02-08 Thread Adam Jackson
First release in the 1.18 stable branch. Major themes are bugfixes in
glamor, the modesetting driver, and the Present extension.

Xwayland users may want to apply the following pair of patches in
addition to this release:

https://patchwork.freedesktop.org/patch/72945/raw/
https://patchwork.freedesktop.org/patch/72951/raw/

which combined fix an input issue when hotplugging monitors. Both are
likely to be included in a future release unless testing discovers
further problems.

Adam Jackson (11):
  xnest: Fix needless build dependency on xcb-util-keysyms
  x86emu: Squash a warning
  dmx: Silence lex/yacc-related config parser warnings
  dmx: Silence unused variable warning in dmxcompat
  dmx: Run 'doxygen -u' to upgrade the doxygen config file
  glxproxy: Silence set-but-unused-variable warnings
  glxproxy: Silence shadowed-variable warnings
  os: Failure to remove a non-existent log file is not an error
  glx: Fix GLX_EXT_create_context_es2_profile support
  modesetting: Require sufficiently new libdrm
  xserver 1.18.1

Alan Coopersmith (2):
  modesetting should not reference gbm when it's not defined
  Use unique logfile names when starting server with -displayfd

Arkadiusz Miśkiewicz (1):
  Xorg.wrap: activate libdrm based detection for KMS drivers

Bob Ham (1):
  xserver: Fix configure.ac check for libsystemd/-daemon

Chris Wilson (3):
  present: Requery pending flips with the right sync_flip mode
  present: When cancelling a pending synchronous flip, requeue it
  present: Do not replace Pixmaps on redirected Window on unflip

Dave Airlie (5):
  modesetting: drop platform_dev pointer.
  modesetting: create entities for pci and old probe. (v2)
  glamor: fallback if font is too large for FBO size.
  glamor: store old fonts in double width textures.
  glamor: don't do copy if we have 0 boxes to copy.

Egbert Eich (1):
  kdrive/UnregisterFd: Fix off by one

Eric Anholt (8):
  glamor: Avoid GL errors from mapping with size == 0.
  glamor: Handle GL_OUT_OF_MEMORY when allocating texture images.
  glamor: Fix crashes when the glyph atlas allocation fails.
  glamor: Fix rendering when core font texture allocation fails.
  glamor: Fix assert failures when fallback picture upload alloc fails.
  glamor: Fix segfault in fallback picture uploading.
  glamor: No need to glFlush before destroying a pixmap.
  glamor: Fix copy-like Render operations between 15 and 16 depth.

Jonas Ådahl (1):
  xwayland: Always update the wl_pointer cursor on pointer focus

Julian Pidancet (1):
  x86emu: Correctly handle 0x66 prefix for some instructions

Laércio de Sousa (1):
  systemd-logind.c: don't parse VT settings for non-seat0 X servers

Marek Chalupa (2):
  xwayland: fix memory leaks on error paths in xwl_realize_window
  xwayland: check if creating xwl_output succeeded

Michael Stapelberg (1):
  Also dump passive grabs on XF86LogGrabInfo

Michel Dänzer (3):
  prime: Damage full destination rectangle when we start dirty tracking
  glamor: Disable debugging messages other than GL API errors
  present: Handle wraparound when comparing MSC values

Olivier Fourdan (2):
  xwayland: Do not set root clip when rootless
  xwayland: Update screen size on output removal

Peter Hutterer (1):
  xfree86: fix minor memory leak

Siim Põder (1):
  vfb: add randr support (v2)

Thomas Klausner (2):
  Fix uninitialized variable warnings reported by clang
  Fix build when XSERVER_PLATFORM_BUS is not defined.

Timo Aaltonen (1):
  dri2: Sync i915_pci_ids.h and i965_pci_ids.h from mesa

git tag: xorg-server-1.18.1

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.bz2
MD5:  1b9e85420c3790dd487addd50313f4da  xorg-server-1.18.1.tar.bz2
SHA1: 968fe85773a41296199f8733c7235c8623d7c460  xorg-server-1.18.1.tar.bz2
SHA256: 85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d  
xorg-server-1.18.1.tar.bz2
PGP:  
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.bz2.sig

http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.gz
MD5:  1e90a30e28f6c9f9b29fb6f42233e2cf  xorg-server-1.18.1.tar.gz
SHA1: 73009ea90952bcbc790a76020e4c32beff6c9bad  xorg-server-1.18.1.tar.gz
SHA256: 4de4f05c94441ba9f0279ef3e6cc0d399afc2855d961d1aef2c25a9d10271cf9  
xorg-server-1.18.1.tar.gz
PGP:  
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.18.1.tar.gz.sig

- ajax

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: [PATCH xserver] os: unifdef STREAMSCONN

2016-02-08 Thread Alan Coopersmith

On 02/ 8/16 02:36 PM, Adam Jackson wrote:

Removed from xtrans in 2012, and never wired up in the modular build
anyway.

Signed-off-by: Adam Jackson 


Reviewed-by: Alan Coopersmith 


--
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel