Re: CVE-1999-0526 Vulnerbility on W2k8 R2

2014-09-23 Thread Duane Fish
Did this help at all?




 From: Duane Fish duanedf...@yahoo.com
To: Alan Coopersmith alan.coopersm...@oracle.com 
Cc: xorg@lists.x.org xorg@lists.x.org 
Sent: Thursday, September 18, 2014 3:35 PM
Subject: Re: CVE-1999-0526 Vulnerbility on W2k8 R2
 


Alan,

I see nothing in the Add/Remove (or what was once called that), Programs, etc.  


Below is what the Vulnerability stated in the ticket I received.  Does this 
help?


===


Vulnerability Scan Results

Vulnerability Name: X Server Unauthenticated Access: Screenshot

Synopsis: The remote X server accepts TCP connections.

Description: The remote X server accepts remote TCP connections. It is possible 
for an attacker to grab a screenshot of the remote host.

Solution: Restrict access to this port by using the 'xhost' command. If the X 
client/server facility is
 not used, disable TCP connections to the X server entirely.

Vulnerability ID Details: Nessus Plugins


  
  
Nessus Plugins
Synopsis : The remote X server accepts TCP connections. Description : The 
remote X server accepts remote TCP connections. It is possible for an attacker 
to grab a screenshot of the remote host.   
View on www.tenable.com Preview by Yahoo  
  





 From: Alan Coopersmith alan.coopersm...@oracle.com
To: Duane Fish duanedf...@yahoo.com 
Cc: xorg@lists.x.org xorg@lists.x.org 
Sent: Wednesday, September 17, 2014 11:19 PM
Subject: Re: CVE-1999-0526 Vulnerbility on W2k8 R2
 

On 09/17/14 08:45 PM, Duane Fish wrote:
 XII is what I was told.

I've never heard of XII.  X11 is version 11 of the X protocol, not an
actual software program.

As noted on https://en.wikipedia.org/wiki/X_Window_System#Implementations
X servers for Microsoft Windows include Cygwin/X, Xming, Exceed, MKS X/Server,
Reflection X, and X-Win32.

Unless you can figure out the actual software being run, there's not much
we can do to help you.  It would be like being told you need to fix
your http program and not knowing if that's Internet Explorer, Firefox,
Chrome, Opera, Safari, or something else.

And if you can't find any signs of any of those programs, then it's most likely
a false alarm from your auditor or vulnerability scanner, when they can't figure
out what software is listening on port 6000, and just make up answers to look
useful when they're not.


-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris
 Engineering - http://blogs.oracle.com/alanc___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: CVE-1999-0526 Vulnerbility on W2k8 R2

2014-09-23 Thread Alan Coopersmith

On 09/23/14 03:59 PM, Duane Fish wrote:

Did this help at all?


Nope - as best we can tell, this is still the most likely answer:


And if you can't find any signs of any of those programs, then it's most likely
a false alarm from your auditor or vulnerability scanner, when they can't figure
out what software is listening on port 6000, and just make up answers to look
useful when they're not.


On the other hand, if you don't know what software is running on your systems,
you have a bigger security problem than any scanner can help with.

--
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s


Re: CVE-1999-0526 Vulnerbility on W2k8 R2

2014-09-23 Thread Duane Fish
It gets scanned by Verizon - they use a pretty good tool for it, so I'm pretty 
sure it's not made up.

I just personally don't know much about the server, as it's not my primary 
responsibility. 


From what I thought I sent, it sounds like MS' own X-Windows that's the 
problem.  


I followed the link in the vulnerability alert (below), and mention of the X 
server brought me to X-Org.  If I am in the wrong place, please let me know.


Nessus Plugins

  
  
Nessus Plugins
Synopsis : The remote X server accepts TCP connections. Description : The 
remote X server accepts remote TCP connections. It is possible for an attacker 
to grab a screenshot of the remote host.   
View on www.tenable.com Preview by Yahoo  
  



 From: Alan Coopersmith alan.coopersm...@oracle.com
To: Duane Fish duanedf...@yahoo.com 
Cc: xorg@lists.x.org xorg@lists.x.org 
Sent: Tuesday, September 23, 2014 6:05 PM
Subject: Re: CVE-1999-0526 Vulnerbility on W2k8 R2
 

On 09/23/14 03:59 PM, Duane Fish wrote:
 Did this help at all?

Nope - as best we can tell, this is still the most likely answer:

 And if you can't find any signs of any of those programs, then it's most 
 likely
 a false alarm from your auditor or vulnerability scanner, when they can't 
 figure
 out what software is listening on port 6000, and just make up answers to look
 useful when they're not.

On the other hand, if you don't know what software is running on your systems,
you have a bigger security problem than any scanner can help with.


-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: CVE-1999-0526 Vulnerbility on W2k8 R2

2014-09-23 Thread Alan Coopersmith

On 09/23/14 04:45 PM, Duane Fish wrote:

It gets scanned by Verizon - they use a pretty good tool for it, so I'm pretty
sure it's not made up.

I just personally don't know much about the server, as it's not my primary
responsibility.

 From what I thought I sent, it sounds like MS' own X-Windows that's the 
problem.


Microsoft doesn't make a version of the X Window System - they instead have
Microsoft Windows, which is completely their implementation, not using our
API, protocol, design, or technology, just a similar name because both involve
putting applications in windows on the screen.


I followed the link in the vulnerability alert (below), and mention of the X
server brought me to X-Org.  If I am in the wrong place, please let me know.


You're probably in the wrong place, which is why I kept suggesting you figure
out what software you're really running.  Xorg software is usually found on
systems running Linux or Unix, not Microsoft Windows.

--
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s


Re: CVE-1999-0526 Vulnerbility on W2k8 R2

2014-09-23 Thread Glynn Clements

Duane Fish wrote:

 I see nothing in the Add/Remove (or what was once called that), Programs, 
 etc.  

[What follows works for me on a Windows 7 system; the details may be
different on your system, but hopefully shouldn't be too different.]

Start a command prompt as administrator, and use the command

netstat -a -n -p tcp -o

That should produce a listing of active connections; you're looking
for an entry like:

  TCP0.0.0.0:6000   0.0.0.0:0  LISTENING   2104

I.e, a TCP socket in the LISTENING state on port 6000 (or possibly a
different value in the range 6000-6010).

The last number (2104 in this case) is the process identifier (PID).

If you don't see such an entry, no X server is running at present.

One may have been bundled as part of another application, and[1] is
started by that application.

[1] Typically, an application which was originally developed for Unix
and has been ported to Windows rather than being re-written; if you
have any applications which don't feel much like Windows
applications, these would be prime suspects.

Start the Task Manager (e.g. Control-Shift-Escape), switch to the
Processes tab, and use the View - Select Columns ... menu option to
add a display column for the PID. Look for the process with the
matching PID. Right click on the entry and choose Open File Location
from the menu. This should allow you to determine the filename of the
executable and the directory which contains it. Hopefully that should
provide some clues as to the source, or at least something to google
for.

Alternatively, you may find TCPView simpler:

http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

-- 
Glynn Clements gl...@gclements.plus.com
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s


Re: F21/F22: xorg-x11-drv: which for SiS?

2014-09-23 Thread Jasper St. Pierre
Seems to exist to me:

http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/

On Mon, Sep 22, 2014 at 9:50 PM, Felix Miata mrma...@earthlink.net wrote:

 xorg-x11-drv-sis seems to have disappeared. Did that happen on purpose? It
 still exists as a selelection in Bugzilla. Xorg is looking for sis module
 but
 cannot find it. Gfxchip here is Z7/Z9 (XG20 core). Is it now supposed to be
 using some other (not installed) driver? Before today's upgrade, X still
 worked.
 --
 The wise are known for their understanding, and pleasant
 words are persuasive. Proverbs 16:21 (New Living Translation)

  Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

 Felix Miata  ***  http://fm.no-ip.com/
 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel




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

Re: F21/F22: xorg-x11-drv: which for SiS?

2014-09-23 Thread Laércio de Sousa
According to
http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/commit/?id=95dc18d4c803988702974635badb391cc50b6a63
,

this package is dead for Fedora 21 and later due to lack of KMS support.

See also:
https://lists.fedoraproject.org/pipermail/devel/2013-August/188429.html


2014-09-23 3:37 GMT-03:00 Jasper St. Pierre jstpie...@mecheye.net:

 Seems to exist to me:

 http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/

 On Mon, Sep 22, 2014 at 9:50 PM, Felix Miata mrma...@earthlink.net
 wrote:

 xorg-x11-drv-sis seems to have disappeared. Did that happen on purpose? It
 still exists as a selelection in Bugzilla. Xorg is looking for sis module
 but
 cannot find it. Gfxchip here is Z7/Z9 (XG20 core). Is it now supposed to
 be
 using some other (not installed) driver? Before today's upgrade, X still
 worked.
 --
 The wise are known for their understanding, and pleasant
 words are persuasive. Proverbs 16:21 (New Living Translation)

  Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

 Felix Miata  ***  http://fm.no-ip.com/
 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel




 --
   Jasper

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




-- 
*Laércio de Sousa*
*Orientador de Informática*
*Escola Municipal Professor Eulálio Gruppi*
*Rua Ismael da Silva Mello, 559, Mogi Moderno*
*Mogi das Cruzes - SPCEP 08717-390*
Telefone: (11) 4726-8313
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

[PATCH 01/18] kdrive: Remove vestigial reference to fbInitValidateTree

2014-09-23 Thread Adam Jackson
Reviewed-by: Keith Packard kei...@keithp.com
Signed-off-by: Adam Jackson a...@redhat.com
---
 hw/kdrive/src/kdrive.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c
index 5dbff3f..dddbe6e 100644
--- a/hw/kdrive/src/kdrive.c
+++ b/hw/kdrive/src/kdrive.c
@@ -909,10 +909,6 @@ KdScreenInit(ScreenPtr pScreen, int argc, char **argv)
 if (!(*card-cfuncs-finishInitScreen) (pScreen))
 return FALSE;
 
-#if 0
-fbInitValidateTree(pScreen);
-#endif
-
 /*
  * Wrap CloseScreen, the order now is:
  *  KdCloseScreen
-- 
1.9.3

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


[PATCH 06/18] mi: Deobfuscate miOverlayWindowExposures

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 mi/mioverlay.c | 40 
 1 file changed, 12 insertions(+), 28 deletions(-)

diff --git a/mi/mioverlay.c b/mi/mioverlay.c
index f894e2b..2ad6bc0 100644
--- a/mi/mioverlay.c
+++ b/mi/mioverlay.c
@@ -983,28 +983,19 @@ miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
 {
 RegionPtr exposures = prgn;
 
-if ((prgn  !RegionNil(prgn)) || (exposures  !RegionNil(exposures))) {
+if (prgn  !RegionNil(prgn)) {
 RegionRec expRec;
-int clientInterested;
-
-clientInterested = (pWin-eventMask | wOtherEventMasks(pWin)) 
-ExposureMask;
-if (clientInterested  exposures 
-(RegionNumRects(exposures)  RECTLIMIT)) {
+int clientInterested =
+(pWin-eventMask | wOtherEventMasks(pWin))  ExposureMask;
+if (clientInterested  (RegionNumRects(prgn)  RECTLIMIT)) {
 ScreenPtr pScreen = pWin-drawable.pScreen;
 miOverlayScreenPtr pPriv = MIOVERLAY_GET_SCREEN_PRIVATE(pScreen);
 BoxRec box;
 
-box = *RegionExtents(exposures);
-if (exposures == prgn) {
-exposures = expRec;
-RegionInit(exposures, box, 1);
-RegionReset(prgn, box);
-}
-else {
-RegionReset(exposures, box);
-RegionUnion(prgn, prgn, exposures);
-}
+box = *RegionExtents(prgn);
+exposures = expRec;
+RegionInit(exposures, box, 1);
+RegionReset(prgn, box);
 /* This is the only reason why we are replacing mi's version
of this file */
 
@@ -1016,21 +1007,14 @@ miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
 else
 RegionIntersect(prgn, prgn, pWin-clipList);
 }
-if (prgn  !RegionNil(prgn))
-miPaintWindow(pWin, prgn, PW_BACKGROUND);
-if (clientInterested  exposures  !RegionNil(exposures))
+miPaintWindow(pWin, prgn, PW_BACKGROUND);
+if (clientInterested)
 miSendExposures(pWin, exposures,
 pWin-drawable.x, pWin-drawable.y);
-if (exposures == expRec) {
+if (exposures == expRec)
 RegionUninit(exposures);
-}
-else if (exposures  exposures != prgn)
-RegionDestroy(exposures);
-if (prgn)
-RegionEmpty(prgn);
+RegionEmpty(prgn);
 }
-else if (exposures  exposures != prgn)
-RegionDestroy(exposures);
 }
 
 typedef struct {
-- 
1.9.3

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


[PATCH 05/18] mi: Deobfuscate miWindowExposures

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 mi/miexpose.c | 41 +++--
 1 file changed, 11 insertions(+), 30 deletions(-)

diff --git a/mi/miexpose.c b/mi/miexpose.c
index 23987fa..de0e148 100644
--- a/mi/miexpose.c
+++ b/mi/miexpose.c
@@ -425,17 +425,11 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
 {
 RegionPtr exposures = prgn;
 
-if ((prgn  !RegionNil(prgn)) || (exposures  !RegionNil(exposures))) {
+if (prgn  !RegionNil(prgn)) {
 RegionRec expRec;
-int clientInterested;
-
-/*
- * Restore from backing-store FIRST.
- */
-clientInterested =
+int clientInterested =
 (pWin-eventMask | wOtherEventMasks(pWin))  ExposureMask;
-if (clientInterested  exposures 
-(RegionNumRects(exposures)  RECTLIMIT)) {
+if (clientInterested  (RegionNumRects(prgn)  RECTLIMIT)) {
 /*
  * If we have LOTS of rectangles, we decide to take the extents
  * and force an exposure on that.  This should require much less
@@ -444,34 +438,21 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
  */
 BoxRec box;
 
-box = *RegionExtents(exposures);
-if (exposures == prgn) {
-exposures = expRec;
-RegionInit(exposures, box, 1);
-RegionReset(prgn, box);
-}
-else {
-RegionReset(exposures, box);
-RegionUnion(prgn, prgn, exposures);
-}
+box = *RegionExtents(prgn);
+exposures = expRec;
+RegionInit(exposures, box, 1);
+RegionReset(prgn, box);
 /* miPaintWindow doesn't clip, so we have to */
 RegionIntersect(prgn, prgn, pWin-clipList);
 }
-if (prgn  !RegionNil(prgn))
-miPaintWindow(pWin, prgn, PW_BACKGROUND);
-if (clientInterested  exposures  !RegionNil(exposures))
+miPaintWindow(pWin, prgn, PW_BACKGROUND);
+if (clientInterested)
 miSendExposures(pWin, exposures,
 pWin-drawable.x, pWin-drawable.y);
-if (exposures == expRec) {
+if (exposures == expRec)
 RegionUninit(exposures);
-}
-else if (exposures  exposures != prgn)
-RegionDestroy(exposures);
-if (prgn)
-RegionEmpty(prgn);
+RegionEmpty(prgn);
 }
-else if (exposures  exposures != prgn)
-RegionDestroy(exposures);
 }
 
 #ifdef ROOTLESS
-- 
1.9.3

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


[PATCH 07/18] mi: Simplify composite border clip redirection interface

2014-09-23 Thread Adam Jackson
There's not really a good reason for mi to not just call the composite
code directly.

Reviewed-by: Keith Packard kei...@keithp.com
Signed-off-by: Adam Jackson a...@redhat.com
---
 composite/compext.c |  3 ---
 mi/mi.h | 11 ---
 mi/mivaltree.c  | 52 +++-
 3 files changed, 19 insertions(+), 47 deletions(-)

diff --git a/composite/compext.c b/composite/compext.c
index cadedbd..fcfc349 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -594,9 +594,6 @@ CompositeExtensionInit(void)
 return;
 CompositeReqCode = (CARD8) extEntry-base;
 
-miRegisterRedirectBorderClipProc(compSetRedirectBorderClip,
- compGetRedirectBorderClip);
-
 /* Initialization succeeded */
 noCompositeExtension = FALSE;
 }
diff --git a/mi/mi.h b/mi/mi.h
index 4b5e862..a4a01b8 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -425,17 +425,6 @@ extern _X_EXPORT int miShapedWindowIn(RegionPtr /*universe 
*/ ,
   int   /*y */
 );
 
-typedef void
- (*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
-
-typedef RegionPtr
- (*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
-
-extern _X_EXPORT void
-
-miRegisterRedirectBorderClipProc(SetRedirectBorderClipProcPtr setBorderClip,
- GetRedirectBorderClipProcPtr getBorderClip);
-
 extern _X_EXPORT int miValidateTree(WindowPtr /*pParent */ ,
 WindowPtr /*pChild */ ,
 VTKind  /*kind */
diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index c1cc431..8e4e9a9 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -99,8 +99,10 @@ Equipment Corporation.
 #includemi.h
 #includeregionstr.h
 #includemivalidate.h
-
 #includeglobals.h
+#ifdef COMPOSITE
+#includecompint.h
+#endif
 
 /*
  * Compute the visibility of a shaped window
@@ -160,17 +162,6 @@ miShapedWindowIn(RegionPtr universe, RegionPtr bounding,
 return rgnOUT;
 }
 
-static GetRedirectBorderClipProcPtr miGetRedirectBorderClipProc;
-static SetRedirectBorderClipProcPtr miSetRedirectBorderClipProc;
-
-void
-miRegisterRedirectBorderClipProc(SetRedirectBorderClipProcPtr setBorderClip,
- GetRedirectBorderClipProcPtr getBorderClip)
-{
-miSetRedirectBorderClipProc = setBorderClip;
-miGetRedirectBorderClipProc = getBorderClip;
-}
-
 /*
  * Manual redirected windows are treated as transparent; they do not obscure
  * siblings or parent windows
@@ -242,11 +233,9 @@ miComputeClips(WindowPtr pParent,
  * In redirected drawing case, reset universe to borderSize
  */
 if (pParent-redirectDraw != RedirectDrawNone) {
-if (miSetRedirectBorderClipProc) {
-if (TreatAsTransparent(pParent))
-RegionEmpty(universe);
-(*miSetRedirectBorderClipProc) (pParent, universe);
-}
+if (TreatAsTransparent(pParent))
+RegionEmpty(universe);
+compSetRedirectBorderClip (pParent, universe);
 RegionCopy(universe, pParent-borderSize);
 }
 #endif
@@ -516,6 +505,17 @@ miTreeObscured(WindowPtr pParent)
 }
 }
 
+static RegionPtr
+getBorderClip(WindowPtr pWin)
+{
+#ifdef COMPOSITE
+if (pWin-redirectDraw != RedirectDrawNone)
+return compGetRedirectBorderClip(pWin);
+else
+#endif
+return pWin-borderClip;
+}
+
 /*
  *---
  * miValidateTree --
@@ -609,14 +609,7 @@ miValidateTree(WindowPtr pParent,   /* Parent to 
validate */
 forward = TRUE;
 for (pWin = pChild; pWin; pWin = pWin-nextSib) {
 if (pWin-valdata) {
-RegionPtr pBorderClip = pWin-borderClip;
-
-#ifdef COMPOSITE
-if (pWin-redirectDraw != RedirectDrawNone 
-miGetRedirectBorderClipProc)
-pBorderClip = (*miGetRedirectBorderClipProc) (pWin);
-#endif
-RegionAppend(totalClip, pBorderClip);
+RegionAppend(totalClip, getBorderClip(pWin));
 if (pWin-viewable)
 viewvals++;
 }
@@ -627,14 +620,7 @@ miValidateTree(WindowPtr pParent,   /* Parent to 
validate */
 pWin = pParent-lastChild;
 while (1) {
 if (pWin-valdata) {
-RegionPtr pBorderClip = pWin-borderClip;
-
-#ifdef COMPOSITE
-if (pWin-redirectDraw != RedirectDrawNone 
-miGetRedirectBorderClipProc)
-pBorderClip = (*miGetRedirectBorderClipProc) (pWin);
-#endif
-RegionAppend(totalClip, pBorderClip);
+RegionAppend(totalClip, getBorderClip(pWin));
 if (pWin-viewable)
 viewvals++;
 }
-- 
1.9.3


[PATCH 04/18] dix: Drop the third argument from WindowExposuresProcPtr

2014-09-23 Thread Adam Jackson
A careful read shows that it was always NULL.  It hasn't always been; as
the DDX spec indicates, it was the occluded region that has backing
store, but since that backing store code is long gone nothing, we can
nuke it.

mi{,Overlay}WindowExposures get slightly simpler here, and will get even
simpler in just a moment.

Signed-off-by: Adam Jackson a...@redhat.com
---
 dix/window.c   |  2 +-
 fb/fboverlay.c |  5 ++---
 fb/fboverlay.h |  4 +---
 hw/dmx/dmxwindow.c |  4 ++--
 hw/dmx/dmxwindow.h |  3 +--
 hw/kdrive/ephyr/ephyr.c|  2 +-
 hw/kdrive/src/kxv.c|  6 +++---
 hw/xfree86/common/xf86xv.c |  6 +++---
 hw/xfree86/dri/dri.c   |  4 ++--
 hw/xfree86/dri/dri.h   |  3 +--
 hw/xnest/Window.c  |  4 ++--
 hw/xnest/XNWindow.h|  3 +--
 include/scrnintstr.h   |  3 +--
 mi/mi.h|  4 +---
 mi/miexpose.c  | 15 +++
 mi/mioverlay.c | 30 --
 mi/miwindow.c  |  4 ++--
 17 files changed, 35 insertions(+), 67 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index f4acdc8..52e69ef 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2601,7 +2601,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
 (*pScreen-PostValidateTree) (NullWindow, pWin, VTMap);
 RegionNull(temp);
 RegionCopy(temp, pWin-clipList);
-(*pScreen-WindowExposures) (pWin, temp, NullRegion);
+(*pScreen-WindowExposures) (pWin, temp);
 RegionUninit(temp);
 }
 
diff --git a/fb/fboverlay.c b/fb/fboverlay.c
index 935bf1b..6a5f0f8 100644
--- a/fb/fboverlay.c
+++ b/fb/fboverlay.c
@@ -240,12 +240,11 @@ fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, 
RegionPtr prgnSrc)
 }
 
 void
-fbOverlayWindowExposures(WindowPtr pWin,
- RegionPtr prgn, RegionPtr other_exposed)
+fbOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
 {
 fbOverlayUpdateLayerRegion(pWin-drawable.pScreen,
fbOverlayWindowLayer(pWin), prgn);
-miWindowExposures(pWin, prgn, other_exposed);
+miWindowExposures(pWin, prgn);
 }
 
 Bool
diff --git a/fb/fboverlay.h b/fb/fboverlay.h
index 57c9873..47727e4 100644
--- a/fb/fboverlay.h
+++ b/fb/fboverlay.h
@@ -82,9 +82,7 @@ extern _X_EXPORT void
  fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
 
 extern _X_EXPORT void
-
-fbOverlayWindowExposures(WindowPtr pWin,
- RegionPtr prgn, RegionPtr other_exposed);
+fbOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn);
 
 extern _X_EXPORT Bool
 
diff --git a/hw/dmx/dmxwindow.c b/hw/dmx/dmxwindow.c
index 1c23527..c753735 100644
--- a/hw/dmx/dmxwindow.c
+++ b/hw/dmx/dmxwindow.c
@@ -772,7 +772,7 @@ dmxWindowExposurePredicate(Display * dpy, XEvent * ev, 
XPointer ptr)
  *  in DMX, the events that are generated by the back-end server are
  *  redundant, so we eat them here. */
 void
-dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn, RegionPtr other_exposed)
+dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn)
 {
 ScreenPtr pScreen = pWindow-drawable.pScreen;
 DMXScreenInfo *dmxScreen = dmxScreens[pScreen-myNum];
@@ -799,7 +799,7 @@ dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn, 
RegionPtr other_exposed)
 
 #if 1
 if (pScreen-WindowExposures)
-pScreen-WindowExposures(pWindow, prgn, other_exposed);
+pScreen-WindowExposures(pWindow, prgn);
 #endif
 DMX_WRAP(WindowExposures, dmxWindowExposures, dmxScreen, pScreen);
 }
diff --git a/hw/dmx/dmxwindow.h b/hw/dmx/dmxwindow.h
index c6b2efe..dda6538 100644
--- a/hw/dmx/dmxwindow.h
+++ b/hw/dmx/dmxwindow.h
@@ -73,8 +73,7 @@ extern Bool dmxChangeWindowAttributes(WindowPtr pWindow, 
unsigned long mask);
 extern Bool dmxRealizeWindow(WindowPtr pWindow);
 extern Bool dmxUnrealizeWindow(WindowPtr pWindow);
 extern void dmxRestackWindow(WindowPtr pWindow, WindowPtr pOldNextSib);
-extern void dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn,
-   RegionPtr other_exposed);
+extern void dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn);
 extern void dmxCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg,
   RegionPtr prgnSrc);
 
diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
index 85d4193..8b88f3e 100644
--- a/hw/kdrive/ephyr/ephyr.c
+++ b/hw/kdrive/ephyr/ephyr.c
@@ -878,7 +878,7 @@ ephyrExposePairedWindow(int a_remote)
 screen = pair-local-drawable.pScreen;
 RegionNull(reg);
 RegionCopy(reg, pair-local-clipList);
-screen-WindowExposures(pair-local, reg, NullRegion);
+screen-WindowExposures(pair-local, reg);
 RegionUninit(reg);
 }
 #endif  /* XF86DRI */
diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c
index f979e1f..163d5c1 100644
--- a/hw/kdrive/src/kxv.c
+++ b/hw/kdrive/src/kxv.c
@@ -86,7 +86,7 @@ static int KdXVQueryImageAttributes(XvPortPtr, XvImagePtr,
 /* 

[PATCH 08/18] mi: Drop plane argument from miHandleExposures

2014-09-23 Thread Adam Jackson
This existed to be passed to the bs recovery routine; since we back all
planes, we don't care.

Signed-off-by: Adam Jackson a...@redhat.com
---
 fb/fbcopy.c  | 2 +-
 glamor/glamor_copy.c | 3 +--
 hw/dmx/dmxgcops.c| 8 
 mi/mi.h  | 3 +--
 mi/mibitblt.c| 5 ++---
 mi/micopy.c  | 3 +--
 mi/miexpose.c| 8 +---
 7 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/fb/fbcopy.c b/fb/fbcopy.c
index 541ef71..5bbabc3 100644
--- a/fb/fbcopy.c
+++ b/fb/fbcopy.c
@@ -271,5 +271,5 @@ fbCopyPlane(DrawablePtr pSrcDrawable,
 else
 return miHandleExposures(pSrcDrawable, pDstDrawable, pGC,
  xIn, yIn,
- widthSrc, heightSrc, xOut, yOut, bitplane);
+ widthSrc, heightSrc, xOut, yOut);
 }
diff --git a/glamor/glamor_copy.c b/glamor/glamor_copy.c
index 6f422d4..3320935 100644
--- a/glamor/glamor_copy.c
+++ b/glamor/glamor_copy.c
@@ -677,8 +677,7 @@ glamor_copy_plane(DrawablePtr src, DrawablePtr dst, GCPtr 
gc,
 {
 if ((bitplane  FbFullMask(src-depth)) == 0)
 return miHandleExposures(src, dst, gc,
- srcx, srcy, width, height, dstx, dsty,
- bitplane);
+ srcx, srcy, width, height, dstx, dsty);
 return miDoCopy(src, dst, gc,
 srcx, srcy, width, height,
 dstx, dsty, glamor_copy, bitplane, NULL);
diff --git a/hw/dmx/dmxgcops.c b/hw/dmx/dmxgcops.c
index aa7c8eb..0ebd69a 100644
--- a/hw/dmx/dmxgcops.c
+++ b/hw/dmx/dmxgcops.c
@@ -179,7 +179,7 @@ dmxCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
 
 if (DMX_GCOPS_OFFSCREEN(pSrc) || DMX_GCOPS_OFFSCREEN(pDst))
 return miHandleExposures(pSrc, pDst, pGC, srcx, srcy, w, h,
- dstx, dsty, 0L);
+ dstx, dsty);
 
 DMX_GCOPS_SET_DRAWABLE(pSrc, srcDraw);
 DMX_GCOPS_SET_DRAWABLE(pDst, dstDraw);
@@ -188,7 +188,7 @@ dmxCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
   srcx, srcy, w, h, dstx, dsty);
 dmxSync(dmxScreen, FALSE);
 
-return miHandleExposures(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty, 
0L);
+return miHandleExposures(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
 }
 
 /** Copy plane number \a bitPlane from \a pSrc drawable to \a pDst
@@ -206,7 +206,7 @@ dmxCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
 
 if (DMX_GCOPS_OFFSCREEN(pSrc) || DMX_GCOPS_OFFSCREEN(pDst))
 return miHandleExposures(pSrc, pDst, pGC, srcx, srcy, width, height,
- dstx, dsty, bitPlane);
+ dstx, dsty);
 
 DMX_GCOPS_SET_DRAWABLE(pSrc, srcDraw);
 DMX_GCOPS_SET_DRAWABLE(pDst, dstDraw);
@@ -216,7 +216,7 @@ dmxCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
 dmxSync(dmxScreen, FALSE);
 
 return miHandleExposures(pSrc, pDst, pGC, srcx, srcy, width, height,
- dstx, dsty, bitPlane);
+ dstx, dsty);
 }
 
 /** Render list of points, \a pptInit in \a pDrawable on the back-end
diff --git a/mi/mi.h b/mi/mi.h
index a4a01b8..700bb11 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -229,8 +229,7 @@ extern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr 
/*pSrcDrawable */ ,
  int /*width */ ,
  int /*height */ ,
  int /*dstx */ ,
- int /*dsty */ ,
- unsigned long  /*plane */
+ int /*dsty */
 );
 
 extern _X_EXPORT void miSendGraphicsExpose(ClientPtr /*client */ ,
diff --git a/mi/mibitblt.c b/mi/mibitblt.c
index 3ed4ed1..08bd1c5 100644
--- a/mi/mibitblt.c
+++ b/mi/mibitblt.c
@@ -242,8 +242,7 @@ miCopyArea(DrawablePtr pSrcDrawable,
 }
 }
 prgnExposed = miHandleExposures(pSrcDrawable, pDstDrawable, pGC, xIn, yIn,
-widthSrc, heightSrc, xOut, yOut,
-(unsigned long) 0);
+widthSrc, heightSrc, xOut, yOut);
 if (realSrcClip)
 RegionDestroy(prgnSrcClip);
 
@@ -579,7 +578,7 @@ miCopyPlane(DrawablePtr pSrcDrawable,
 }
 }
 prgnExposed = miHandleExposures(pSrcDrawable, pDstDrawable, pGC, srcx, 
srcy,
-width, height, dstx, dsty, bitPlane);
+width, height, dstx, dsty);
 RegionDestroy(prgnSrc);
 return prgnExposed;
 }
diff --git a/mi/micopy.c b/mi/micopy.c
index 3079511..a52b0a7 100644
--- a/mi/micopy.c
+++ b/mi/micopy.c
@@ -304,8 +304,7 @@ miDoCopy(DrawablePtr pSrcDrawable,
 yIn - pSrcDrawable-y,

[PATCH 14/18] dix: Remove an empty if

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 dix/window.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index e1645c3..e49670a 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2806,8 +2806,6 @@ UnmapSubwindows(WindowPtr pWin)
 pChild-mapped = FALSE;
 if (pChild-realized)
 UnrealizeTree(pChild, FALSE);
-if (wasViewable) {
-}
 }
 }
 if (wasViewable) {
-- 
1.9.3

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


[PATCH 09/18] mi: Move pScreen-SendGraphicsExpose up to dix

2014-09-23 Thread Adam Jackson
No DDX is overriding this and it's fairly absurd to expose it as a
screen operation anyway.

Signed-off-by: Adam Jackson a...@redhat.com
---
 Xext/panoramiXprocs.c | 10 --
 dix/dispatch.c| 52 +++
 include/dix.h |  6 ++
 include/scrnintstr.h  |  7 ---
 mi/mi.h   |  7 ---
 mi/miexpose.c | 47 --
 mi/miscrinit.c|  1 -
 7 files changed, 58 insertions(+), 72 deletions(-)

diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c
index 83a2e08..aa3859f 100644
--- a/Xext/panoramiXprocs.c
+++ b/Xext/panoramiXprocs.c
@@ -1193,9 +1193,8 @@ PanoramiXCopyArea(ClientPtr client)
 Bool overlap;
 
 RegionValidate(totalReg, overlap);
-(*pDst-pScreen-SendGraphicsExpose) (client, totalReg,
-  stuff-dstDrawable,
-  X_CopyArea, 0);
+SendGraphicsExpose(client, totalReg, stuff-dstDrawable,
+   X_CopyArea, 0);
 RegionUninit(totalReg);
 }
 }
@@ -1306,9 +1305,8 @@ PanoramiXCopyPlane(ClientPtr client)
 Bool overlap;
 
 RegionValidate(totalReg, overlap);
-(*pdstDraw-pScreen-SendGraphicsExpose) (client, totalReg,
-  stuff-dstDrawable,
-  X_CopyPlane, 0);
+SendGraphicsExpose(client, totalReg, stuff-dstDrawable,
+   X_CopyPlane, 0);
 RegionUninit(totalReg);
 }
 
diff --git a/dix/dispatch.c b/dix/dispatch.c
index f7a08f8..74abecd 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -1597,6 +1597,52 @@ ProcClearToBackground(ClientPtr client)
 return Success;
 }
 
+/* send GraphicsExpose events, or a NoExpose event, based on the region */
+void
+SendGraphicsExpose(ClientPtr client, RegionPtr pRgn, XID drawable,
+ int major, int minor)
+{
+if (pRgn  !RegionNil(pRgn)) {
+xEvent *pEvent;
+xEvent *pe;
+BoxPtr pBox;
+int i;
+int numRects;
+
+numRects = RegionNumRects(pRgn);
+pBox = RegionRects(pRgn);
+if (!(pEvent = calloc(numRects, sizeof(xEvent
+return;
+pe = pEvent;
+
+for (i = 1; i = numRects; i++, pe++, pBox++) {
+pe-u.u.type = GraphicsExpose;
+pe-u.graphicsExposure.drawable = drawable;
+pe-u.graphicsExposure.x = pBox-x1;
+pe-u.graphicsExposure.y = pBox-y1;
+pe-u.graphicsExposure.width = pBox-x2 - pBox-x1;
+pe-u.graphicsExposure.height = pBox-y2 - pBox-y1;
+pe-u.graphicsExposure.count = numRects - i;
+pe-u.graphicsExposure.majorEvent = major;
+pe-u.graphicsExposure.minorEvent = minor;
+}
+/* GraphicsExpose is a critical event, which TryClientEvents
+ * handles specially. */
+TryClientEvents(client, NULL, pEvent, numRects,
+(Mask) 0, NoEventMask, NullGrab);
+free(pEvent);
+}
+else {
+xEvent event = {
+.u.noExposure.drawable = drawable,
+.u.noExposure.majorEvent = major,
+.u.noExposure.minorEvent = minor
+};
+event.u.u.type = NoExpose;
+WriteEventsToClient(client, 1, event);
+}
+}
+
 int
 ProcCopyArea(ClientPtr client)
 {
@@ -1628,8 +1674,7 @@ ProcCopyArea(ClientPtr client)
   stuff-width, stuff-height,
   stuff-dstX, stuff-dstY);
 if (pGC-graphicsExposures) {
-(*pDst-pScreen-SendGraphicsExpose)
-(client, pRgn, stuff-dstDrawable, X_CopyArea, 0);
+SendGraphicsExpose(client, pRgn, stuff-dstDrawable, X_CopyArea, 0);
 if (pRgn)
 RegionDestroy(pRgn);
 }
@@ -1676,8 +1721,7 @@ ProcCopyPlane(ClientPtr client)
 stuff-srcY, stuff-width, stuff-height,
 stuff-dstX, stuff-dstY, stuff-bitPlane);
 if (pGC-graphicsExposures) {
-(*pdstDraw-pScreen-SendGraphicsExpose)
-(client, pRgn, stuff-dstDrawable, X_CopyPlane, 0);
+SendGraphicsExpose(client, pRgn, stuff-dstDrawable, X_CopyPlane, 0);
 if (pRgn)
 RegionDestroy(pRgn);
 }
diff --git a/include/dix.h b/include/dix.h
index 61ecc8d..116da2e 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -254,6 +254,12 @@ extern _X_EXPORT void ClientWakeup(ClientPtr /*client */ );
 
 extern _X_EXPORT Bool ClientIsAsleep(ClientPtr /*client */ );
 
+extern _X_EXPORT void SendGraphicsExpose(ClientPtr /*client */ ,
+ RegionPtr /*pRgn */ ,
+ XID /*drawable */ ,
+ int /*major */ ,
+

[PATCH 13/18] dix: Lower backStorage to a bit instead of a pointer

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 composite/compinit.c | 4 ++--
 dix/window.c | 2 +-
 include/windowstr.h  | 2 +-
 mi/miexpose.c| 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/composite/compinit.c b/composite/compinit.c
index 48e938f..111c16e 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -119,12 +119,12 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long 
mask)
 pScreen-backingStoreSupport != NotUseful) {
 if (pWin-backingStore != NotUseful  !pWin-backStorage) {
 compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
-pWin-backStorage = (void *) (intptr_t) 1;
+pWin-backStorage = TRUE;
 }
 else if (pWin-backingStore == NotUseful  pWin-backStorage) {
 compUnredirectWindow(serverClient, pWin,
  CompositeRedirectAutomatic);
-pWin-backStorage = NULL;
+pWin-backStorage = FALSE;
 }
 }
 
diff --git a/dix/window.c b/dix/window.c
index f227e4c..e1645c3 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -362,7 +362,7 @@ SetWindowToDefaults(WindowPtr pWin)
 pWin-cursorIsNone = TRUE;
 
 pWin-backingStore = NotUseful;
-pWin-backStorage = (void *) NULL;
+pWin-backStorage = 0;
 
 pWin-mapped = FALSE;   /* off */
 pWin-realized = FALSE; /* off */
diff --git a/include/windowstr.h b/include/windowstr.h
index 81f5f8c..740f4a6 100644
--- a/include/windowstr.h
+++ b/include/windowstr.h
@@ -144,12 +144,12 @@ typedef struct _Window {
 Mask eventMask; /* mask from the creating client */
 PixUnion background;
 PixUnion border;
-void *backStorage;  /* null when BS disabled */
 WindowOptPtr optional;
 unsigned backgroundState:2; /* None, Relative, Pixel, Pixmap */
 unsigned borderIsPixel:1;
 unsigned cursorIsNone:1;/* else real cursor (might inherit) */
 unsigned backingStore:2;
+unsigned backStorage:1; /* if bs is allocated */
 unsigned saveUnder:1;
 unsigned bitGravity:4;
 unsigned winGravity:4;
diff --git a/mi/miexpose.c b/mi/miexpose.c
index 555f3b2..de8ee6c 100644
--- a/mi/miexpose.c
+++ b/mi/miexpose.c
@@ -143,7 +143,7 @@ miHandleExposures(DrawablePtr pSrcDrawable, DrawablePtr 
pDstDrawable,
 if (!pGC-graphicsExposures 
 (pDstDrawable-type == DRAWABLE_PIXMAP) 
 ((pSrcDrawable-type == DRAWABLE_PIXMAP) ||
- (((WindowPtr) pSrcDrawable)-backStorage == NULL)))
+ (((WindowPtr) pSrcDrawable)-backStorage == 0)))
 return NULL;
 
 srcBox.x1 = srcx;
-- 
1.9.3

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


[PATCH 03/18] rootless: remove redundant RootlessShapedWindowIn

2014-09-23 Thread Adam Jackson
miShapedWindowIn is identical.  Which you would expect, since neither
one takes an actual WindowPtr argument, so they couldn't possibly make
reference to rootlessness.

Signed-off-by: Adam Jackson a...@redhat.com
---
 miext/rootless/rootlessValTree.c | 65 ++--
 1 file changed, 3 insertions(+), 62 deletions(-)

diff --git a/miext/rootless/rootlessValTree.c b/miext/rootless/rootlessValTree.c
index 730d291..c7c2c99 100644
--- a/miext/rootless/rootlessValTree.c
+++ b/miext/rootless/rootlessValTree.c
@@ -106,64 +106,6 @@ Equipment Corporation.
 
 int RootlessMiValidateTree(WindowPtr pRoot, WindowPtr pChild, VTKind kind);
 
-/*
- * Compute the visibility of a shaped window
- */
-static int
-RootlessShapedWindowIn(RegionPtr universe,
-   RegionPtr bounding, BoxPtr rect, int x, int y)
-{
-BoxRec box;
-register BoxPtr boundBox;
-int nbox;
-Bool someIn, someOut;
-register int t, x1, y1, x2, y2;
-
-nbox = RegionNumRects(bounding);
-boundBox = RegionRects(bounding);
-someIn = someOut = FALSE;
-x1 = rect-x1;
-y1 = rect-y1;
-x2 = rect-x2;
-y2 = rect-y2;
-while (nbox--) {
-if ((t = boundBox-x1 + x)  x1)
-t = x1;
-box.x1 = t;
-if ((t = boundBox-y1 + y)  y1)
-t = y1;
-box.y1 = t;
-if ((t = boundBox-x2 + x)  x2)
-t = x2;
-box.x2 = t;
-if ((t = boundBox-y2 + y)  y2)
-t = y2;
-box.y2 = t;
-if (box.x1  box.x2)
-box.x2 = box.x1;
-if (box.y1  box.y2)
-box.y2 = box.y1;
-switch (RegionContainsRect(universe, box)) {
-case rgnIN:
-if (someOut)
-return rgnPART;
-someIn = TRUE;
-break;
-case rgnOUT:
-if (someIn)
-return rgnPART;
-someOut = TRUE;
-break;
-default:
-return rgnPART;
-}
-boundBox++;
-}
-if (someIn)
-return rgnIN;
-return rgnOUT;
-}
-
 #define HasParentRelativeBorder(w) (!(w)-borderIsPixel  \
HasBorder(w)  \
(w)-backgroundState == ParentRelative)
@@ -229,10 +171,9 @@ RootlessComputeClips(WindowPtr pParent, ScreenPtr pScreen,
 RegionPtr pBounding;
 
 if ((pBounding = wBoundingShape(pParent))) {
-switch (RootlessShapedWindowIn(universe,
-   pBounding, borderSize,
-   pParent-drawable.x,
-   pParent-drawable.y)) {
+switch (miShapedWindowIn(universe, pBounding, borderSize,
+ pParent-drawable.x,
+ pParent-drawable.y)) {
 case rgnIN:
 newVis = VisibilityUnobscured;
 break;
-- 
1.9.3

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


[PATCH 02/18] xquartz: Remove useless DRIWindowExposures

2014-09-23 Thread Adam Jackson
Reviewed-by: Keith Packard kei...@keithp.com
Signed-off-by: Adam Jackson a...@redhat.com
---
 hw/xquartz/xpr/dri.c | 21 -
 hw/xquartz/xpr/dri.h |  4 
 2 files changed, 25 deletions(-)

diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
index 0f19047..565d94f 100644
--- a/hw/xquartz/xpr/dri.c
+++ b/hw/xquartz/xpr/dri.c
@@ -138,9 +138,6 @@ DRIFinishScreenInit(ScreenPtr pScreen)
 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
 
 /* Wrap DRI support */
-pDRIPriv-wrap.WindowExposures = pScreen-WindowExposures;
-pScreen-WindowExposures = DRIWindowExposures;
-
 pDRIPriv-wrap.CopyWindow = pScreen-CopyWindow;
 pScreen-CopyWindow = DRICopyWindow;
 
@@ -577,24 +574,6 @@ DRIDrawablePrivDelete(void *pResource, XID id)
 }
 
 void
-DRIWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr bsreg)
-{
-ScreenPtr pScreen = pWin-drawable.pScreen;
-DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
-DRIDrawablePrivPtr pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin);
-
-if (pDRIDrawablePriv) {
-/* FIXME: something? */
-}
-
-pScreen-WindowExposures = pDRIPriv-wrap.WindowExposures;
-
-(*pScreen-WindowExposures)(pWin, prgn, bsreg);
-
-pScreen-WindowExposures = DRIWindowExposures;
-}
-
-void
 DRICopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
 {
 ScreenPtr pScreen = pWin-drawable.pScreen;
diff --git a/hw/xquartz/xpr/dri.h b/hw/xquartz/xpr/dri.h
index 4476b06..a4400a2 100644
--- a/hw/xquartz/xpr/dri.h
+++ b/hw/xquartz/xpr/dri.h
@@ -51,7 +51,6 @@ typedef void (*ClipNotifyPtr)(WindowPtr, int, int);
  * overridden by the driver in its [driver]DRIScreenInit function.
  */
 typedef struct {
-WindowExposuresProcPtr WindowExposures;
 CopyWindowProcPtr CopyWindow;
 ClipNotifyProcPtr ClipNotify;
 } DRIWrappedFuncsRec, *DRIWrappedFuncsPtr;
@@ -109,9 +108,6 @@ extern void
 DRIClipNotify(WindowPtr pWin, int dx, int dy);
 
 extern void
-DRIWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr bsreg);
-
-extern void
 DRISurfaceNotify(xp_surface_id id, int kind);
 
 extern void
-- 
1.9.3

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


[PATCH 11/18] mi: Rewrite a conditional chain to be a bit more obvious

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 mi/mivaltree.c | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index b1caec9..1b68739 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -648,17 +648,15 @@ miValidateTree(WindowPtr pParent,   /* Parent to 
validate */
 }
 
 for (pWin = pChild; pWin != NullWindow; pWin = pWin-nextSib) {
-if (pWin-viewable) {
-if (pWin-valdata) {
+if (pWin-valdata) {
+if (pWin-viewable) {
 RegionIntersect(childClip, totalClip, pWin-borderSize);
 miComputeClips(pWin, pScreen, childClip, kind, exposed);
 if (overlap  !TreatAsTransparent(pWin)) {
 RegionSubtract(totalClip, totalClip, pWin-borderSize);
 }
 }
-}
-else {
-if (pWin-valdata) {
+else {
 RegionEmpty(pWin-clipList);
 if (pScreen-ClipNotify)
 (*pScreen-ClipNotify) (pWin, 0, 0);
-- 
1.9.3

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


[PATCH 00/18] Misc exposure/validation cleanups, v2

2014-09-23 Thread Adam Jackson
This series no longer has the spontaneous combustion removal.  5 and 6 are
instead just propagating through the 'exposures = prgn' bit of the logic.
It also no longer has the doVisibilityNotify refactor, since in 10 we
discover that the second path can't actually get hit so there's no reason
to factor it out.

The rest from 11 to 18 are new, and hopefully boringly correct.

- ajax

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


[PATCH 15/18] dix: Remove some pointless casting of NULL

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 dix/window.c | 23 ++-
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index e49670a..295038a 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -357,8 +357,8 @@ SetWindowToDefaults(WindowPtr pWin)
 pWin-firstChild = NullWindow;
 pWin-lastChild = NullWindow;
 
-pWin-valdata = (ValidatePtr) NULL;
-pWin-optional = (WindowOptPtr) NULL;
+pWin-valdata = NULL;
+pWin-optional = NULL;
 pWin-cursorIsNone = TRUE;
 
 pWin-backingStore = NotUseful;
@@ -1550,7 +1550,7 @@ MoveWindowInStack(WindowPtr pWin, WindowPtr pNextSib)
 if (pWin-prevSib)
 pWin-prevSib-nextSib = pWin-nextSib;
 pWin-nextSib = pParent-firstChild;
-pWin-prevSib = (WindowPtr) NULL;
+pWin-prevSib = NULL;
 pNextSib-prevSib = pWin;
 pParent-firstChild = pWin;
 }
@@ -1847,7 +1847,7 @@ WindowExtents(WindowPtr pWin, BoxPtr pBox)
 return pBox;
 }
 
-#define IS_SHAPED(pWin)(wBoundingShape (pWin) != (RegionPtr) NULL)
+#define IS_SHAPED(pWin)(wBoundingShape (pWin) != NULL)
 
 static RegionPtr
 MakeBoundingRegion(WindowPtr pWin, BoxPtr pBox)
@@ -1953,7 +1953,7 @@ WhereDoIGoInTheStack(WindowPtr pWin,
 WindowPtr pHead, pFirst;
 
 if ((pWin == pWin-parent-firstChild)  (pWin == 
pWin-parent-lastChild))
-return ((WindowPtr) NULL);
+return NULL;
 pHead = RealChildHead(pWin-parent);
 pFirst = pHead ? pHead-nextSib : pWin-parent-firstChild;
 box.x1 = x;
@@ -2644,8 +2644,7 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
 RealizeTree(pWin);
 if (pWin-viewable) {
 anyMarked |= (*pScreen-MarkOverlappedWindows) (pWin, pWin,
-(WindowPtr
- *) NULL);
+NULL);
 }
 }
 }
@@ -2655,8 +2654,7 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
 pLayerWin = (*pScreen-GetLayerWindow) (pParent);
 if (pLayerWin-parent != pParent) {
 anyMarked |= (*pScreen-MarkOverlappedWindows) (pLayerWin,
-pLayerWin,
-(WindowPtr *) 
NULL);
+pLayerWin, NULL);
 pFirstMapped = pLayerWin;
 }
 if (anyMarked) {
@@ -2815,8 +2813,7 @@ UnmapSubwindows(WindowPtr pWin)
 else {
 WindowPtr ptmp;
 
-(*pScreen-MarkOverlappedWindows) (pWin, pLayerWin,
-   (WindowPtr *) NULL);
+(*pScreen-MarkOverlappedWindows) (pWin, pLayerWin, NULL);
 (*pScreen-MarkWindow) (pLayerWin-parent);
 
 /* Windows between pWin and pLayerWin may not have been marked 
*/
@@ -2875,7 +2872,7 @@ HandleSaveSet(ClientPtr client)
 }
 free(client-saveSet);
 client-numSaved = 0;
-client-saveSet = (SaveSetElt *) NULL;
+client-saveSet = NULL;
 }
 
 /**
@@ -3591,7 +3588,7 @@ SetRootClip(ScreenPtr pScreen, Bool enable)
 if (pWin-firstChild) {
 anyMarked |= (*pScreen-MarkOverlappedWindows) (pWin-firstChild,
 pWin-firstChild,
-(WindowPtr *) 
NULL);
+NULL);
 }
 else {
 (*pScreen-MarkWindow) (pWin);
-- 
1.9.3

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


[PATCH 18/18] fb: fb{Map,Unmap}Window - fb{Realize,Unrealize}Window

2014-09-23 Thread Adam Jackson
Make the function names match the screen slot name.

Signed-off-by: Adam Jackson a...@redhat.com
---
 fb/fb.h| 4 ++--
 fb/fbscreen.c  | 4 ++--
 fb/fbwindow.c  | 4 ++--
 fb/wfbrename.h | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fb/fb.h b/fb/fb.h
index 9057767..d176bb3 100644
--- a/fb/fb.h
+++ b/fb/fb.h
@@ -1621,13 +1621,13 @@ extern _X_EXPORT Bool
  fbDestroyWindow(WindowPtr pWin);
 
 extern _X_EXPORT Bool
- fbMapWindow(WindowPtr pWindow);
+ fbRealizeWindow(WindowPtr pWindow);
 
 extern _X_EXPORT Bool
  fbPositionWindow(WindowPtr pWin, int x, int y);
 
 extern _X_EXPORT Bool
- fbUnmapWindow(WindowPtr pWindow);
+ fbUnrealizeWindow(WindowPtr pWindow);
 
 extern _X_EXPORT void
 
diff --git a/fb/fbscreen.c b/fb/fbscreen.c
index 0d4d87f..71bcc5d 100644
--- a/fb/fbscreen.c
+++ b/fb/fbscreen.c
@@ -110,8 +110,8 @@ fbSetupScreen(ScreenPtr pScreen, void *pbits, /* pointer to 
screen bitmap */
 pScreen-DestroyWindow = fbDestroyWindow;
 pScreen-PositionWindow = fbPositionWindow;
 pScreen-ChangeWindowAttributes = fbChangeWindowAttributes;
-pScreen-RealizeWindow = fbMapWindow;
-pScreen-UnrealizeWindow = fbUnmapWindow;
+pScreen-RealizeWindow = fbRealizeWindow;
+pScreen-UnrealizeWindow = fbUnrealizeWindow;
 pScreen-CopyWindow = fbCopyWindow;
 pScreen-CreatePixmap = fbCreatePixmap;
 pScreen-DestroyPixmap = fbDestroyPixmap;
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index c90175f..7a5fac8 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -46,7 +46,7 @@ fbDestroyWindow(WindowPtr pWin)
 }
 
 Bool
-fbMapWindow(WindowPtr pWindow)
+fbRealizeWindow(WindowPtr pWindow)
 {
 return TRUE;
 }
@@ -58,7 +58,7 @@ fbPositionWindow(WindowPtr pWin, int x, int y)
 }
 
 Bool
-fbUnmapWindow(WindowPtr pWindow)
+fbUnrealizeWindow(WindowPtr pWindow)
 {
 return TRUE;
 }
diff --git a/fb/wfbrename.h b/fb/wfbrename.h
index 54d00d0..749c6d0 100644
--- a/fb/wfbrename.h
+++ b/fb/wfbrename.h
@@ -88,7 +88,6 @@
 #define fbInstallColormap wfbInstallColormap
 #define fbLaneTable wfbLaneTable
 #define fbListInstalledColormaps wfbListInstalledColormaps
-#define fbMapWindow wfbMapWindow
 #define FbMergeRopBits wFbMergeRopBits
 #define fbOddStipple wfbOddStipple
 #define fbOddTile wfbOddTile
@@ -134,6 +133,7 @@
 #define fbQueryBestSize wfbQueryBestSize
 #define fbRasterizeTrapezoid wfbRasterizeTrapezoid
 #define fbRealizeFont wfbRealizeFont
+#define fbRealizeWindow wfbRealizeWindow
 #define fbReduceRasterOp wfbReduceRasterOp
 #define fbReplicatePixel wfbReplicatePixel
 #define fbResolveColor wfbResolveColor
@@ -160,7 +160,7 @@
 #define fbTrapezoids wfbTrapezoids
 #define fbTriangles wfbTriangles
 #define fbUninstallColormap wfbUninstallColormap
-#define fbUnmapWindow wfbUnmapWindow
+#define fbUnrealizeWindow wfbUnrealizeWindow
 #define fbUnrealizeFont wfbUnrealizeFont
 #define fbValidateGC wfbValidateGC
 #define fbWinPrivateKeyRec wfbWinPrivateKeyRec
-- 
1.9.3

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


[PATCH 12/18] dix: Remove DIXsaveUnder bit from the Window

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 dix/window.c| 1 -
 include/windowstr.h | 1 -
 2 files changed, 2 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index 52e69ef..f227e4c 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -362,7 +362,6 @@ SetWindowToDefaults(WindowPtr pWin)
 pWin-cursorIsNone = TRUE;
 
 pWin-backingStore = NotUseful;
-pWin-DIXsaveUnder = FALSE;
 pWin-backStorage = (void *) NULL;
 
 pWin-mapped = FALSE;   /* off */
diff --git a/include/windowstr.h b/include/windowstr.h
index 6b79bbd..81f5f8c 100644
--- a/include/windowstr.h
+++ b/include/windowstr.h
@@ -151,7 +151,6 @@ typedef struct _Window {
 unsigned cursorIsNone:1;/* else real cursor (might inherit) */
 unsigned backingStore:2;
 unsigned saveUnder:1;
-unsigned DIXsaveUnder:1;
 unsigned bitGravity:4;
 unsigned winGravity:4;
 unsigned overrideRedirect:1;
-- 
1.9.3

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


[PATCH 16/18] dix: Remove an obfuscatory macro

2014-09-23 Thread Adam Jackson
Signed-off-by: Adam Jackson a...@redhat.com
---
 dix/window.c | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/dix/window.c b/dix/window.c
index 295038a..7a2866a 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -1812,8 +1812,6 @@ ResizeChildrenWinSize(WindowPtr pWin, int dx, int dy, int 
dw, int dh)
 
 #define ChangeMask ((Mask)(CWX | CWY | CWWidth | CWHeight))
 
-#define IllegalInputOnlyConfigureMask (CWBorderWidth)
-
 /*
  * IsSiblingAboveMe
  * returns Above if pSib above pMe in stack or Below otherwise 
@@ -2091,8 +2089,7 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, 
ClientPtr client)
 h = pWin-drawable.height, bw = pWin-borderWidth;
 int rc, action, smode = Above;
 
-if ((pWin-drawable.class == InputOnly) 
-(mask  IllegalInputOnlyConfigureMask))
+if ((pWin-drawable.class == InputOnly)  (mask  CWBorderWidth))
 return BadMatch;
 
 if ((mask  CWSibling)  !(mask  CWStackMode))
-- 
1.9.3

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


[PATCH 17/18] mi: miSlideAndSizeWindow - miResizeWindow

2014-09-23 Thread Adam Jackson
Make the function name match the screen slot name.

Signed-off-by: Adam Jackson a...@redhat.com
---
 mi/mi.h| 12 ++--
 mi/miscrinit.c |  2 +-
 mi/miwindow.c  |  5 ++---
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/mi/mi.h b/mi/mi.h
index 8cb3ce7..5a455c9 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -470,12 +470,12 @@ extern _X_EXPORT void miMoveWindow(WindowPtr /*pWin */ ,
VTKind   /*kind */
 );
 
-extern _X_EXPORT void miSlideAndSizeWindow(WindowPtr /*pWin */ ,
-   int /*x */ ,
-   int /*y */ ,
-   unsigned int /*w */ ,
-   unsigned int /*h */ ,
-   WindowPtr/*pSib */
+extern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ ,
+ int /*x */ ,
+ int /*y */ ,
+ unsigned int /*w */ ,
+ unsigned int /*h */ ,
+ WindowPtr/*pSib */
 );
 
 extern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr   /*pWin */
diff --git a/mi/miscrinit.c b/mi/miscrinit.c
index ec4d108..327bd15 100644
--- a/mi/miscrinit.c
+++ b/mi/miscrinit.c
@@ -264,7 +264,7 @@ miScreenInit(ScreenPtr pScreen, void *pbits,  /* pointer to 
screen bits */
 pScreen-MarkWindow = miMarkWindow;
 pScreen-MarkOverlappedWindows = miMarkOverlappedWindows;
 pScreen-MoveWindow = miMoveWindow;
-pScreen-ResizeWindow = miSlideAndSizeWindow;
+pScreen-ResizeWindow = miResizeWindow;
 pScreen-GetLayerWindow = miGetLayerWindow;
 pScreen-HandleExposures = miHandleValidateExposures;
 pScreen-ReparentWindow = (ReparentWindowProcPtr) 0;
diff --git a/mi/miwindow.c b/mi/miwindow.c
index ba4c9ed..cfe085a 100644
--- a/mi/miwindow.c
+++ b/mi/miwindow.c
@@ -337,9 +337,8 @@ miRecomputeExposures(WindowPtr pWin, void *value)
 }
 
 void
-miSlideAndSizeWindow(WindowPtr pWin,
- int x, int y,
- unsigned int w, unsigned int h, WindowPtr pSib)
+miResizeWindow(WindowPtr pWin, int x, int y, unsigned int w, unsigned int h,
+   WindowPtr pSib)
 {
 WindowPtr pParent;
 Bool WasViewable = (Bool) (pWin-viewable);
-- 
1.9.3

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


[PATCH 10/18] mi: Remove a can't-happen from miValidateTree

2014-09-23 Thread Adam Jackson
The only way you can get VisibilityNotViewable is to be, you know, not
viewable.  Since this test is inside if (pWin-viewable)...

Signed-off-by: Adam Jackson a...@redhat.com
---
 mi/mivaltree.c | 30 --
 1 file changed, 30 deletions(-)

diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index 8e4e9a9..b1caec9 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -478,33 +478,6 @@ miComputeClips(WindowPtr pParent,
 (*pScreen-ClipNotify) (pParent, dx, dy);
 }
 
-static void
-miTreeObscured(WindowPtr pParent)
-{
-WindowPtr pChild;
-int oldVis;
-
-pChild = pParent;
-while (1) {
-if (pChild-viewable) {
-oldVis = pChild-visibility;
-if (oldVis != (pChild-visibility = VisibilityFullyObscured) 
-((pChild-
-  eventMask | wOtherEventMasks(pChild))  
VisibilityChangeMask))
-SendVisibilityNotify(pChild);
-if (pChild-firstChild) {
-pChild = pChild-firstChild;
-continue;
-}
-}
-while (!pChild-nextSib  (pChild != pParent))
-pChild = pChild-parent;
-if (pChild == pParent)
-break;
-pChild = pChild-nextSib;
-}
-}
-
 static RegionPtr
 getBorderClip(WindowPtr pWin)
 {
@@ -683,9 +656,6 @@ miValidateTree(WindowPtr pParent,   /* Parent to 
validate */
 RegionSubtract(totalClip, totalClip, pWin-borderSize);
 }
 }
-else if (pWin-visibility == VisibilityNotViewable) {
-miTreeObscured(pWin);
-}
 }
 else {
 if (pWin-valdata) {
-- 
1.9.3

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


Re: [PATCH 13/18] dix: Lower backStorage to a bit instead of a pointer

2014-09-23 Thread Jasper St. Pierre
On Tue, Sep 23, 2014 at 12:32 PM, Adam Jackson a...@redhat.com wrote:

 Signed-off-by: Adam Jackson a...@redhat.com
 ---
  composite/compinit.c | 4 ++--
  dix/window.c | 2 +-
  include/windowstr.h  | 2 +-
  mi/miexpose.c| 2 +-
  4 files changed, 5 insertions(+), 5 deletions(-)

 diff --git a/composite/compinit.c b/composite/compinit.c
 index 48e938f..111c16e 100644
 --- a/composite/compinit.c
 +++ b/composite/compinit.c
 @@ -119,12 +119,12 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned
 long mask)
  pScreen-backingStoreSupport != NotUseful) {
  if (pWin-backingStore != NotUseful  !pWin-backStorage) {
  compRedirectWindow(serverClient, pWin,
 CompositeRedirectAutomatic);
 -pWin-backStorage = (void *) (intptr_t) 1;
 +pWin-backStorage = TRUE;
  }
  else if (pWin-backingStore == NotUseful  pWin-backStorage) {
  compUnredirectWindow(serverClient, pWin,
   CompositeRedirectAutomatic);
 -pWin-backStorage = NULL;
 +pWin-backStorage = FALSE;


Here you use TRUE / FALSE


  }
  }

 diff --git a/dix/window.c b/dix/window.c
 index f227e4c..e1645c3 100644
 --- a/dix/window.c
 +++ b/dix/window.c
 @@ -362,7 +362,7 @@ SetWindowToDefaults(WindowPtr pWin)
  pWin-cursorIsNone = TRUE;

  pWin-backingStore = NotUseful;
 -pWin-backStorage = (void *) NULL;
 +pWin-backStorage = 0;


Here you use 0.


  pWin-mapped = FALSE;   /* off */
  pWin-realized = FALSE; /* off */
 diff --git a/include/windowstr.h b/include/windowstr.h
 index 81f5f8c..740f4a6 100644
 --- a/include/windowstr.h
 +++ b/include/windowstr.h
 @@ -144,12 +144,12 @@ typedef struct _Window {
  Mask eventMask; /* mask from the creating client */
  PixUnion background;
  PixUnion border;
 -void *backStorage;  /* null when BS disabled */
  WindowOptPtr optional;
  unsigned backgroundState:2; /* None, Relative, Pixel, Pixmap */
  unsigned borderIsPixel:1;
  unsigned cursorIsNone:1;/* else real cursor (might inherit) */
  unsigned backingStore:2;
 +unsigned backStorage:1; /* if bs is allocated */
  unsigned saveUnder:1;
  unsigned bitGravity:4;
  unsigned winGravity:4;
 diff --git a/mi/miexpose.c b/mi/miexpose.c
 index 555f3b2..de8ee6c 100644
 --- a/mi/miexpose.c
 +++ b/mi/miexpose.c
 @@ -143,7 +143,7 @@ miHandleExposures(DrawablePtr pSrcDrawable,
 DrawablePtr pDstDrawable,
  if (!pGC-graphicsExposures 
  (pDstDrawable-type == DRAWABLE_PIXMAP) 
  ((pSrcDrawable-type == DRAWABLE_PIXMAP) ||
 - (((WindowPtr) pSrcDrawable)-backStorage == NULL)))
 + (((WindowPtr) pSrcDrawable)-backStorage == 0)))
  return NULL;


Here you use 0.

Why the inconsistency?


  srcBox.x1 = srcx;
 --
 1.9.3

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




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

Re: [PATCH 17/18] mi: miSlideAndSizeWindow - miResizeWindow

2014-09-23 Thread Jasper St. Pierre
I sort of like slide because it gives the impression that we copy the
framebuffer contents if the size of the window hasn't changed. That said,
if we want to change this, we should change the name of the slot too.

Reviewed-by: Jasper St. Pierre jstpie...@mecheye.net

On Tue, Sep 23, 2014 at 12:32 PM, Adam Jackson a...@redhat.com wrote:

 Make the function name match the screen slot name.

 Signed-off-by: Adam Jackson a...@redhat.com
 ---
  mi/mi.h| 12 ++--
  mi/miscrinit.c |  2 +-
  mi/miwindow.c  |  5 ++---
  3 files changed, 9 insertions(+), 10 deletions(-)

 diff --git a/mi/mi.h b/mi/mi.h
 index 8cb3ce7..5a455c9 100644
 --- a/mi/mi.h
 +++ b/mi/mi.h
 @@ -470,12 +470,12 @@ extern _X_EXPORT void miMoveWindow(WindowPtr /*pWin
 */ ,
 VTKind   /*kind */
  );

 -extern _X_EXPORT void miSlideAndSizeWindow(WindowPtr /*pWin */ ,
 -   int /*x */ ,
 -   int /*y */ ,
 -   unsigned int /*w */ ,
 -   unsigned int /*h */ ,
 -   WindowPtr/*pSib */
 +extern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ ,
 + int /*x */ ,
 + int /*y */ ,
 + unsigned int /*w */ ,
 + unsigned int /*h */ ,
 + WindowPtr/*pSib */
  );

  extern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr   /*pWin */
 diff --git a/mi/miscrinit.c b/mi/miscrinit.c
 index ec4d108..327bd15 100644
 --- a/mi/miscrinit.c
 +++ b/mi/miscrinit.c
 @@ -264,7 +264,7 @@ miScreenInit(ScreenPtr pScreen, void *pbits,  /*
 pointer to screen bits */
  pScreen-MarkWindow = miMarkWindow;
  pScreen-MarkOverlappedWindows = miMarkOverlappedWindows;
  pScreen-MoveWindow = miMoveWindow;
 -pScreen-ResizeWindow = miSlideAndSizeWindow;
 +pScreen-ResizeWindow = miResizeWindow;
  pScreen-GetLayerWindow = miGetLayerWindow;
  pScreen-HandleExposures = miHandleValidateExposures;
  pScreen-ReparentWindow = (ReparentWindowProcPtr) 0;
 diff --git a/mi/miwindow.c b/mi/miwindow.c
 index ba4c9ed..cfe085a 100644
 --- a/mi/miwindow.c
 +++ b/mi/miwindow.c
 @@ -337,9 +337,8 @@ miRecomputeExposures(WindowPtr pWin, void *value)
  }

  void
 -miSlideAndSizeWindow(WindowPtr pWin,
 - int x, int y,
 - unsigned int w, unsigned int h, WindowPtr pSib)
 +miResizeWindow(WindowPtr pWin, int x, int y, unsigned int w, unsigned int
 h,
 +   WindowPtr pSib)
  {
  WindowPtr pParent;
  Bool WasViewable = (Bool) (pWin-viewable);
 --
 1.9.3

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




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

Re: [PATCH 13/18] dix: Lower backStorage to a bit instead of a pointer

2014-09-23 Thread Adam Jackson
On Tue, 2014-09-23 at 13:03 -0600, Jasper St. Pierre wrote:

 Here you use 0.
 
 Why the inconsistency?

No especially good reason.  In the tree I'm actually working on [1] this
particular lowering happened after I'd factored out the redirection
logic in compChangeWindowAttributes to its own function.  When I
reordered things so the trivial cleanuppy bits came before functionality
this change conflicted, and when I fixed it up my hands typed the other
thing.

Good eye though, I'll fix it up before sending a pull request.

[1] - http://cgit.freedesktop.org/~ajax/xserver/log/?h=bsbs

- ajax

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


Re: [PATCH 17/18] mi: miSlideAndSizeWindow - miResizeWindow

2014-09-23 Thread Adam Jackson
On Tue, 2014-09-23 at 13:07 -0600, Jasper St. Pierre wrote:
 I sort of like slide because it gives the impression that we copy
 the framebuffer contents if the size of the window hasn't changed.
 That said, if we want to change this, we should change the name of the
 slot too.

Meh.  This change was in favor of the majority, the other occupiers of
that slot are all named fooResizeWindow.  The DDX documentation says
The formerly dix function SlideAndSizeWindow has moved to ddx and is
accessed via [pScreen-ResizeWindow], which apparently happened between
X11R5 and X11R6.0.

I guess I don't have a strong opinion, but SlideAndSize seems awkward.

- aja


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


[PATCH] uxa/video: only call intel_xvmc_adaptor_init when xvmc is enabled

2014-09-23 Thread tobias . jakobi1
Signed-off-by: Tobias Jakobi tjak...@math.uni-bielefeld.de
---
 src/uxa/intel_video.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/uxa/intel_video.c b/src/uxa/intel_video.c
index 310b6c9..33d447c 100644
--- a/src/uxa/intel_video.c
+++ b/src/uxa/intel_video.c
@@ -239,8 +239,10 @@ void intel_video_init(ScreenPtr screen)
intel-XvEnabled = FALSE;
}
 
+#ifdef INTEL_XVMC
 if (texturedAdaptor)
 intel_xvmc_adaptor_init(screen);
+#endif
 
free(adaptors);
 }
-- 
1.8.5.5

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


[Bug 84186] X 1.16.1 RC 1 segfaults and reports XXX fail to create fbo with Radeon HD 7970.

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84186

--- Comment #2 from John Steele Scott tooj...@toojays.net ---
Okay, I've figured out how to get a bit more debug information out of glamor
(setting the environment variable GLAMOR_DEBUG=1), and have installed debug
symbols.

The following log message is shown twice before the segfault:

 glamor_pixmap_ensure_fb:glamor: Failed to create fbo, incomplete
attachment

The backtrace at the first of these points looks like:

#0  glamor_pixmap_ensure_fb (fbo=fbo@entry=0x56212e50) at
../../glamor/glamor_fbo.c:218
str = 0x713b66ab incomplete attachment
status = 36054
err = 0
__PRETTY_FUNCTION__ = glamor_pixmap_ensure_fb
__FUNCTION__ = glamor_pixmap_ensure_fb
#1  0x713ac2b5 in glamor_create_fbo_from_tex
(glamor_priv=0x55b24740, w=1024, h=1056, format=6408, tex=2, flag=261) at
../../glamor/glamor_fbo.c:250
fbo = 0x56212e50
#2  0x713837d8 in glamor_create_pixmap (screen=0x559d57e0, w=1024,
h=1056, depth=32, usage=261) at ../../glamor/glamor.c:201
type = GLAMOR_MEMORY
pixmap_priv = 0x56212dd0
fbo = 0x8cd6
#3  0x7203ab01 in radeon_glamor_create_pixmap (screen=0x559d57e0,
w=1024, h=1056, depth=32, usage=261) at ../../src/radeon_glamor.c:197
priv = 0x55af5290
new_pixmap = 0x105
#4  0x7138bfc1 in glamor_realize_glyph_caches (pScreen=0x559d57e0)
at ../../glamor/glamor_glyphs.c:332
depth = 32
pPictFormat = 0x55a2b9c8
pixmap = 0x20
picture = 0x55a2b9c8
component_alpha = 0
error = 0
formats = {134316032, 537036936}
#5  0x7138277d in glamor_create_screen_resources
(screen=0x559d57e0) at ../../glamor/glamor.c:305
ret = 1
#6  0x720332d3 in RADEONCreateScreenResources_KMS
(pScreen=0x559d57e0) at ../../src/radeon_kms.c:229
pScrn = 0x559d64b0
info = 0x559d7300
pixmap = optimized out
#7  0x5561fc3e in xf86CrtcCreateScreenResources (screen=0x559d57e0)
at ../../../../hw/xfree86/modes/xf86Crtc.c:709
scrn = optimized out
config = optimized out
#8  0x555aef26 in dix_main (argc=3, argv=0x7fffe6a8,
envp=optimized out) at ../../dix/main.c:223
pScreen = 0x559d57e0
i = 0
alwaysCheckForInput = {0, 1}
#9  0x75d13b45 in __libc_start_main (main=0x555994e0 main,
argc=3, argv=0x7fffe6a8, init=optimized out, fini=optimized out,
rtld_fini=optimized out, stack_end=0x7fffe698) at libc-start.c:287
result = optimized out
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8785920377037677806,
93824992515301, 140737488348832, 0, 0, 8785920376303360786,
8785898719497657106}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0,
0x5571a810 __libc_csu_init, 0x7fffe6a8}, data = {prev = 0x0, cleanup
= 0x0, canceltype = 1433511952}}}
not_first_call = optimized out
#10 0x5559950e in _start ()
No symbol table info available.


The backtrace at the second looks like:

#0  glamor_pixmap_ensure_fb (fbo=fbo@entry=0x56219e50) at
../../glamor/glamor_fbo.c:218
str = 0x713b66ab incomplete attachment
status = 36054
err = 0
__PRETTY_FUNCTION__ = glamor_pixmap_ensure_fb
__FUNCTION__ = glamor_pixmap_ensure_fb
#1  0x713ac2b5 in glamor_create_fbo_from_tex
(glamor_priv=glamor_priv@entry=0x55b24740, w=2560, h=1440, format=6408,
tex=tex@entry=3, flag=flag@entry=0) at ../../glamor/glamor_fbo.c:250
fbo = 0x56219e50
#2  0x71383192 in glamor_set_pixmap_texture
(pixmap=pixmap@entry=0x561edb60, tex=3) at ../../glamor/glamor.c:103
screen = optimized out
pixmap_priv = 0x55ac7160
fbo = optimized out
#3  0x7137fe49 in glamor_egl_create_textured_pixmap
(pixmap=pixmap@entry=0x561edb60, handle=handle@entry=49,
stride=stride@entry=10240) at ../../../../glamor/glamor_egl.c:314
screen = 0x559d57e0
scrn = optimized out
pixmap_priv = 0x5622d0d0
texture = 3
name = optimized out
ret = 0
__PRETTY_FUNCTION__ = glamor_egl_create_textured_pixmap
#4  0x7138003d in glamor_egl_create_textured_screen
(screen=screen@entry=0x559d57e0, handle=handle@entry=49,
stride=stride@entry=10240) at ../../../../glamor/glamor_egl.c:232
scrn = 0x559d64b0
pixmap_priv = 0x5622d0d0
screen_pixmap = 0x561edb60
#5  0x7138013d in glamor_egl_create_textured_screen_ext
(screen=screen@entry=0x559d57e0, handle=49, stride=10240,
back_pixmap=back_pixmap@entry=0x0) at ../../../../glamor/glamor_egl.c:254
scrn = optimized out
#6  0x7203a6ec in radeon_glamor_create_screen_resources
(screen=screen@entry=0x559d57e0) at ../../src/radeon_glamor.c:67
scrn = 0x559d64b0
info = 0x559d7300
#7  

[Bug 84253] New: XDrawSegments() output truncated if EXAPixmaps = on

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84253

  Priority: medium
Bug ID: 84253
  Assignee: xorg-driver-ati@lists.x.org
   Summary: XDrawSegments() output truncated if EXAPixmaps = on
QA Contact: xorg-t...@lists.x.org
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: mse00...@gmail.com
  Hardware: x86 (IA32)
Status: NEW
   Version: unspecified
 Component: Driver/Radeon
   Product: xorg

Created attachment 106748
  -- https://bugs.freedesktop.org/attachment.cgi?id=106748action=edit
Test application

Since several years MSEgui doesn't work with radeon driver anymore.
http://sourceforge.net/projects/mseide-msegui/

https://bugs.launchpad.net/ubuntu/+bug/373781
https://bugzilla.novell.com/show_bug.cgi?id=690766
https://bugzilla.novell.com/show_bug.cgi?id=852944
https://bugs.freedesktop.org/show_bug.cgi?id=69543

I again unsuccessfully spent several days to try to find a bug in MSEgui, try
to find a workaround or to find a small testapplication which shows the
problems.
MSEgui paints on a pixmap with the size of the update region which is moved to
the window by xcopyarea() after the drawing is complete.
The attached application draws a diagonal line over a grid cell. Every 2
seconds the cell will be invalidated and refreshed. At startup the display is
OK, after 2 seconds the diagonal line will be truncated. This has been
reproduced on three installations.
If the test-program is started with any command line parameter (ex.
./radeonline abc the drawing of the blue rectangle is disabled. Two of the
three installations always show the diagonal line in this mode with full
length, one truncates it after 2 seconds.
With the option EXAPixmaps off in xorg.conf all is OK.
The simplified testprogram from 
https://bugs.freedesktop.org/show_bug.cgi?id=69543
shows a distorted display also by directly drawing to the window so the double
buffering probably is not the culprit.

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


[Bug 84253] XDrawSegments() output truncated if EXAPixmaps = on

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84253

Martin Schreiber mse00...@gmail.com changed:

   What|Removed |Added

 CC||mse00...@gmail.com

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


[Bug 84255] New: UVD / VDPAU not working on kaveri with VLC

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84255

  Priority: medium
Bug ID: 84255
  Assignee: xorg-driver-ati@lists.x.org
   Summary: UVD / VDPAU not working on kaveri with VLC
QA Contact: xorg-t...@lists.x.org
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: r...@cryptolab.net
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: git
 Component: Driver/Radeon
   Product: xorg

I'm running several AMD-based systems, including two with Kabini E-350 chips
and one with a Kaveri A10-7700 one.
All runs a Slackware64 system, with custom built 3.16.3 kernel and libdrm,
glamor, mesa and xf86-video-ati built from git pulls, dated on the 20th of
september, with exact same options.
Libvdpau 0.8 is installed on all systems, compiled with the same options.
vdpauinfo 0.1 is also installed, as well as x264, ffmpeg and vlc, all compiled
from git pulls, dated from the same 20th of september, with the same options on
all platforms.
The only differing options during compiles is that I use -march=bdver3
-mtune=bdver3 on Kaveri while I use -march=btver1 -mtune=btver1 on Kabini.

On Kaveri, vdpauinfo shows the following (only the begining):

**
bash-4.3$ vdpauinfo -h
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
---
42016384 16384  NV12 YV12 
42216384 16384  UYVY YUYV 
44416384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name   level macbs width height
---
MPEG1 0  9216  2048  1152
MPEG2_SIMPLE  3  9216  2048  1152
MPEG2_MAIN3  9216  2048  1152
H264_BASELINE41  9216  2048  1152
H264_MAIN41  9216  2048  1152
H264_HIGH41  9216  2048  1152
VC1_ADVANCED  4  9216  2048  1152
MPEG4_PART2_SP3  9216  2048  1152
MPEG4_PART2_ASP   5  9216  2048  1152

(snip)
**

On Kabini, I have the following output :

**

bash-4.3$ vdpauinfo 
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
---
42016384 16384  NV12 YV12 
42216384 16384  UYVY YUYV 
44416384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name   level macbs width height
---
MPEG1 0  9216  2048  1152
MPEG2_SIMPLE  3  9216  2048  1152
MPEG2_MAIN3  9216  2048  1152
H264_BASELINE41  9216  2048  1152
H264_MAIN41  9216  2048  1152
H264_HIGH41  9216  2048  1152
VC1_ADVANCED  4  9216  2048  1152
MPEG4_PART2_SP3  9216  2048  1152
MPEG4_PART2_ASP   5  9216  2048  1152

*

So far so good, the capabilities of both systems seem to be identical.

I have several H264 HD1080p videos with High Main profiles, and 41 levels.
They properly play on Kabini using VLC with VDPAU. The CPU usage is low for a
HD file and I can see in the vlc logs the following output :



[7f5954044cd8] vdpau_avcodec generic debug: video surface limits:
16384x16384
[7f5954044cd8] vdpau_avcodec generic debug: decoder profile limits: level
41 mb 9216 2048x1152
[7f5954044cd8] core generic debug: using hw decoder module vdpau_avcodec
[7f5970d42768] avcodec decoder: Using G3DVL VDPAU Driver Shared Library
version 1.0 for hardware decoding.
[7f5970d42768] avcodec decoder debug: available hardware decoder output
format 109 (vdpau)
[7f5970d42768] avcodec decoder debug: available software decoder output
format 0 (yuv420p)
[7f5954044cd8] core generic debug: looking for hw decoder module matching
any: 2 candidates
[7f5954044cd8] vdpau_avcodec generic debug: video surface limits:
16384x16384
[7f5954044cd8] vdpau_avcodec generic debug: decoder profile limits: level
41 mb 9216 2048x1152
[7f5954044cd8] core generic debug: using hw decoder module vdpau_avcodec
[7f5970d42768] avcodec decoder: Using G3DVL VDPAU Driver Shared Library
version 1.0 for hardware decoding.



On Kaveri, this does not work. CPU usage is high and no hardware decoding seems
to be used.
How is possible to debug this issue?

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


[Bug 84255] UVD / VDPAU not working on kaveri with VLC

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84255

--- Comment #1 from Alex Deucher ag...@yahoo.com ---
Can you attach the dmesg output, xorg log, and vlc log from the kaveri system?

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


[Bug 84255] UVD / VDPAU not working on kaveri with VLC

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84255

--- Comment #2 from Richard Van Den Boom r...@cryptolab.net ---
Created attachment 106755
  -- https://bugs.freedesktop.org/attachment.cgi?id=106755action=edit
Dmesg output

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


[Bug 84255] UVD / VDPAU not working on kaveri with VLC

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84255

--- Comment #3 from Richard Van Den Boom r...@cryptolab.net ---
Created attachment 106756
  -- https://bugs.freedesktop.org/attachment.cgi?id=106756action=edit
VLC log with -vvv playing a HD mkv file

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


[Bug 84255] UVD / VDPAU not working on kaveri with VLC

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84255

--- Comment #5 from Richard Van Den Boom r...@cryptolab.net ---
Here we go.
There are some weird messages in the X11 log I was not aware of.
Don't know if it's related.

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


Bug#762047: xserver-xorg-video-ati: Black screen with mouse cursor on PowerPC

2014-09-23 Thread Michel Dänzer

On 23.09.2014 00:25, Bill Chatfield wrote:

If I understand this correctly, then one of the defects in this
situation is that the old radeonfb, nouveaufb, etc fb device drivers
are still being compiled into the kernel. This shouldn't happen if
they're not really supported by the rest of the system. I could file
a bug in that regard, if that is the right thing to do. There is a
file that attempts to blacklist all the old cardnamefb drivers, but
since they are not loadable modules, this fails.


You'd have to discuss that with the kernel package maintainers.



I have determined that the reason why gdm and gnome will not run is
because they require an accelerated driver, which radeonfb does not
support. So I either have to use radeonfb with xfce or get the
radeon/drm to work so I can run gnome.


Unfortunately, the upsream Mesa r300 driver currently doesn't work 
correctly on big endian hosts. That would need to be fixed before you 
can run gnome-shell.


So I'm afraid there's no obvious 'right thing to do', it's more a 'pick 
your poison' kind of situation.



--
Earthling Michel Dänzer|  http://www.amd.com
Libre software enthusiast  |Mesa and X developer

___
xorg-driver-ati mailing list
xorg-driver-ati@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-driver-ati


[Bug 84253] XDrawSegments() output truncated if EXAPixmaps = on

2014-09-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=84253

Michel Dänzer mic...@daenzer.net changed:

   What|Removed |Added

   Assignee|xorg-driver-ati@lists.x.org |xorg-t...@lists.x.org
  Component|Driver/Radeon   |Server/Acceleration/EXA

--- Comment #1 from Michel Dänzer mic...@daenzer.net ---
Probably an EXA issue. Option EXAPixmaps off mostly avoids the hardware
acceleration paths in EXA.

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