Nominations for X.Org Foundation Board of Directors are OPEN
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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)
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
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 *'
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
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)
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 *'
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 *'
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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