Commit Graph

10736 Commits

Author SHA1 Message Date
Jeremy Huddleston
e466745109 XQuartz: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston
f1d867c0a1 XQuartz: Silence clang static analyzer
Call to 'malloc' has an allocation size of 0 bytes.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
913223e9dd XQuartz: xpr: Dead code removal
Assigned value is always the same as the existing value.

Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
d0caa0e4cd XQuartz: Silence warnings about deprecated functionality where it is an intended fallback
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
9244a3a24f XQuartz: xpr: Use a serial queue rather than pthread mutexes for window_hash
Additionally removes some dead code and fixes double-locking in
xprIsX11Window.  xprIsX11Window doesn't need to do any locking because
those resources are protected by the called functions themselves.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
bac34a54f7 XQuartz: xpr: Initialize window_hash in xprInit
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
1596ea72d6 XQuartz: Use a lighter spinlock instead of a pthread_mutex_t in QuartzScreenSaver
Currently, we only end up here through a call to QuartzShowFullscreen, and
this is always on the same thread.  Future changes (such as further
incorporating libdispatch) may allow this to change, but contention will
remain minimal since the call is infrequent and it is short held.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
3e253c603b XQuartz: Remove the threadSafety dead-ish code
It's been a few years now since we've needed this to debug thread
boundaries, so punt it out to clean up the namespace polution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
a52c8078c9 XQuartz: Use xorg_backtrace() instead of spewCallStack()
xorg_backtrace() has been in os for two years now, we might as well
start using it.

Ref: 94ed0ba1b5

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
d79cc14a51 XQuartz: Fix compilation warnings with XPLUGIN_VERSION >= 4
xprAppleWM.c:143: warning: initialization from incompatible pointer type
xprAppleWM.c:144: warning: initialization from incompatible pointer type

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
6128544fd5 XQuartz: Bump bundle version to 2.7.0
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
4944de2484 rootless: Fix a typo in RootlessGlyphs which resulted in a garbage value
Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:01 -07:00
Jeremy Huddleston
2098cb03c6 rootless: Dead code removal
Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:01 -07:00
Jeremy Huddleston
bb4d145bd2 glx: Silence warnings when building with clang
This replaces AX_TLS (GPL3) with XORG_TLS (MIT)

In file included from glapi.c:46:
In file included from ./glapi.h:51:
./glthread.h:237:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
In file included from glapi.c:46:
./glapi.h:92:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
glapi.c:82:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec"))) = NULL;
                   ^
glapi.c:85:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
4 errors generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-25 18:56:56 -07:00
Jeremy Huddleston
5c9eafc8e5 render: Silence warnings when building with clang
picture.c:351:37: error: implicit conversion from 'unsigned int' to 'CARD16' (aka 'unsigned short') changes value from 4294967295 to 65535
      [-Werror,-Wconstant-conversion]
            pFormats[f].direct.alphaMask = Mask(PICT_FORMAT_A(format));
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Suggested-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 18:25:27 -07:00
Jeremy Huddleston
c524f8bb76 os: Silence warnings when building with clang
access.c:1492:20: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses]
        if ((host->family == FamilyServerInterpreted)) {
             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
access.c:1492:20: note: use '=' to turn this equality comparison into an assignment
        if ((host->family == FamilyServerInterpreted)) {
                          ^~
                          =
access.c:1492:20: note: remove extraneous parentheses around the comparison to silence this warning
        if ((host->family == FamilyServerInterpreted)) {
            ~             ^                         ~

In file included from xstrans.c:8:
In file included from /usr/X11/include/X11/Xtrans/transport.c:62:
/usr/X11/include/X11/Xtrans/Xtranssock.c:262:5: error: implicit declaration of function 'ErrorF' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    PRMSG (3,"SocketSelectFamily(%s)\n", family, 0, 0);
    ^

log.c:180:29: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
        if (asprintf(&logFileName, fname, display) == -1)
                                   ^~~~~
log.c:190:26: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
                if ((asprintf(&suffix, backup, display) == -1) ||
                                       ^~~~~~
log.c:382:25: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
        LogVWrite(verb, tmpBuf, args);
                        ^~~~~~

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
ab81aa9140 Xext: Silence warnings when building with clang
xvmain.c:1113:22: warning: equality comparison with extraneous parentheses [-Wparentheses]
      if ((pf->depth == pDraw->depth)
           ~~~~~~~~~~^~~~~~~~~~~~~~~
xvmain.c:1113:22: note: use '=' to turn this equality comparison into an assignment
      if ((pf->depth == pDraw->depth)
                     ^~
                     =
xvmain.c:1113:22: note: remove extraneous parentheses around the comparison to silence this warning
      if ((pf->depth == pDraw->depth)
          ~          ^              ~
1 warning generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
fd086f87cd fb: Silence warnings when building with clang
fbpict.c:163:8: warning: implicit conversion from enumeration type 'PictFormatShort' (aka 'enum _PictFormatShort') to different enumeration
      type 'pixman_format_code_t' [-Wconversion]
        pict->format,
        ~~~~~~^~~~~~

fbbltone.c:486:2: warning: shift result (281474959933440) requires 49 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
        C2_24( 0, 0), C2_24 ( 1, 0), C2_24 ( 2, 0), C2_24 ( 3, 0),
        ^~~~~~~~~~~~
fbbltone.c:474:6: note: instantiated from:
     SelMask24(b,1,r))
     ^
fbbltone.c:429:46: note: instantiated from:
                                                    ^
fbbltone.c:427:18: note: instantiated from:
                      0xffffff << Mask24Check(x,r)) : 0)
                      ~~~~~~~~ ^

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
aad7b324ae os: Add missing _X_ATTRIBUTE_PRINTF to va_list variants
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 10:45:34 -07:00
Nicolas Kaiser
5423da9fb2 xkb: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-25 10:45:34 -07:00
Nicolas Kaiser
79b3a7f83d test/xi2: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-25 10:45:34 -07:00
Nicolas Kaiser
a17c30d43e hw/xwin: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2011-04-25 10:45:29 -07:00
Nicolas Kaiser
c270cfc30c hw/xquartz: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-24 19:46:07 -07:00
Nicolas Kaiser
50ced6cfa0 hw/xnest: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
387f45a707 hw/xfree86/modes: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
78a9ec125d hw/xfree86/fbdevhw: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
0320db25f9 hw/xfree86/dri: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
b56271b954 hw/xfree86/ddc: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
86c0c8b9c5 dix: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:06 -07:00
Nicolas Kaiser
9b5046d213 Xi: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-24 19:46:05 -07:00
Søren Sandmann Pedersen
c6cb70be1e Fix trapezoid and triangle rendering to windows
For fbAdd{Traps,Triangles}() and fbRasterizeTrapezoid() this is just a
matter of adding the image offsets to the trap offsets.

For fbShapes, the story is more complicated:

The recently added pixman API did not allow offsetting
trapezoids. Instead, it would use x_dst and y_dst in such a way that
the effect was to only offset the source image.

In pixman 0.21.8, this API has changed such that all the traps are
conceptually rendered to an infinitely big image, and the source and
destination coordinates are then aligned with (0, 0) of that
image. This means offsetting dst_x and dst_y will now offset the
entire drawing, which is similar to how other composite functions
work.

This patch then changes fbComposite{Triangles,Traps} such that the
source image is aligned with the shapes, and the destination
coordinates offset according to drawable->{x, y}.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22 22:11:20 -04:00
Søren Sandmann Pedersen
1b96a99d8e fb: Call miCompositeSourceValidate() on the source in fbShapes()
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22 22:11:11 -04:00
Søren Sandmann Pedersen
0463506955 render: Remove unused TriStrip and TriFan typedefs
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22 21:39:36 -04:00
Søren Sandmann Pedersen
2b0cabec62 render: Remove unused fields in the source picture structs
The fields class, stopRange, colorTable and colorTableSize are not
used by any current code.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22 21:39:36 -04:00
Søren Sandmann Pedersen
b0d84f9439 render: Delete PictureGradientColor()
PictureGradientColor(), INTERPOLATE_PIXEL_256() and premultiply() are
not used by anything.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22 21:39:36 -04:00
Søren Sandmann Pedersen
61a92a78cd Add RegionInitBoxes(), and fix some buggy callers of RegionInit().
The interface to RegionInit():

    RegionInit (RegionPtr pReg, BoxPtr rect, int size);

is very confusing because it doesn't take a list of boxes, it takes
*one* box, but if that box is NULL, it initializes an empty region
with 'size' rectangles preallocated.

Most callers of this function were correctly passing either NULL or
just one box, but there were three confused cases, where the code
seems to expect a region to be created from a list of boxes.

This patch adds a new function RegionInitBoxes() and fixes those
instances to call that instead.

And yes, the pixman function to initialize a region from a list of
boxes is called init_rects() because pixman is also awesome.

V2: Make RegionInitBoxes() return a Bool indicating whether the call
    succeeded, and fix the callers to check this return value.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Søren Sandmann <ssp@redhat.com>
2011-04-22 21:39:31 -04:00
Søren Sandmann Pedersen
c7bce22b58 Track damage for fbTrapezoids() and fbTriangles().
These calls no longer go through the CompositePicture() hook, so
damage was no longer generated for them. This patch simply damages the
entire destination clip region.

It would be possible to generate tighter damage for certain operators
such as Over and Add, where blank source pixels have no effect on the
destination, but given that virtually all trapezoid rendering takes
place on pixmaps, it's unlikely that anybody would actually benefit
from this optimization, and the miTrapezoidBounds function did
sometimes show up on profiles, probably because it does several
divisions per trapezoid.

V2: Call DamageRegionProcessPending() - pointed out by Michel Dänzer.
V3: Call DamageRegionProcessPending() *after* rendering -
        pointed out by Maarten Maathuis

Reviewed-by: Michel Dänzer <daenzer@vmware.com>
Signed-off-by: Søren Sandmann <ssp@redhat.com>
2011-04-22 21:37:58 -04:00
Keith Packard
918a9c99cf Merge remote-tracking branch 'jeremyhu/master' 2011-04-22 11:20:16 -07:00
Aaron Plattner
88c4622b59 linux: Retry VT ioctls while errno == EINTR
When the smart scheduler is enabled, the VT ioctls (particularly
VT_WAITACTIVE) can be interrupted by the smart scheduler's SIGALRMs.
Previously, this caused the server to immediately continue on to
ScreenInit, almost certainly causing a crash or failure because the X
server that owned the VT hadn't finished cleaning up.  As of commit
7ee965a300, it causes a FatalError
instead.

Retrying the ioctl as long as it fails with errno == EINTR fixes the
problem and allows server regenerations to trigger VT switches that
actually succeed.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-04-22 11:14:43 -07:00
Keith Packard
302bdc3c96 Merge remote-tracking branch 'whot/for-keith' 2011-04-22 10:48:37 -07:00
Jeremy Huddleston
5f496bc919 XQuartz: Do translation and handoff of NSEvent to X11 in a separate serial queue
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 02:20:59 -07:00
Jeremy Huddleston
72bd232b11 XQuartz: Send tablet proximity events with tilt and pressure
<rdar://problem/6257569>

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 01:24:44 -07:00
Jeremy Huddleston
034538ea9b XQuartz: Use dispatch_async to handoff the FD
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston
ca7b9e6c81 configure.ac: Add check for libdispatch when building for darwin
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston
3960115dbc XQuartz: Fix prototypes for thread functions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston
7524dbd061 XQuartz: Make the DarwinProcessFDAdditionQueue_thread wait 3 seconds to allow xinitrc to catch up
Previously, we weren't always waiting the full three seconds.  This should
be better, but is still sub-optimal.  We really want to start processing
these once a WM has been started.

http://xquartz.macosforge.org/trac/ticket/416

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Peter Hutterer
6f97fe5df1 dix: improve control flow in QueryTrackers
If the velocity is 0, skip the remainder.
If we're not in range, skip the remainder.

No functional change.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-21 16:05:16 +10:00
Peter Hutterer
a0eda8cd36 dix: rename a bunch of variables to be more self-explanatory
i → used_offset
iveloc → initial_velocity
res → result
vdiff → velocity_diff
vfac → velocity_factor
tmp → tracker_velocity

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
2011-04-21 14:45:09 +10:00
Peter Hutterer
e490190590 dix: reduce scope of tmp and mult.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
2011-04-21 14:22:52 +10:00
Peter Hutterer
81c6e79f42 dix: reduce the work done by ApplySoftening
We can modify fdx/fdy in-place rather than requiring dx/dy as well. And the
decision to soften can be made in the caller (unless decided by the velocity
state).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
2011-04-21 14:22:30 +10:00