Nominations for X.Org Foundation Board of Directors are OPEN

2014-01-13 Thread Martin Peres

We are seeking nominations for candidates for election to the X.Org
Foundation Board of Directors.  All X.Org Foundation members are
eligible for election to the board.

Nominations for the 2014 election are now open and will remain open
until 23.59 GMT on 12 February 2013.

The Board consists of directors elected from the membership.  Each
year, an election is held to bring the total number of directors to
eight.  The four members receiving the highest vote totals will serve
as directors for two year terms.

The directors who received two year terms starting in 2013 were
Alan Coopersmith, Martin Peres, Peter Hutterer and Stuart Kreitman. 
They will continue to serve until their term ends in 2015.  Current
directors whose term expires in 2014 are Matthias Hopf, Keith Packard, 
Matt Dew, and Alex Deucher.


A director is expected to participate in the bi-weekly IRC meeting to
discuss current business and to attend the annual meeting of the X.Org
Foundation, which will be held at a location determined in advance by
the Board of Directors.

A member may nominate themselves or any other member they feel is
qualified.  Nominations should be sent to the Election Committee at
elections at x.org.

Nominees shall be required to be current members of the X.Org
Foundation, and submit a  personal statement of up to 200 words that
will be provided to prospective voters.  The collected statements, along 
with the statement of contribution to the X.Org Foundation in
the members account page on http://members.x.org, will be made available 
to all voters to help them make their voting decisions.


Nominations, membership applications or renewals and completed personal 
statements must be received no later than 23.59 GMT on 12 February 2014.


The slate of candidates will be published 13 February 2014 and candidate 
QA will begin then.   The deadline for Xorg membership applications and 
renewals is 18 February 2014.


The Election Committee
X.Org Foundation
___
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: arch...@mail-archive.com


[PATCH 16/18] test/xi2: Clean up -Wshadow warnings

2014-01-13 Thread Keith Packard
protocol-common declares a bunch of pretty generic names; fix shadows
of these names.

Signed-off-by: Keith Packard kei...@keithp.com
---
 test/xi2/protocol-common.c  | 66 -
 test/xi2/protocol-common.h  |  2 +-
 test/xi2/protocol-xipassivegrabdevice.c |  8 ++--
 test/xi2/protocol-xiquerydevice.c   |  2 +-
 test/xi2/protocol-xiqueryversion.c  |  4 +-
 5 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index e171115..9a429e4 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -41,7 +41,7 @@ WindowRec root;
 WindowRec window;
 static ClientRec server_client;
 
-void *userdata;
+void *global_userdata;
 
 static void
 fake_init_sprite(DeviceIntPtr dev)
@@ -136,34 +136,34 @@ struct devices
 init_devices(void)
 {
 ClientRec client;
-struct devices devices;
+struct devices local_devices;
 
 client = init_client(0, NULL);
 
-AllocDevicePair(client, Virtual core, devices.vcp, devices.vck,
+AllocDevicePair(client, Virtual core, local_devices.vcp, 
local_devices.vck,
 CorePointerProc, CoreKeyboardProc, TRUE);
-inputInfo.pointer = devices.vcp;
+inputInfo.pointer = local_devices.vcp;
 
-inputInfo.keyboard = devices.vck;
-ActivateDevice(devices.vcp, FALSE);
-ActivateDevice(devices.vck, FALSE);
-EnableDevice(devices.vcp, FALSE);
-EnableDevice(devices.vck, FALSE);
+inputInfo.keyboard = local_devices.vck;
+ActivateDevice(local_devices.vcp, FALSE);
+ActivateDevice(local_devices.vck, FALSE);
+EnableDevice(local_devices.vcp, FALSE);
+EnableDevice(local_devices.vck, FALSE);
 
-AllocDevicePair(client, , devices.mouse, devices.kbd,
+AllocDevicePair(client, , local_devices.mouse, local_devices.kbd,
 TestPointerProc, CoreKeyboardProc, FALSE);
-ActivateDevice(devices.mouse, FALSE);
-ActivateDevice(devices.kbd, FALSE);
-EnableDevice(devices.mouse, FALSE);
-EnableDevice(devices.kbd, FALSE);
+ActivateDevice(local_devices.mouse, FALSE);
+ActivateDevice(local_devices.kbd, FALSE);
+EnableDevice(local_devices.mouse, FALSE);
+EnableDevice(local_devices.kbd, FALSE);
 
-devices.num_devices = 4;
-devices.num_master_devices = 2;
+local_devices.num_devices = 4;
+local_devices.num_master_devices = 2;
 
-fake_init_sprite(devices.mouse);
-fake_init_sprite(devices.vcp);
+fake_init_sprite(local_devices.mouse);
+fake_init_sprite(local_devices.vcp);
 
-return devices;
+return local_devices;
 }
 
 /* Create minimal client, with the given buffer and len as request buffer */
@@ -187,20 +187,20 @@ init_client(int len, void *data)
 }
 
 void
-init_window(WindowPtr window, WindowPtr parent, int id)
+init_window(WindowPtr local_window, WindowPtr parent, int id)
 {
-memset(window, 0, sizeof(*window));
+memset(local_window, 0, sizeof(*local_window));
 
-window-drawable.id = id;
+local_window-drawable.id = id;
 if (parent) {
-window-drawable.x = 30;
-window-drawable.y = 50;
-window-drawable.width = 100;
-window-drawable.height = 200;
+local_window-drawable.x = 30;
+local_window-drawable.y = 50;
+local_window-drawable.width = 100;
+local_window-drawable.height = 200;
 }
-window-parent = parent;
-window-optional = calloc(1, sizeof(WindowOptRec));
-assert(window-optional);
+local_window-parent = parent;
+local_window-optional = calloc(1, sizeof(WindowOptRec));
+assert(local_window-optional);
 }
 
 extern DevPrivateKeyRec miPointerScreenKeyRec;
@@ -208,18 +208,18 @@ extern DevPrivateKeyRec miPointerPrivKeyRec;
 
 /* Needed for the screen setup, otherwise we crash during sprite 
initialization */
 static Bool
-device_cursor_init(DeviceIntPtr dev, ScreenPtr screen)
+device_cursor_init(DeviceIntPtr dev, ScreenPtr local_screen)
 {
 return TRUE;
 }
 
 static void
-device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr screen)
+device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr local_screen)
 {
 }
 
 static Bool
-set_cursor_pos(DeviceIntPtr dev, ScreenPtr screen, int x, int y, Bool event)
+set_cursor_pos(DeviceIntPtr dev, ScreenPtr local_screen, int x, int y, Bool 
event)
 {
 return TRUE;
 }
@@ -264,5 +264,5 @@ __wrap_WriteToClient(ClientPtr client, int len, void *data)
 {
 assert(reply_handler != NULL);
 
-(*reply_handler) (client, len, data, userdata);
+(*reply_handler) (client, len, data, global_userdata);
 }
diff --git a/test/xi2/protocol-common.h b/test/xi2/protocol-common.h
index d303068..f850478 100644
--- a/test/xi2/protocol-common.h
+++ b/test/xi2/protocol-common.h
@@ -91,7 +91,7 @@ extern struct devices devices;
 /**
  * test-specific userdata, passed into the reply handler.
  */
-extern void *userdata;
+extern void *global_userdata;
 
 /**
  * The reply handler called from WriteToClient. Set 

[PATCH 12/18] hw/vfb: Rename screenInfo parameter to screen_info

2014-01-13 Thread Keith Packard
Avoid shadowing the global screenInfo value.

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/vfb/InitOutput.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index d102722..2175ac6 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -899,7 +899,7 @@ void vfbExtensionInit(void)
 }
 
 void
-InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
+InitOutput(ScreenInfo * screen_info, int argc, char **argv)
 {
 int i;
 int NumFormats = 0;
@@ -935,18 +935,18 @@ InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
 if (vfbPixmapDepths[i]) {
 if (NumFormats = MAXFORMATS)
 FatalError(MAXFORMATS is too small for this server\n);
-screenInfo-formats[NumFormats].depth = i;
-screenInfo-formats[NumFormats].bitsPerPixel = vfbBitsPerPixel(i);
-screenInfo-formats[NumFormats].scanlinePad = BITMAP_SCANLINE_PAD;
+screen_info-formats[NumFormats].depth = i;
+screen_info-formats[NumFormats].bitsPerPixel = vfbBitsPerPixel(i);
+screen_info-formats[NumFormats].scanlinePad = BITMAP_SCANLINE_PAD;
 NumFormats++;
 }
 }
 
-screenInfo-imageByteOrder = IMAGE_BYTE_ORDER;
-screenInfo-bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
-screenInfo-bitmapScanlinePad = BITMAP_SCANLINE_PAD;
-screenInfo-bitmapBitOrder = BITMAP_BIT_ORDER;
-screenInfo-numPixmapFormats = NumFormats;
+screen_info-imageByteOrder = IMAGE_BYTE_ORDER;
+screen_info-bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
+screen_info-bitmapScanlinePad = BITMAP_SCANLINE_PAD;
+screen_info-bitmapBitOrder = BITMAP_BIT_ORDER;
+screen_info-numPixmapFormats = NumFormats;
 
 /* initialize screens */
 
-- 
1.8.5.2

___
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


Remaining X server warning fixes

2014-01-13 Thread Keith Packard
Here's 18 patches which clean up the remaining warnings (at least for
me) in the X server. A couple of these are new as of this series, but
the rest have been posted before

Old patches, posted before Christmas:

[PATCH 01/18] Warning fixes in glx
[PATCH 02/18] pseudoramiX: Clean up warnings. Only compile on XQUARTZ
[PATCH 03/18] include: GetClientResolutions is declared in font.h
[PATCH 04/18] Ignore a couple of format-nonliteral warnings
[PATCH 05/18] Add 'FONT_PATH_NAME_ELEMENT_CONST' to dix-config.h and
[PATCH 06/18] os: Fix -Wshadow errors
[PATCH 07/18] Xi: Use 'void *' instead of 'Pointer' (which is going
[PATCH 08/18] xfree86: Fix -Wshadow warnings
[PATCH 09/18] composite: Remove duplicate window pixmap fetch
[PATCH 10/18] exa: Fix -Wshadow warnings
[PATCH 11/18] kdrive: Fix -Wshadow errors
[PATCH 12/18] hw/vfb: Rename screenInfo parameter to screen_info
[PATCH 13/18] hw/xnest: Eliminate shadowed names
[PATCH 14/18] randr: Eliminate -Wshadow warnings

New patches. For the test suite, I've cleaned up warnings in xi2 and
hashtabletest, but signal-formatting just got some pragmas to ignore
compiler warnings as they're all intentionally there to test the code.

[PATCH 15/18] kdrive/ephyr: Remove extra 'i' variable in
[PATCH 16/18] test/xi2: Clean up -Wshadow warnings
[PATCH 17/18] test/hashtabletest: Clean up -Wshadow errors
[PATCH 18/18] test/signal-formatting: Ignore compiler warnings

Review would be appreciated; I'm looking forward to a warning-free
1.16 release.

-keith
___
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] composite: Remove duplicate window pixmap fetch

2014-01-13 Thread Keith Packard
There's nothing between the previous fetch and this one that could
cause the window pixmap to have changed.

Signed-off-by: Keith Packard kei...@keithp.com
---
 composite/compwindow.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/composite/compwindow.c b/composite/compwindow.c
index 8dce21d..6c24349 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -475,7 +475,6 @@ compCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, 
RegionPtr prgnSrc)
  * need to be copied to pNewPixmap.
  */
 RegionRec rgnDst;
-PixmapPtr pPixmap = (*pScreen-GetWindowPixmap) (pWin);
 GCPtr pGC;
 
 dx = ptOldOrg.x - pWin-drawable.x;
-- 
1.8.5.2

___
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] Warning fixes in glx

2014-01-13 Thread Keith Packard
Signed-off-by: Keith Packard kei...@keithp.com
---
 glx/glxdri2.c|  2 +-
 glx/glxdricommon.c   |  2 +-
 glx/indirect_dispatch_swap.c | 12 
 glx/indirect_program.c   | 22 --
 4 files changed, 2 insertions(+), 36 deletions(-)

diff --git a/glx/glxdri2.c b/glx/glxdri2.c
index b2f3d6e..985f144 100644
--- a/glx/glxdri2.c
+++ b/glx/glxdri2.c
@@ -500,7 +500,7 @@ create_driver_context(__GLXDRIcontext * context,
 unsigned dri_err = 0;
 unsigned major_ver;
 unsigned minor_ver;
-uint32_t flags;
+uint32_t flags = 0;
 int reset;
 int api = __DRI_API_OPENGL;
 
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
index fc90272..69d4b29 100644
--- a/glx/glxdricommon.c
+++ b/glx/glxdricommon.c
@@ -226,7 +226,7 @@ glxConvertConfigs(const __DRIcoreExtension * core,
 }
 
 for (i = 0; configs[i]; i++) {
-int renderType = 0;
+unsigned int renderType = 0;
 if (core-getConfigAttrib(configs[i], __DRI_ATTRIB_RENDER_TYPE,
   renderType)) {
 if (render_type_is_pbuffer_only(renderType) 
diff --git a/glx/indirect_dispatch_swap.c b/glx/indirect_dispatch_swap.c
index 647d0c9..f092b2c 100644
--- a/glx/indirect_dispatch_swap.c
+++ b/glx/indirect_dispatch_swap.c
@@ -81,18 +81,6 @@ bswap_ENUM(const void *src)
 return x.ret;
 }
 
-static GLsync
-bswap_CARD64(const void *src)
-{
-union {
-uint64_t dst;
-GLsync ret;
-} x;
-
-x.dst = bswap_64(*(uint64_t *) src);
-return x.ret;
-}
-
 static GLdouble
 bswap_FLOAT64(const void *src)
 {
diff --git a/glx/indirect_program.c b/glx/indirect_program.c
index fa4a240..d503262 100644
--- a/glx/indirect_program.c
+++ b/glx/indirect_program.c
@@ -122,25 +122,3 @@ __glXDispSwap_GetProgramStringARB(struct 
__GLXclientStateRec *cl, GLbyte * pc)
 
 return DoGetProgramString(cl, pc, get_program, get_program_string, True);
 }
-
-int
-__glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
-{
-PFNGLGETPROGRAMIVARBPROC get_program =
-__glGetProcAddress(glGetProgramivARB);
-PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
-__glGetProcAddress(glGetProgramStringARB);
-
-return DoGetProgramString(cl, pc, get_program, get_program_string, False);
-}
-
-int
-__glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
-{
-PFNGLGETPROGRAMIVARBPROC get_program =
-__glGetProcAddress(glGetProgramivARB);
-PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
-__glGetProcAddress(glGetProgramStringARB);
-
-return DoGetProgramString(cl, pc, get_program, get_program_string, True);
-}
-- 
1.8.5.2

___
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 14/18] randr: Eliminate -Wshadow warnings

2014-01-13 Thread Keith Packard
Don't use rrScrPriv for nested screen private fetching.

Eliminate a duplicate fetch of the randr screen private in 
rrCheckPixmapBounding.

Signed-off-by: Keith Packard kei...@keithp.com
---
 randr/rrcrtc.c | 17 -
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index df1e3f1..6e181ba 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -475,21 +475,21 @@ rrCheckPixmapBounding(ScreenPtr pScreen,
 }
 
 xorg_list_for_each_entry(slave, pScreen-output_slave_list, output_head) {
-rrScrPriv(slave);
-for (c = 0; c  pScrPriv-numCrtcs; c++)
-if (pScrPriv-crtcs[c] == rr_crtc) {
+rrScrPrivPtrslave_priv = rrGetScrPriv(slave);
+for (c = 0; c  slave_priv-numCrtcs; c++)
+if (slave_priv-crtcs[c] == rr_crtc) {
 newbox.x1 = x;
 newbox.x2 = x + w;
 newbox.y1 = y;
 newbox.y2 = y + h;
 }
 else {
-if (!pScrPriv-crtcs[c]-mode)
+if (!slave_priv-crtcs[c]-mode)
 continue;
-newbox.x1 = pScrPriv-crtcs[c]-x;
-newbox.x2 = pScrPriv-crtcs[c]-x + 
pScrPriv-crtcs[c]-mode-mode.width;
-newbox.y1 = pScrPriv-crtcs[c]-y;
-newbox.y2 = pScrPriv-crtcs[c]-y + 
pScrPriv-crtcs[c]-mode-mode.height;
+newbox.x1 = slave_priv-crtcs[c]-x;
+newbox.x2 = slave_priv-crtcs[c]-x + 
slave_priv-crtcs[c]-mode-mode.width;
+newbox.y1 = slave_priv-crtcs[c]-y;
+newbox.y2 = slave_priv-crtcs[c]-y + 
slave_priv-crtcs[c]-mode-mode.height;
 }
 RegionInit(new_crtc_region, newbox, 1);
 RegionUnion(total_region, total_region, new_crtc_region);
@@ -503,7 +503,6 @@ rrCheckPixmapBounding(ScreenPtr pScreen,
 new_height == screen_pixmap-drawable.height) {
 ErrorF(adjust shatters %d %d\n, newsize-x1, newsize-x2);
 } else {
-rrScrPriv(pScreen);
 pScrPriv-rrScreenSetSize(pScreen, new_width, new_height, 0, 0);
 }
 
-- 
1.8.5.2

___
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 04/18] Ignore a couple of format-nonliteral warnings

2014-01-13 Thread Keith Packard
These are generated in code which uses sprintf as a convenient way to
construct strings from various pieces.

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/xfree86/os-support/linux/lnx_init.c | 1 +
 os/log.c   | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/hw/xfree86/os-support/linux/lnx_init.c 
b/hw/xfree86/os-support/linux/lnx_init.c
index e2e8d08..46438e6 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -155,6 +155,7 @@ xf86OpenConsole(void)
 
 i = 0;
 while (vcs[i] != NULL) {
+#pragma GCC diagnostic ignored -Wformat-nonliteral
 snprintf(vtname, sizeof(vtname), vcs[i], xf86Info.vtno);/* 
/dev/tty1-64 */
 if ((xf86Info.consoleFd = open(vtname, O_RDWR | O_NDELAY, 0)) = 0)
 break;
diff --git a/os/log.c b/os/log.c
index 792b79e..8deb810 100644
--- a/os/log.c
+++ b/os/log.c
@@ -195,6 +195,7 @@ LogInit(const char *fname, const char *backup)
 char *logFileName = NULL;
 
 if (fname  *fname) {
+#pragma GCC diagnostic ignored -Wformat-nonliteral
 if (asprintf(logFileName, fname, display) == -1)
 FatalError(Cannot allocate space for the log file name\n);
 
@@ -205,6 +206,7 @@ LogInit(const char *fname, const char *backup)
 char *suffix;
 char *oldLog;
 
+#pragma GCC diagnostic ignored -Wformat-nonliteral
 if ((asprintf(suffix, backup, display) == -1) ||
 (asprintf(oldLog, %s%s, logFileName, suffix) == -1))
 FatalError(Cannot allocate space for the log file 
name\n);
-- 
1.8.5.2

___
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] kdrive: Fix -Wshadow errors

2014-01-13 Thread Keith Packard
Just rename stuff to avoid conflicts.

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/kdrive/src/kinput.c | 4 ++--
 hw/kdrive/src/kxv.c| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index 7d09e28..a539ca5 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -1940,7 +1940,7 @@ _KdEnqueuePointerEvent(KdPointerInfo * pi, int type, int 
x, int y, int z,
 }
 
 void
-KdBlockHandler(ScreenPtr pScreen, void *timeout, void *readmask)
+KdBlockHandler(ScreenPtr pScreen, void *timeo, void *readmask)
 {
 KdPointerInfo *pi;
 int myTimeout = 0;
@@ -1962,7 +1962,7 @@ KdBlockHandler(ScreenPtr pScreen, void *timeout, void 
*readmask)
 myTimeout = 20;
 }
 if (myTimeout  0)
-AdjustWaitForDelay(timeout, myTimeout);
+AdjustWaitForDelay(timeo, myTimeout);
 }
 
 void
diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c
index 9e76ead..445eb60 100644
--- a/hw/kdrive/src/kxv.c
+++ b/hw/kdrive/src/kxv.c
@@ -1821,14 +1821,14 @@ KdXVCopyPlanarData(KdScreenInfo * screen, CARD8 *src, 
CARD8 *dst, int randr,
 
 w = 1;
 for (j = 0; j  h; j++) {
-CARD32 *dst = (CARD32 *) dst1;
+CARD32 *dst32 = (CARD32 *) dst1;
 CARD8 *s1l = src1;
 CARD8 *s1r = src1 + srcNext;
 CARD8 *s2 = src2;
 CARD8 *s3 = src3;
 
 for (i = 0; i  w; i++) {
-*dst++ = *s1l | (*s1r  16) | (*s3  8) | (*s2  24);
+*dst32++ = *s1l | (*s1r  16) | (*s3  8) | (*s2  24);
 s1l += srcRight;
 s1r += srcRight;
 s2 += srcRight2;
-- 
1.8.5.2

___
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] exa: Fix -Wshadow warnings

2014-01-13 Thread Keith Packard
In exa_accel, there was a duplicate fetch of a pixmap private field.

exa_render just had a regular shadowed value.

Signed-off-by: Keith Packard kei...@keithp.com
---
 exa/exa_accel.c  | 1 -
 exa/exa_render.c | 6 +++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 0e948f4..9c742bd 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1039,7 +1039,6 @@ exaFillRegionSolid(DrawablePtr pDrawable, RegionPtr 
pRegion, Pixel pixel,
 pExaPixmap-sys_ptr  pDrawable-type == DRAWABLE_PIXMAP 
 pDrawable-width == 1  pDrawable-height == 1 
 pDrawable-bitsPerPixel != 24) {
-ExaPixmapPriv(pPixmap);
 RegionPtr pending_damage = 
DamagePendingRegion(pExaPixmap-pDamage);
 
 switch (pDrawable-bitsPerPixel) {
diff --git a/exa/exa_render.c b/exa/exa_render.c
index 172e2b5..c4edf40 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -915,7 +915,7 @@ exaComposite(CARD8 op,
 if (!pSrc-repeat  xSrc = 0  ySrc = 0 
 (xSrc + width = pSrc-pDrawable-width) 
 (ySrc + height = pSrc-pDrawable-height)) {
-Bool ret;
+Bool suc;
 
 xDst += pDst-pDrawable-x;
 yDst += pDst-pDrawable-y;
@@ -927,7 +927,7 @@ exaComposite(CARD8 op,
   yDst, width, height))
 goto done;
 
-ret = exaHWCopyNtoN(pSrc-pDrawable, pDst-pDrawable, NULL,
+suc = exaHWCopyNtoN(pSrc-pDrawable, pDst-pDrawable, NULL,
 RegionRects(region),
 RegionNumRects(region), xSrc - xDst,
 ySrc - yDst, FALSE, FALSE);
@@ -939,7 +939,7 @@ exaComposite(CARD8 op,
 xSrc -= pSrc-pDrawable-x;
 ySrc -= pSrc-pDrawable-y;
 
-if (!ret)
+if (!suc)
 goto fallback;
 
 goto done;
-- 
1.8.5.2

___
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] test/hashtabletest: Clean up -Wshadow errors

2014-01-13 Thread Keith Packard
Declare 'XID id' local to each scope it is used in, rather than having
the first use be a function-wide declaration.

Signed-off-by: Keith Packard kei...@keithp.com
---
 test/hashtabletest.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/test/hashtabletest.c b/test/hashtabletest.c
index 6af14a8..ceadfa7 100644
--- a/test/hashtabletest.c
+++ b/test/hashtabletest.c
@@ -26,7 +26,6 @@ static int
 test1(void)
 {
 HashTable h;
-XID id;
 int c;
 int ok = 1;
 const int numKeys = 420;
@@ -36,7 +35,7 @@ test1(void)
 
 for (c = 0; c  numKeys; ++c) {
   int *dest;
-  id = c;
+  XID id = c;
   dest = ht_add(h, id);
   if (dest) {
 *dest = 2 * c;
@@ -85,7 +84,6 @@ static int
 test2(void)
 {
 HashTable h;
-XID id;
 int c;
 int ok = 1;
 const int numKeys = 420;
@@ -94,7 +92,7 @@ test2(void)
 h = ht_create(sizeof(XID), 0, ht_resourceid_hash, ht_resourceid_compare, 
NULL);
 
 for (c = 0; c  numKeys; ++c) {
-  id = c;
+  XID id = c;
   ht_add(h, id);
 }
 
-- 
1.8.5.2

___
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] include: GetClientResolutions is declared in font.h

2014-01-13 Thread Keith Packard
No need to have a duplicate definition here.

Signed-off-by: Keith Packard kei...@keithp.com
---
 include/dixfontstubs.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/include/dixfontstubs.h b/include/dixfontstubs.h
index 0454ffa..535d312 100644
--- a/include/dixfontstubs.h
+++ b/include/dixfontstubs.h
@@ -11,8 +11,6 @@ extern _X_EXPORT int client_auth_generation(ClientPtr client);
 
 extern _X_EXPORT void DeleteFontClientID(Font id);
 
-extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
-
 extern _X_EXPORT int GetDefaultPointSize(void);
 
 extern _X_EXPORT Font GetNewFontClientID(void);
-- 
1.8.5.2

___
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] pseudoramiX: Clean up warnings. Only compile on XQUARTZ and XWIN

2014-01-13 Thread Keith Packard
Add _X_ATTRIBUTE_PRINTF attributes to debug functions.

PseudoramiXExtensionInit() is not defined in extinit.h if it won't be
used and we get a compiler warning when compiling the pseudoramiX code.

Signed-off-by: Keith Packard kei...@keithp.com
---
 Makefile.am   | 6 +-
 configure.ac  | 2 ++
 pseudoramiX/pseudoramiX.c | 8 
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 5bf760b..641cc00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,6 +25,10 @@ if PRESENT
 PRESENT_DIR=present
 endif
 
+if PSEUDORAMIX
+PSEUDORAMIX_DIR=pseudoramiX
+endif
+
 SUBDIRS = \
doc \
man \
@@ -35,11 +39,11 @@ SUBDIRS = \
Xext \
miext \
os \
-   pseudoramiX \
randr \
render  \
Xi \
xkb \
+   $(PSEUDORAMIX_DIR) \
$(DBE_DIR) \
$(RECORD_DIR) \
xfixes \
diff --git a/configure.ac b/configure.ac
index 234cf21..631a13f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2176,6 +2176,8 @@ if test x$XQUARTZ = xyes; then
fi
 fi
 
+AM_CONDITIONAL(PSEUDORAMIX, [test x$XQUARTZ = xyes -o x$XWIN = xyes ])
+
 # Support for objc in autotools is minimal and not documented.
 OBJC='$(CC)'
 OBJCLD='$(CCLD)'
diff --git a/pseudoramiX/pseudoramiX.c b/pseudoramiX/pseudoramiX.c
index 23dbc73..f47c783 100644
--- a/pseudoramiX/pseudoramiX.c
+++ b/pseudoramiX/pseudoramiX.c
@@ -100,6 +100,10 @@ static unsigned long pseudoramiXGeneration = 0;
 
 static void
 PseudoramiXTrace(const char *format, ...)
+_X_ATTRIBUTE_PRINTF(1, 2);
+
+static void
+PseudoramiXTrace(const char *format, ...)
 {
 va_list ap;
 
@@ -110,6 +114,10 @@ PseudoramiXTrace(const char *format, ...)
 
 static void
 PseudoramiXDebug(const char *format, ...)
+_X_ATTRIBUTE_PRINTF(1, 2);
+
+static void
+PseudoramiXDebug(const char *format, ...)
 {
 va_list ap;
 
-- 
1.8.5.2

___
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] os: Fix -Wshadow errors

2014-01-13 Thread Keith Packard
Rename variables to avoid shadowing globals

Signed-off-by: Keith Packard kei...@keithp.com
---
 os/xdmauth.c | 18 +-
 os/xdmcp.c   | 28 +---
 2 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/os/xdmauth.c b/os/xdmauth.c
index 28584d2..f11cbb9 100644
--- a/os/xdmauth.c
+++ b/os/xdmauth.c
@@ -62,7 +62,7 @@ static XdmAuthKeyRec privateKey;
 static char XdmAuthenticationName[] = XDM-AUTHENTICATION-1;
 
 #define XdmAuthenticationNameLen (sizeof XdmAuthenticationName - 1)
-static XdmAuthKeyRec rho;
+static XdmAuthKeyRec global_rho;
 
 static Bool
 XdmAuthenticationValidator(ARRAY8Ptr privateData, ARRAY8Ptr incomingData,
@@ -77,7 +77,7 @@ XdmAuthenticationValidator(ARRAY8Ptr privateData, ARRAY8Ptr 
incomingData,
 return FALSE;
 incoming = (XdmAuthKeyPtr) incomingData-data;
 XdmcpDecrementKey(incoming);
-return XdmcpCompareKeys(incoming, rho);
+return XdmcpCompareKeys(incoming, global_rho);
 }
 return FALSE;
 }
@@ -90,7 +90,7 @@ XdmAuthenticationGenerator(ARRAY8Ptr privateData, ARRAY8Ptr 
outgoingData,
 outgoingData-data = 0;
 if (packet_type == REQUEST) {
 if (XdmcpAllocARRAY8(outgoingData, 8))
-XdmcpWrap((unsigned char *) rho, (unsigned char *) privateKey,
+XdmcpWrap((unsigned char *) global_rho, (unsigned char *) 
privateKey,
   outgoingData-data, 8);
 }
 return TRUE;
@@ -150,10 +150,10 @@ XdmAuthenticationInit(const char *cookie, int cookie_len)
 cookie_len = 7;
 memmove(privateKey.data + 1, cookie, cookie_len);
 }
-XdmcpGenerateKey(rho);
+XdmcpGenerateKey(global_rho);
 XdmcpRegisterAuthentication(XdmAuthenticationName, 
XdmAuthenticationNameLen,
-(char *) rho,
-sizeof(rho),
+(char *) global_rho,
+sizeof(global_rho),
 (ValidatorFunc) XdmAuthenticationValidator,
 (GeneratorFunc) XdmAuthenticationGenerator,
 (AddAuthorFunc) XdmAuthenticationAddAuth);
@@ -328,7 +328,7 @@ XdmAddCookie(unsigned short data_length, const char *data, 
XID id)
 if (authFromXDMCP) {
 /* R5 xdm sent bogus authorization data in the accept packet,
  * but we can recover */
-rho_bits = rho.data;
+rho_bits = global_rho.data;
 key_bits = (unsigned char *) data;
 key_bits[0] = '\0';
 }
@@ -341,7 +341,7 @@ XdmAddCookie(unsigned short data_length, const char *data, 
XID id)
 break;
 #ifdef XDMCP
 case 8:/* auth from XDMCP is 8 bytes long */
-rho_bits = rho.data;
+rho_bits = global_rho.data;
 key_bits = (unsigned char *) data;
 break;
 #endif
@@ -466,7 +466,7 @@ XdmRemoveCookie(unsigned short data_length, const char 
*data)
 break;
 #ifdef XDMCP
 case 8:
-rho_bits = rho;
+rho_bits = global_rho;
 key_bits = (XdmAuthKeyPtr) data;
 break;
 #endif
diff --git a/os/xdmcp.c b/os/xdmcp.c
index fd8ae58..99616d9 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -641,15 +641,15 @@ XdmcpCloseDisplay(int sock)
 XdmcpBlockHandler(void *data, /* unused */
   struct timeval **wt, void *pReadmask)
 {
-fd_set *LastSelectMask = (fd_set *) pReadmask;
+fd_set *last_select_mask = (fd_set *) pReadmask;
 CARD32 millisToGo;
 
 if (state == XDM_OFF)
 return;
-FD_SET(xdmcpSocket, LastSelectMask);
+FD_SET(xdmcpSocket, last_select_mask);
 #if defined(IPv6)  defined(AF_INET6)
 if (xdmcpSocket6 = 0)
-FD_SET(xdmcpSocket6, LastSelectMask);
+FD_SET(xdmcpSocket6, last_select_mask);
 #endif
 if (timeOutTime == 0)
 return;
@@ -669,23 +669,23 @@ XdmcpBlockHandler(void *data, /* unused */
 XdmcpWakeupHandler(void *data,/* unused */
int i, void *pReadmask)
 {
-fd_set *LastSelectMask = (fd_set *) pReadmask;
+fd_set *last_select_mask = (fd_set *) pReadmask;
 fd_set devicesReadable;
 
 if (state == XDM_OFF)
 return;
 if (i  0) {
-if (FD_ISSET(xdmcpSocket, LastSelectMask)) {
+if (FD_ISSET(xdmcpSocket, last_select_mask)) {
 receive_packet(xdmcpSocket);
-FD_CLR(xdmcpSocket, LastSelectMask);
+FD_CLR(xdmcpSocket, last_select_mask);
 }
 #if defined(IPv6)  defined(AF_INET6)
-if (xdmcpSocket6 = 0  FD_ISSET(xdmcpSocket6, LastSelectMask)) {
+if (xdmcpSocket6 = 0  FD_ISSET(xdmcpSocket6, last_select_mask)) {
 receive_packet(xdmcpSocket6);
-FD_CLR(xdmcpSocket6, LastSelectMask);
+FD_CLR(xdmcpSocket6, last_select_mask);
 }
 #endif
-XFD_ANDSET(devicesReadable, LastSelectMask, EnabledDevices);
+XFD_ANDSET(devicesReadable, 

[PATCH 07/18] Xi: Use 'void *' instead of 'Pointer' (which is going away)

2014-01-13 Thread Keith Packard
There's no reason for XI to declare 'typedef char *Pointer' in a
shared header file; assume it will eventually go away and stop using
it here.

Signed-off-by: Keith Packard kei...@keithp.com
---
 Xi/grabdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Xi/grabdev.c b/Xi/grabdev.c
index 9c6c429..0900438 100644
--- a/Xi/grabdev.c
+++ b/Xi/grabdev.c
@@ -191,7 +191,7 @@ CreateMaskFromList(ClientPtr client, XEventClass * list, 
int count,
 for (j = 0; j  ExtEventIndex; j++)
 if (EventInfo[j].type == (*list  0xff)) {
 mask[device].mask |= EventInfo[j].mask;
-mask[device].dev = (Pointer) tdev;
+mask[device].dev = (void *) tdev;
 break;
 }
 }
-- 
1.8.5.2

___
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] test/signal-formatting: Ignore compiler warnings

2014-01-13 Thread Keith Packard
The signal formatting tests intentionally include code which generates
warnings with the current X server warning flags. Turn the compiler
warnings off

Signed-off-by: Keith Packard kei...@keithp.com
---
 test/signal-logging.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/test/signal-logging.c b/test/signal-logging.c
index 7bbd910..e8e88d6 100644
--- a/test/signal-logging.c
+++ b/test/signal-logging.c
@@ -117,6 +117,8 @@ static void
 number_formatting(void)
 {
 int i;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored -Woverflow
 long unsigned int unsigned_tests[] = { 0,/* Zero */
5, /* Single digit number */
12, /* Two digit decimal number */
@@ -139,6 +141,7 @@ number_formatting(void)
 -0x15D027BF211B37A, /* Large  32 bit number */
 -0x7FFF, /* Maximum 64-bit signed 
number */
 } ;
+#pragma GCC diagnostic pop
 
 for (i = 0; i  sizeof(unsigned_tests) / sizeof(unsigned_tests[0]); i++)
 assert(check_number_format_test(unsigned_tests[i]));
@@ -152,6 +155,8 @@ number_formatting(void)
 
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored -Wformat-security
+#pragma GCC diagnostic ignored -Wformat
+#pragma GCC diagnostic ignored -Wformat-extra-args
 static void logging_format(void)
 {
 const char *log_file_path = /tmp/Xorg-logging-test.log;
@@ -207,6 +212,7 @@ static void logging_format(void)
 read_log_msg(logmsg);
 assert(strcmp(logmsg, (EE) test a\n) == 0);
 
+#
 /* something unsupported % */
 LogMessageVerbSigSafe(X_ERROR, -1, test %Q\n);
 read_log_msg(logmsg);
@@ -220,14 +226,12 @@ static void logging_format(void)
 assert(strcmp(logmsg, (EE) substituted string\n) == 0);
 
 /* Invalid format */
-#warning Ignore compiler warning below lacks type at end of format.  This is 
intentional.
 LogMessageVerbSigSafe(X_ERROR, -1, %4, 4);
 read_log_msg(logmsg);
 assert(strcmp(logmsg, (EE) ) == 0);
 LogMessageVerbSigSafe(X_ERROR, -1, \n);
 fseek(f, 0, SEEK_END);
 
-#warning Ignore compiler warning below unknown conversion type character.  
This is intentional.
 /* %hld is bogus */
 LogMessageVerbSigSafe(X_ERROR, -1, %hld\n, 4);
 read_log_msg(logmsg);
-- 
1.8.5.2

___
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] Add 'FONT_PATH_NAME_ELEMENT_CONST' to dix-config.h and xorg-server.h

2014-01-13 Thread Keith Packard
This signals to the fontsproto code that the X server has been fixed
to allow the name member in a FontPathElement struct to be declared
const to eliminate piles of warnings when assigning string constants
to them.

Signed-off-by: Keith Packard kei...@keithp.com
---
 include/dix-config.h.in  | 3 +++
 include/xorg-server.h.in | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 957257b..55cfe47 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -472,4 +472,7 @@
 /* Don't let Xdefs.h define 'pointer' */
 #define _XTYPEDEF_POINTER   1
 
+/* Ask fontsproto to make font path element names const */
+#define FONT_PATH_ELEMENT_NAME_CONST1
+
 #endif /* _DIX_CONFIG_H_ */
diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
index 0c651bf..8bf9d38 100644
--- a/include/xorg-server.h.in
+++ b/include/xorg-server.h.in
@@ -224,4 +224,7 @@
 /* Use XTrans FD passing support */
 #undef XTRANS_SEND_FDS
 
+/* Ask fontsproto to make font path element names const */
+#define FONT_PATH_ELEMENT_NAME_CONST1
+
 #endif /* _XORG_SERVER_H_ */
-- 
1.8.5.2

___
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 13/18] hw/xnest: Eliminate shadowed names

2014-01-13 Thread Keith Packard
Just rename stuff; nothing fancy here.

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/xnest/Events.c |  6 +++---
 hw/xnest/GCOps.c  |  4 ++--
 hw/xnest/Init.c   | 22 +++---
 hw/xnest/Window.c |  2 +-
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c
index 447d5a7..3ff095b 100644
--- a/hw/xnest/Events.c
+++ b/hw/xnest/Events.c
@@ -64,15 +64,15 @@ SetTimeSinceLastInputEvent(void)
 }
 
 static Bool
-xnestExposurePredicate(Display * display, XEvent * event, char *args)
+xnestExposurePredicate(Display * dpy, XEvent * event, char *args)
 {
 return event-type == Expose || event-type == ProcessedExpose;
 }
 
 static Bool
-xnestNotExposurePredicate(Display * display, XEvent * event, char *args)
+xnestNotExposurePredicate(Display * dpy, XEvent * event, char *args)
 {
-return !xnestExposurePredicate(display, event, args);
+return !xnestExposurePredicate(dpy, event, args);
 }
 
 void
diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c
index fa60231..e1cf9d6 100644
--- a/hw/xnest/GCOps.c
+++ b/hw/xnest/GCOps.c
@@ -95,7 +95,7 @@ xnestPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, 
int x, int y,
 }
 
 static int
-xnestIgnoreErrorHandler (Display *display,
+xnestIgnoreErrorHandler (Display *dpy,
  XErrorEvent *event)
 {
 return False; /* return value is ignored */
@@ -127,7 +127,7 @@ xnestGetImage(DrawablePtr pDrawable, int x, int y, int w, 
int h,
 }
 
 static Bool
-xnestBitBlitPredicate(Display * display, XEvent * event, char *args)
+xnestBitBlitPredicate(Display * dpy, XEvent * event, char *args)
 {
 return event-type == GraphicsExpose || event-type == NoExpose;
 }
diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c
index 330b8ca..d9f490b 100644
--- a/hw/xnest/Init.c
+++ b/hw/xnest/Init.c
@@ -46,29 +46,29 @@ is without express or implied warranty.
 Bool xnestDoFullGeneration = True;
 
 void
-InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
+InitOutput(ScreenInfo * screen_info, int argc, char *argv[])
 {
 int i, j;
 
 xnestOpenDisplay(argc, argv);
 
-screenInfo-imageByteOrder = ImageByteOrder(xnestDisplay);
-screenInfo-bitmapScanlineUnit = BitmapUnit(xnestDisplay);
-screenInfo-bitmapScanlinePad = BitmapPad(xnestDisplay);
-screenInfo-bitmapBitOrder = BitmapBitOrder(xnestDisplay);
+screen_info-imageByteOrder = ImageByteOrder(xnestDisplay);
+screen_info-bitmapScanlineUnit = BitmapUnit(xnestDisplay);
+screen_info-bitmapScanlinePad = BitmapPad(xnestDisplay);
+screen_info-bitmapBitOrder = BitmapBitOrder(xnestDisplay);
 
-screenInfo-numPixmapFormats = 0;
+screen_info-numPixmapFormats = 0;
 for (i = 0; i  xnestNumPixmapFormats; i++)
 for (j = 0; j  xnestNumDepths; j++)
 if ((xnestPixmapFormats[i].depth == 1) ||
 (xnestPixmapFormats[i].depth == xnestDepths[j])) {
-screenInfo-formats[screenInfo-numPixmapFormats].depth =
+screen_info-formats[screen_info-numPixmapFormats].depth =
 xnestPixmapFormats[i].depth;
-screenInfo-formats[screenInfo-numPixmapFormats].bitsPerPixel 
=
+
screen_info-formats[screen_info-numPixmapFormats].bitsPerPixel =
 xnestPixmapFormats[i].bits_per_pixel;
-screenInfo-formats[screenInfo-numPixmapFormats].scanlinePad =
+
screen_info-formats[screen_info-numPixmapFormats].scanlinePad =
 xnestPixmapFormats[i].scanline_pad;
-screenInfo-numPixmapFormats++;
+screen_info-numPixmapFormats++;
 break;
 }
 
@@ -80,7 +80,7 @@ InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
 for (i = 0; i  xnestNumScreens; i++)
 AddScreen(xnestOpenScreen, argc, argv);
 
-xnestNumScreens = screenInfo-numScreens;
+xnestNumScreens = screen_info-numScreens;
 
 xnestDoFullGeneration = xnestFullGeneration;
 }
diff --git a/hw/xnest/Window.c b/hw/xnest/Window.c
index c33cbaa..fc87e82 100644
--- a/hw/xnest/Window.c
+++ b/hw/xnest/Window.c
@@ -380,7 +380,7 @@ xnestClipNotify(WindowPtr pWin, int dx, int dy)
 }
 
 static Bool
-xnestWindowExposurePredicate(Display * display, XEvent * event, XPointer ptr)
+xnestWindowExposurePredicate(Display * dpy, XEvent * event, XPointer ptr)
 {
 return (event-type == Expose  event-xexpose.window == *(Window *) ptr);
 }
-- 
1.8.5.2

___
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] kdrive/ephyr: Remove extra 'i' variable in ProcXF86DRIGetDrawableInfo

2014-01-13 Thread Keith Packard
Just re-use the top-level one

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/kdrive/ephyr/ephyrdriext.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
index e2b33db..8368d12 100644
--- a/hw/kdrive/ephyr/ephyrdriext.c
+++ b/hw/kdrive/ephyr/ephyrdriext.c
@@ -1098,7 +1098,6 @@ ProcXF86DRIGetDrawableInfo(register ClientPtr client)
 if (rep.numClipRects) {
 if (clipRects) {
 ScreenPtr pScreen = screenInfo.screens[stuff-screen];
-int i = 0;
 
 EPHYR_LOG(clip list of host gl drawable:\n);
 for (i = 0; i  rep.numClipRects; i++) {
-- 
1.8.5.2

___
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 1/1] randr: make RROutputChanged change the main protocol screen not the gpu screen

2014-01-13 Thread Alberto Milone
On 16/12/13 09:52, Alberto Milone wrote:
 On 12/12/13 10:00, Alberto Milone wrote:
 We only set changes on the main protocol screen as, for example
 in RRSetChanged() and RRTellChanged(), therefore we should follow
 the same logic when reporting that an output changed in
 RROutputChanged().

 This means that RRTellChanged() will then update the relevant
 timestamps also when events come from gpu screens.

 Reviewed-by: Dave Airlie airl...@redhat.com
 Signed-off-by: Alberto Milone alberto.mil...@canonical.com
 
 Keith, please let me know if there's anything else I should modify in
 the patch or if it's ok for inclusion now.
 
 Thank,
 

If there are no further objections, can you commit the patch, please?

Thank you,

-- 
Alberto Milone
Software Engineer
Hardware Enablement Team
Professional and Engineering Services
___
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 00/37] Warning fixes (post 1.15 proposed changes)

2014-01-13 Thread Colin Harrison
PS

Also some protos don't now work, for me, when compiling xserver now we have
lost the 'pointer' type

--- save_Xdefs.h2013-07-08 16:18:17.466538543 +0100
+++ Xdefs.h 2014-01-13 17:13:09.440775586 +
@@ -101,8 +101,8 @@ typedef FSID AccContext;
 typedef struct timeval **OSTimePtr;


-typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+typedef void (* BlockHandlerProcPtr)(void */* blockData */,
 OSTimePtr /* pTimeout */,
-pointer /* pReadmask */);
+void */* pReadmask */);

 #endif

And

--- save_fontproto.h2013-07-08 16:18:30.594626285 +0100
+++ fontproto.h 2014-01-13 17:26:10.670117716 +
@@ -74,7 +74,7 @@ extern FontPtr  CreateFontRec (void);
 extern void  DestroyFontRec (FontPtr font);
 extern Bool _FontSetNewPrivate (FontPtr/* pFont */,
int/* n */,
-   pointer/* ptr */);
+   void * /* ptr */);
 extern int  AllocateFontPrivateIndex (void);
 extern void ResetFontPrivateIndex (void);

And

--- save_fontstruct.h   2013-07-08 16:18:30.594626285 +0100
+++ fontstruct.h2014-01-13 17:24:10.801288612 +
@@ -122,11 +122,11 @@ typedef struct _Font {
 void(*unload_font) (FontPtr /* font */);
 void(*unload_glyphs) (FontPtr /* font */);
 FontPathElementPtr fpe;
-pointer svrPrivate;
-pointer fontPrivate;
-pointer fpePrivate;
+void *  svrPrivate;
+void *  fontPrivate;
+void *  fpePrivate;
 intmaxPrivate;
-pointer*devPrivates;
+void * *devPrivates;
 }   FontRec;

 #define FontGetPrivate(pFont,n) ((n)  (pFont)-maxPrivate ? (pointer) 0 :
\
@@ -149,14 +149,14 @@ typedef struct _FontPathElement {
 char   *name;
 int type;
 int refcount;
-pointer private;
+void *  private;
 }   FontPathElementRec;

 typedef Bool (*NameCheckFunc) (char *name);
 typedef int (*InitFpeFunc) (FontPathElementPtr fpe);
 typedef int (*FreeFpeFunc) (FontPathElementPtr fpe);
 typedef int (*ResetFpeFunc) (FontPathElementPtr fpe);
-typedef int (*OpenFontFunc) ( pointer client,
+typedef int (*OpenFontFunc) ( void * client,
  FontPathElementPtr fpe,
  Mask flags,
  char* name,
@@ -168,55 +168,55 @@ typedef int (*OpenFontFunc) ( pointer cl
  char** aliasName,
  FontPtr non_cachable_font);
 typedef void (*CloseFontFunc) (FontPathElementPtr fpe, FontPtr pFont);
-typedef int (*ListFontsFunc) (pointer client,
+typedef int (*ListFontsFunc) (void * client,
  FontPathElementPtr fpe,
  char* pat,
  int len,
  int max,
  FontNamesPtr names);

-typedef int (*StartLfwiFunc) (pointer client,
+typedef int (*StartLfwiFunc) (void * client,
  FontPathElementPtr fpe,
  char* pat,
  int len,
  int max,
- pointer* privatep);
+ void** privatep);

-typedef int (*NextLfwiFunc) (pointer client,
+typedef int (*NextLfwiFunc) (void * client,
 FontPathElementPtr fpe,
 char** name,
 int* namelen,
 FontInfoPtr* info,
 int* numFonts,
-pointer private);
+void * private);

 typedef int (*WakeupFpeFunc) (FontPathElementPtr fpe,
  unsigned long* LastSelectMask);

-typedef void (*ClientDiedFunc) (pointer client,
+typedef void (*ClientDiedFunc) (void * client,
   FontPathElementPtr fpe);

-typedef int (*LoadGlyphsFunc) (pointer client,
+typedef int (*LoadGlyphsFunc) (void * client,
   FontPtr pfont,
   Bool range_flag,
   unsigned int nchars,
   int item_size,
   unsigned char* data);

-typedef int (*StartLaFunc) (pointer client,
+typedef int (*StartLaFunc) (void * client,
FontPathElementPtr fpe,
char* pat,
int len,
int max,
-   pointer* privatep);
+   void** privatep);

-typedef int (*NextLaFunc) (pointer client,
+typedef int (*NextLaFunc) (void * client,
   FontPathElementPtr fpe,
 

Re: [PATCH 00/37] Warning fixes (post 1.15 proposed changes)

2014-01-13 Thread Colin Harrison
Hi,

This message was sent before the last one?
(maybe Biff the dog ran off and buried it!)
Apologies if it now appears twice!

Some const GC funcs and ops were missed in rootless...

--- ./miext/rootless/save_rootlessGC.c  2014-01-13 08:09:28.124320860 +
+++ ./miext/rootless/rootlessGC.c   2014-01-13 18:31:27.668467154 +
@@ -403,7 +403,7 @@
 #define GCOP_UNWRAP(pGC) \
 RootlessGCRec *gcrec = (RootlessGCRec *) \
 dixLookupPrivate((pGC)-devPrivates, rootlessGCPrivateKey); \
-GCFuncs *saveFuncs = pGC-funcs; \
+const GCFuncs *saveFuncs = pGC-funcs; \
 (pGC)-funcs = gcrec-originalFuncs; \
 (pGC)-ops = gcrec-originalOps;

And

--- ./miext/rootless/save_rootlessCommon.h  2013-05-24
07:01:08.0 +0100
+++ ./miext/rootless/rootlessCommon.h   2014-01-13 15:37:06.933788427 +
@@ -70,8 +70,8 @@

 // RootlessGCRec: private per-gc data
 typedef struct {
-GCFuncs *originalFuncs;
-GCOps *originalOps;
+const GCFuncs *originalFuncs;
+const GCOps *originalOps;
 } RootlessGCRec;

 // RootlessScreenRec: per-screen private data

Thanks,
Colin Harrison





___
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] os: restrict display names to digits

2014-01-13 Thread Peter Hutterer
We call atoi() on the server's display to get the socket but otherwise use the
unmodified display for log file name, xkb paths, etc. This results in
Xorg :banana being the equivalent of Xorg :0, except for the log files being
in /var/log/Xorg.banana.log. I'm not sure there's a good use-case for this
behaviour.

Check the display for something that looks reasonable, i.e. digits only, but
do allow for :0.0 (i.e. digits, followed by a period, followed by one or two
digits).

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
---
 os/utils.c | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/os/utils.c b/os/utils.c
index 608ee6a..3b20a5c 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -600,6 +600,10 @@ UseMsg(void)
 static int
 VerifyDisplayName(const char *d)
 {
+int i;
+int period_found = FALSE;
+int after_period = 0;
+
 if (d == (char *) 0)
 return 0;   /*  null  */
 if (*d == '\0')
@@ -610,6 +614,29 @@ VerifyDisplayName(const char *d)
 return 0;   /*  must not equal . or ..  */
 if (strchr(d, '/') != (char *) 0)
 return 0;   /*  very important!!!  */
+
+/* Since we run atoi() on the display later, only allow
+   for digits, or exception of :0.0 and similar (two decimal points max)
+   */
+for (i = 0; i  strlen(d); i++) {
+if (!isdigit(d[i])) {
+if (d[i] != '.' || period_found)
+return 0;
+period_found = TRUE;
+} else if (period_found)
+after_period++;
+
+if (after_period  2)
+return 0;
+}
+
+/* don't allow for :0. */
+if (period_found  after_period == 0)
+return 0;
+
+if (atol(d)  INT_MAX)
+return 0;
+
 return 1;
 }
 
-- 
1.8.4.2

___
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] Replace 'pointer' with explicit 'void *'

2014-01-13 Thread Keith Packard
To get rid of the 'pointer' typedef, stop using it locally. That way,
when _XTYPEDEF_POINTER is defined before Xdefs.h is included, it won't
get defined and Xdefs.h will still compile.

Signed-off-by: Keith Packard kei...@keithp.com
---
 Xdefs.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Xdefs.h b/Xdefs.h
index 46ffdad..e25a208 100644
--- a/Xdefs.h
+++ b/Xdefs.h
@@ -101,8 +101,8 @@ typedef FSID AccContext;
 typedef struct timeval **OSTimePtr;
 
 
-typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+typedef void (* BlockHandlerProcPtr)(void * /* blockData */,
 OSTimePtr /* pTimeout */,
-pointer /* pReadmask */);
+void * /* pReadmask */);
 
 #endif
-- 
1.8.5.2

___
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:x11proto] Add more comments on connection setup to Xproto.h

2014-01-13 Thread Alan Coopersmith
Some of the bits I forget and have to dig out of the protocol spec
every few years when I need to know again.

Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com
---
 Xproto.h |   17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/Xproto.h b/Xproto.h
index 76e2c99..6cdea89 100644
--- a/Xproto.h
+++ b/Xproto.h
@@ -259,10 +259,13 @@ restoring the definitions in X.h.  */
 typedef CARD16 KeyButMask;
 
 /* 
-   connection setup structure.  This is followed by
-   numRoots xWindowRoot structs.
+   Connection setup structures.  See Chapter 8: Connection Setup
+   of the X Window System Protocol specification for details.
 */
 
+/* Client initiates handshake with this data, followed by the strings
+ * for the auth protocol  data.
+ */
 typedef struct {
 CARD8  byteOrder;
 BYTE   pad;
@@ -272,6 +275,16 @@ typedef struct {
 CARD16 pad2 B16;
 } xConnClientPrefix;
 
+/* Server response to xConnClientPrefix.
+ *
+ * If success == Success, this is followed by xConnSetup and
+ * numRoots xWindowRoot structs.
+ *
+ * If success == Failure, this is followed by a reason string.
+ *
+ * The protocol also defines a case of success == Authenticate, but
+ * that doesn't seem to have ever been implemented by the X Consortium.
+ */
 typedef struct {
 CARD8  success;
 BYTE   lengthReason; /*num bytes in string following if failure */
-- 
1.7.9.2

___
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 00/37] Warning fixes (post 1.15 proposed changes)

2014-01-13 Thread Colin Harrison
Hi,

Some const GC funcs and ops were missed in rootless...

--- ./miext/rootless/save_rootlessGC.c  2014-01-13 08:09:28.124320860 +
+++ ./miext/rootless/rootlessGC.c   2014-01-13 18:31:27.668467154 +
@@ -403,7 +403,7 @@
 #define GCOP_UNWRAP(pGC) \
 RootlessGCRec *gcrec = (RootlessGCRec *) \
 dixLookupPrivate((pGC)-devPrivates, rootlessGCPrivateKey); \
-GCFuncs *saveFuncs = pGC-funcs; \
+const GCFuncs *saveFuncs = pGC-funcs; \
 (pGC)-funcs = gcrec-originalFuncs; \
 (pGC)-ops = gcrec-originalOps;

And

--- ./miext/rootless/save_rootlessCommon.h  2013-05-24
07:01:08.0 +0100
+++ ./miext/rootless/rootlessCommon.h   2014-01-13 15:37:06.933788427 +
@@ -70,8 +70,8 @@

 // RootlessGCRec: private per-gc data
 typedef struct {
-GCFuncs *originalFuncs;
-GCOps *originalOps;
+const GCFuncs *originalFuncs;
+const GCOps *originalOps;
 } RootlessGCRec;

 // RootlessScreenRec: per-screen private data

Thanks,
Colin Harrison

___
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] Replace 'pointer' with explicit 'void *'

2014-01-13 Thread Alan Coopersmith

On 01/13/14 04:19 PM, Keith Packard wrote:

To get rid of the 'pointer' typedef, stop using it locally. That way,
when _XTYPEDEF_POINTER is defined before Xdefs.h is included, it won't
get defined and Xdefs.h will still compile.

Signed-off-by: Keith Packard kei...@keithp.com
---
  Xdefs.h | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Xdefs.h b/Xdefs.h
index 46ffdad..e25a208 100644
--- a/Xdefs.h
+++ b/Xdefs.h
@@ -101,8 +101,8 @@ typedef FSID AccContext;
  typedef struct timeval **OSTimePtr;


-typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+typedef void (* BlockHandlerProcPtr)(void * /* blockData */,
 OSTimePtr /* pTimeout */,
-pointer /* pReadmask */);
+void * /* pReadmask */);


Does this need to be #ifdef'ed to avoid breaking people building
1.15.x  earlier releases?

--
-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: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Replace 'pointer' with explicit 'void *'

2014-01-13 Thread Keith Packard
Alan Coopersmith alan.coopersm...@oracle.com writes:

 Does this need to be #ifdef'ed to avoid breaking people building
 1.15.x  earlier releases?

No. 'pointer' was just a typedef for 'void *'.

-- 
keith.pack...@intel.com


pgpmehAuRqc8T.pgp
Description: PGP signature
___
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 2/4] fb: Clear invalid plane mask bits in GetImage

2014-01-13 Thread Keith Packard
Anything outside of the depth should not end up in the resulting image.

Signed-off-by: Keith Packard kei...@keithp.com
---
 fb/fbimage.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fb/fbimage.c b/fb/fbimage.c
index 59daa21..75e38c2 100644
--- a/fb/fbimage.c
+++ b/fb/fbimage.c
@@ -260,6 +260,7 @@ fbGetImage(DrawablePtr pDrawable,
 }
 else {
 dstStride = BitmapBytePad(w) / sizeof(FbStip);
+planeMask = FbFullMask(pDrawable-depth);
 fbBltPlane(src + (y + srcYoff) * srcStride,
srcStride,
(x + srcXoff) * srcBpp,
-- 
1.8.5.2

___
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 4/4] ephyr: Add -bitmap8 flag to specify 8 bpp for bitmaps

2014-01-13 Thread Keith Packard
This provides a way to test fb support for 8bpp bitmaps.

Signed-off-by: Keith Packard kei...@keithp.com
---
 hw/kdrive/ephyr/ephyr.c | 3 +++
 hw/kdrive/ephyr/ephyrinit.c | 5 +
 2 files changed, 8 insertions(+)

diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
index 12c7086..c9da870 100644
--- a/hw/kdrive/ephyr/ephyr.c
+++ b/hw/kdrive/ephyr/ephyr.c
@@ -62,6 +62,7 @@ typedef struct _EphyrInputPrivate {
 
 Bool EphyrWantGrayScale = 0;
 Bool EphyrWantResize = 0;
+Bool EphyrBitmap8 = 0;
 
 Bool
 host_has_extension(xcb_extension_t *extension)
@@ -638,6 +639,8 @@ ephyrInitScreen(ScreenPtr pScreen)
 hostx_set_win_title(screen, (ctrl+shift grabs mouse and keyboard));
 pScreen-CreateColormap = ephyrCreateColormap;
 
+fbSetBitmap8bpp(pScreen, EphyrBitmap8);
+
 #ifdef XV
 if (!ephyrNoXV) {
 if (!ephyrInitVideo(pScreen)) {
diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
index 3230e70..0dbf7eb 100644
--- a/hw/kdrive/ephyr/ephyrinit.c
+++ b/hw/kdrive/ephyr/ephyrinit.c
@@ -33,6 +33,7 @@
 extern Window EphyrPreExistingHostWin;
 extern Bool EphyrWantGrayScale;
 extern Bool EphyrWantResize;
+extern Bool EphyrBitmap8;
 extern Bool kdHasPointer;
 extern Bool kdHasKbd;
 
@@ -310,7 +311,11 @@ ddxProcessArgument(int argc, char **argv, int i)
  !strcmp(argv[i], -class) ||
  !strcmp(argv[i], -geometry) || !strcmp(argv[i], -scrns)) {
 return 2;
+} else if (!strcmp(argv[i], -bitmap8)) {
+EphyrBitmap8 = TRUE;
+return 1;
 }
+
 /* end Xnest compat */
 
 return KdProcessArgument(argc, argv, i);
-- 
1.8.5.2

___
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 0/4] fb support for 8bpp bitmaps

2014-01-13 Thread Keith Packard
Here's a fun sequence of patches. What it does is make fb support
bitmaps (depth 1 pixmaps) that are stored in 8 bits per pixel. Why
would you want to do this, you ask? Well, Glamor wants to use GL for
all rendering, and GL has no support for 1bpp surfaces. Making fb
support bitmaps in 8bpp means we'll have native format support in GL
for the same pixmaps which means we can map them instead of copying
them.

The tricky parts here involve stippling and copy plane operations,
those are handled by creating a fetching function that reads 32 
bytes from the source and converts that into 32 bits.

I've run the piglit-wrapped X test suite with these changes and it now
matches the old code

A new function, fbSetBitmap8bpp, can be called by drivers to select
this new mode.

I can easily imagine changing that function into something which took
the actual bpp instead of only offering a boolean, in case we want to
also support 32bpp bitmaps.

Just rename these two macros to avoid potential conflicts:
 [PATCH 1/4] fb: Rename READ/WRITE macros to FB_READ/FB_WRITE

Makes sure we don't try to fetch data beyond depth when doing XY GetImage:
 [PATCH 2/4] fb: Clear invalid plane mask bits in GetImage

The fb changes:
 [PATCH 3/4] fb: Add support for 8-bpp pixmaps

And the way I tested this:
 [PATCH 4/4] ephyr: Add -bitmap8 flag to specify 8 bpp for bitmaps

-keith
___
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 3/4] fb: Add support for 8-bpp pixmaps

2014-01-13 Thread Keith Packard
This allows the driver to ask for depth-1 pixmaps to be stored with 8
bits per pixel, keeping all 8 bits of each pixel either 0 or 0xff.

Images in Z-format remain 1bpp.

Signed-off-by: Keith Packard kei...@keithp.com
---
 fb/fb.h| 107 +-
 fb/fbbltone.c  | 111 ++---
 fb/fbcopy.c|   3 +-
 fb/fbfill.c|   2 +-
 fb/fbgc.c  |  10 --
 fb/fbglyph.c   |   2 +-
 fb/fbimage.c   |  33 +
 fb/fbpixmap.c  |   8 -
 fb/fbpush.c|  12 ---
 fb/fbscreen.c  |   9 +
 fb/fbstipple.c |  10 --
 fb/wfbrename.h |   1 +
 12 files changed, 204 insertions(+), 104 deletions(-)

diff --git a/fb/fb.h b/fb/fb.h
index f5eb1e1..540538b 100644
--- a/fb/fb.h
+++ b/fb/fb.h
@@ -582,6 +582,9 @@ typedef void (*FinishWrapProcPtr) (DrawablePtr pDraw);
 
 #ifdef FB_ACCESS_WRAPPER
 
+extern _X_EXPORT ReadMemoryProcPtr wfbReadMemory;
+extern _X_EXPORT WriteMemoryProcPtr wfbWriteMemory;
+
 #define fbPrepareAccess(pDraw) \
fbGetScreenPrivate((pDraw)-pScreen)-setupWrap( \
wfbReadMemory, \
@@ -597,6 +600,46 @@ typedef void (*FinishWrapProcPtr) (DrawablePtr pDraw);
 
 #endif
 
+/*
+ * Given a depth 1, 8bpp stipple, pull out
+ * a full FbStip worth of packed bits
+ */
+static inline FbStip
+fb_pack_stip_8_1(FbStip *bits) {
+FbStip  r = 0;
+int i;
+
+for (i = 0; i  8; i++) {
+FbStip  b;
+uint8_t p;
+
+b = FB_READ(bits++);
+#if BITMAP_BIT_ORDER == LSBFirst
+p = (b  1) | ((b  7)  2) | ((b  14)  4) | ((b  21)  8);
+r |= p  (i  2);
+#else
+p = (b  0x8000) | ((b  7)  0x4000) |
+((b  14)  0x2000) | ((b  21)  0x1000);
+r |= p  (i  2);
+#endif
+}
+return r;
+}
+
+/*
+ * Return packed stipple bits from src
+ */
+static inline FbStip
+fb_stip_read(FbStip *bits, int bpp)
+{
+switch (bpp) {
+default:
+return FB_READ(bits);
+case 8:
+return fb_pack_stip_8_1(bits);
+}
+}
+
 extern _X_EXPORT DevPrivateKey
 fbGetScreenPrivateKey(void);
 
@@ -604,6 +647,7 @@ fbGetScreenPrivateKey(void);
 typedef struct {
 unsigned char win32bpp; /* window bpp for 32-bpp images */
 unsigned char pix32bpp; /* pixmap bpp for 32-bpp images */
+unsigned char bitmap8bpp;   /* bitmaps are 8bpp */
 #ifdef FB_ACCESS_WRAPPER
 SetupWrapProcPtr setupWrap; /* driver hook to set pixmap access wrapping */
 FinishWrapProcPtr finishWrap;   /* driver hook to clean up pixmap 
access wrapping */
@@ -1009,18 +1053,18 @@ fbBlt24(FbBits * srcLine,
 int height, int alu, FbBits pm, Bool reverse, Bool upsidedown);
 
 extern _X_EXPORT void
- fbBltStip(FbStip * src, FbStride srcStride,/* in FbStip units, not FbBits 
units */
-   int srcX, FbStip * dst, FbStride dstStride,  /* in FbStip units, 
not FbBits units */
-   int dstX, int width, int height, int alu, FbBits pm, int bpp);
+fbBltStip(FbStip * src, FbStride srcStride,/* in FbStip units, not FbBits 
units */
+  int srcX, FbStip * dst, FbStride dstStride,  /* in FbStip units, not 
FbBits units */
+  int dstX, int width, int height, int alu, FbBits pm, int bpp);
 
 /*
  * fbbltone.c
  */
 extern _X_EXPORT void
-
 fbBltOne(FbStip * src,
  FbStride srcStride,
  int srcX,
+ int srcBpp,
  FbBits * dst,
  FbStride dstStride,
  int dstX,
@@ -1029,18 +1073,18 @@ fbBltOne(FbStip * src,
  int height, FbBits fgand, FbBits fbxor, FbBits bgand, FbBits bgxor);
 
 extern _X_EXPORT void
- fbBltOne24(FbStip * src, FbStride srcStride,   /* FbStip units per scanline */
-int srcX,   /* bit position of source */
-FbBits * dst, FbStride dstStride,   /* FbBits units per scanline */
-int dstX,   /* bit position of dest */
-int dstBpp, /* bits per destination unit */
-int width,  /* width in bits of destination */
-int height, /* height in scanlines */
-FbBits fgand,   /* rrop values */
-FbBits fgxor, FbBits bgand, FbBits bgxor);
+fbBltOne24(FbStip * src, FbStride srcStride,   /* FbStip units per scanline */
+   int srcX,   /* bit position of source */
+   int srcBpp, /* bits per pixel for source */
+   FbBits * dst, FbStride dstStride,   /* FbBits units per scanline */
+   int dstX,   /* bit position of dest */
+   int dstBpp, /* bits per destination unit */
+   int width,  /* width in bits of destination */
+   int height, /* height in scanlines */
+   FbBits fgand,   /* rrop values */
+   FbBits fgxor, FbBits bgand, FbBits bgxor);
 
 extern _X_EXPORT void
-
 fbBltPlane(FbBits * src,
FbStride srcStride,
int srcX,
@@ -1366,14 +1410,16 @@ extern 

Re: Remaining X server warning fixes

2014-01-13 Thread Guillem Jover
On Mon, 2014-01-13 at 10:17:40 -0800, Keith Packard wrote:
 Here's 18 patches which clean up the remaining warnings (at least for
 me) in the X server. A couple of these are new as of this series, but
 the rest have been posted before
 
 Old patches, posted before Christmas:
 
 [PATCH 01/18] Warning fixes in glx
 [PATCH 02/18] pseudoramiX: Clean up warnings. Only compile on XQUARTZ
 [PATCH 03/18] include: GetClientResolutions is declared in font.h
 [PATCH 04/18] Ignore a couple of format-nonliteral warnings
 [PATCH 05/18] Add 'FONT_PATH_NAME_ELEMENT_CONST' to dix-config.h and
 [PATCH 06/18] os: Fix -Wshadow errors
 [PATCH 07/18] Xi: Use 'void *' instead of 'Pointer' (which is going
 [PATCH 08/18] xfree86: Fix -Wshadow warnings
 [PATCH 09/18] composite: Remove duplicate window pixmap fetch
 [PATCH 10/18] exa: Fix -Wshadow warnings
 [PATCH 11/18] kdrive: Fix -Wshadow errors
 [PATCH 12/18] hw/vfb: Rename screenInfo parameter to screen_info
 [PATCH 13/18] hw/xnest: Eliminate shadowed names
 [PATCH 14/18] randr: Eliminate -Wshadow warnings

Didn't Adam send several of those (days before you poster yours),
which you also already reviewed?

Thanks,
Guillem
___
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: Remaining X server warning fixes

2014-01-13 Thread Keith Packard
Guillem Jover guil...@hadrons.org writes:

 Didn't Adam send several of those (days before you poster yours),
 which you also already reviewed?

Yeah, I'll sort those out and figure out what to do. Still recovering
From LCA today...

-- 
keith.pack...@intel.com


pgpJBWNcjZpAU.pgp
Description: PGP signature
___
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] os: restrict display names to digits

2014-01-13 Thread Keith Packard
Peter Hutterer peter.hutte...@who-t.net writes:

 We call atoi() on the server's display to get the socket but otherwise use the
 unmodified display for log file name, xkb paths, etc. This results in
 Xorg :banana being the equivalent of Xorg :0, except for the log files being
 in /var/log/Xorg.banana.log. I'm not sure there's a good use-case for this
 behaviour.

 Check the display for something that looks reasonable, i.e. digits only, but
 do allow for :0.0 (i.e. digits, followed by a period, followed by one or two
 digits).

Reviewed-by: Keith Packard kei...@keithp.com

-- 
keith.pack...@intel.com


pgpTftJvhBvoQ.pgp
Description: PGP signature
___
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 0/4] fb support for 8bpp bitmaps

2014-01-13 Thread Michel Dänzer
On Mon, 2014-01-13 at 18:00 -0800, Keith Packard wrote:
 Here's a fun sequence of patches. What it does is make fb support
 bitmaps (depth 1 pixmaps) that are stored in 8 bits per pixel. Why
 would you want to do this, you ask? Well, Glamor wants to use GL for
 all rendering, and GL has no support for 1bpp surfaces. Making fb
 support bitmaps in 8bpp means we'll have native format support in GL
 for the same pixmaps which means we can map them instead of copying
 them.

Didn't SNA prove though that sharing the same pixel storage for GPU and
CPU doesn't give the overall best performance even with Intel GPUs? It
certainly doesn't with most other GPUs.


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

___
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 58652] One pixel column that belongs in one monitor shows up in the other instead

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=58652

--- Comment #4 from Alex Deucher ag...@yahoo.com ---
(In reply to comment #3)
 This is still an existing problem since a couple of years in my setup, so
 I'll try to move it a bit to get it solved:
 
 I wonder if there's any way on which this alignment could be off-by-one in
 the xrandr code for this specific case. Is there any way or place where I
 could have a look and try?

It's a radeon display hardware alignment requirement.

-- 
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 58652] One pixel column that belongs in one monitor shows up in the other instead

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=58652

Alex Deucher ag...@yahoo.com changed:

   What|Removed |Added

 CC||grumpyro...@mailinator.com

--- Comment #5 from Alex Deucher ag...@yahoo.com ---
*** Bug 63900 has been marked as a duplicate of this bug. ***

-- 
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 63900] Position of second monitor wrong in dual monitor setup if first monitor is 1366x768

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=63900

Alex Deucher ag...@yahoo.com changed:

   What|Removed |Added

 Resolution|NOTABUG |DUPLICATE

--- Comment #12 from Alex Deucher ag...@yahoo.com ---


*** This bug has been marked as a duplicate of bug 58652 ***

-- 
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 73519] Unable to start X with radeon 6480g

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73519

--- Comment #3 from Maxim ya.maxi...@yandex.ru ---
Created attachment 91951
  -- https://bugs.freedesktop.org/attachment.cgi?id=91951action=edit
dmesg (radeon)

-- 
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 73519] Unable to start X with radeon 6480g

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73519

--- Comment #4 from Alex Deucher ag...@yahoo.com ---
Is this a regression?  Did the driver work properly with an older kernel, etc? 
Does booting with radeon.runpm=0 on the kernel command line in grub help?

-- 
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 73519] Unable to start X with radeon 6480g

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73519

--- Comment #5 from Maxim ya.maxi...@yandex.ru ---
(In reply to comment #4)
 Is this a regression?  Did the driver work properly with an older kernel,
 etc?  Does booting with radeon.runpm=0 on the kernel command line in grub
 help?

Booting with radeon.runpm=0 helps, but what radeon.runpm do?

-- 
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 73519] Unable to start X with radeon 6480g

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73519

--- Comment #6 from Alex Deucher ag...@yahoo.com ---
(In reply to comment #5)
 Booting with radeon.runpm=0 helps, but what radeon.runpm do?

It disables dynamic powering up/down of the dGPU in your system.  Make sure
your kernel has this patch:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f244d8b623dae7a7bc695b0336f67729b95a9736

-- 
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 73519] Unable to start X with radeon 6480g

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73519

--- Comment #7 from Maxim ya.maxi...@yandex.ru ---
(In reply to comment #6)
 (In reply to comment #5)
  Booting with radeon.runpm=0 helps, but what radeon.runpm do?
 
 It disables dynamic powering up/down of the dGPU in your system.  Make sure
 your kernel has this patch:
 http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/
 ?id=f244d8b623dae7a7bc695b0336f67729b95a9736

It seems that zen-kernel have this patch
https://github.com/damentz/zen-kernel/commit/1ac9b214d81c92fc119c6ffabc21464345eb21e2
I will send the results after launching with new kernel

-- 
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 25226] computer hangs during x-session logout

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=25226

Arsen.Shnurkov arsen.shnur...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #4 from Arsen.Shnurkov arsen.shnur...@gmail.com ---
The bug is too old, and i am unable to retest it now.

-- 
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 68524] radeonsi with glamor has very poor performance with primitives drawing

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68524

Samuel Sieb sam...@sieb.net changed:

   What|Removed |Added

 CC||sam...@sieb.net

-- 
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 68524] radeonsi with glamor has very poor performance with primitives drawing

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68524

--- Comment #43 from Dave Airlie airl...@freedesktop.org ---
Created attachment 92009
  -- https://bugs.freedesktop.org/attachment.cgi?id=92009action=edit
use mi fallbacks for lines

can people give this a test to see if it alleviate the openoffice issues at
least?

-- 
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 73514] Performance regression with bochs

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73514

--- Comment #2 from Richard Eames freedesk...@naddiseo.ca ---
Created attachment 92012
  -- https://bugs.freedesktop.org/attachment.cgi?id=92012action=edit
dmesg slow

-- 
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 73514] Performance regression with bochs

2014-01-13 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=73514

--- Comment #3 from Richard Eames freedesk...@naddiseo.ca ---
Created attachment 92013
  -- https://bugs.freedesktop.org/attachment.cgi?id=92013action=edit
Xorg log slow

-- 
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