commit f6f75e1b03ca0d25d546cf9e80d0317bd644bc8d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 24 14:28:12 2023 +1000
qxl 0.1.6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit ca70ff93dd8bbf35104d0f48b23a81aebf58bfac
Author: Joachim Breuer <git@jmbreuer.net>
Date: Tue Apr 12 19:35:21 2022 +0200
Default to one head if there is no NUM_HEADS option
commit 9d0ddb12cb74a04ccd007ad884137a4fdaf39b44
Author: Joachim Breuer <git@jmbreuer.net>
Date: Tue Apr 12 19:33:45 2022 +0200
Initialize pScrn->{width, height} from primary
... instead of pScrn->currentMode, the latter is not initialized
in xorg-server-21.1.3
commit fe3acdf9503b836111fb20c4839a25562d0484f7
Author: Joachim Breuer <git@jmbreuer.net>
Date: Tue Apr 12 19:32:40 2022 +0200
fix pScrn->modes == NULL in xf86InitViewport()
track pScrn->modes along with qxl->x_modes
commit 52e975263fe88105d151297768c7ac675ed94122
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Feb 10 14:49:48 2021 -0500
configure: Simplify fragile libdrm detection
libdrm 2.4.46 always installs qxl_drm.h
commit 670992bf6effa0f8e81b429cddf9609aa1b3bcd9
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Apr 6 14:41:16 2022 -0700
gitlab CI: stop requiring Signed-off-by in commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 0a2e96d823e54a99b2079446f53aaf9cac15c279
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Feb 19 09:31:00 2022 -0800
uxa: Convert source files from ISO-8859-1 to UTF-8
Clears errors from FlawFinder in gitlab CI:
Error: encoding error in ./src/uxa/uxa-unaccel.c
'utf-8' codec can't decode byte 0xa9 in position 19: invalid start byte
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 92984f5a3f3afc9352f6dbc405ae9287f02abd38
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 23 13:33:04 2022 -0800
gitlab CI: add a basic build test
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 4e1963a812f2c1777ba5d56ea9e939a3e40a0496
Author: Zoltán Böszörményi <zboszor@gmail.com>
Date: Sat Aug 28 15:38:40 2021 +0200
Fix a build error with Xorg master
Use xf86ReturnOptValBool() in get_bool_option() instead of
options[option_index].value.bool to fix a compiler error with
current Xorg xserver master branch.
Also use xf86GetOptValInteger() in get_int_option() and
xf86GetOptValString() in get_str_option() for consistency.
The change causes a slight performance drop during option parsing
because the passed-in index_value is no longer used as an index
into the options array.
Instead, it's used as a token now for the standard option getter
functions which works since the index_value to the get_*_option()
functions are identical to the value of options[n].token in the
passed-in OptionInfoRec array.
Also rename "int option_index" to "int token" for clarity in all
three functions.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
commit 24f35015dca33564ce9ded309909b4b6c17763be
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 23 13:24:29 2022 -0800
Fix spelling/wording issues
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit cdcfd033cc7dc8522c4532ffe7b8374eaeb29e7a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 23 13:21:52 2022 -0800
Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 52c421c650f8813665b31890df691b31fabc366a
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Feb 5 12:55:01 2020 -0500
qxl: Include only the dpms headers we need
dpms.h is provided by libXext, but nothing in our configure.ac is
verifying that we have libXext's headers. Fortunately we only need the
definitions in dpmsconst.h (which dpms.h included for us), which is in
xorgproto and thus implied by having an xserver DDK to build against.
And we're even trying to include dpmsconst.h when we think we have it,
meaning when HAVE_XEXTPROTO_71 is defined, but while many other drivers
define that macro in their configure.ac, we for no particularly good
reason do not. Oops. But since xextproto is about ten years old by now
we can probably just safely include it unconditionally.
commit 922ec516beaae0c0735bbd46d470908f243e3605
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Apr 5 09:38:31 2019 -0500
Correct a long standing led state bug in XSpice.
The CtrlProc for our keyboard driver incorrectly mapped
the device private to a SpiceKbd* intead of to a InputInfoPtr.
That resulted in led state being written into the driver name
for our driver structure, instead of into the led state.
That, in turn, led to a cool bug where if you pressed caps lock,
the two second sync timer in the spice server would cause it to
attempt to correct the state by pressing caps lock to get the
states to match. Since the states will never match, the caps
lock effectively cycles on and off every two seconds.
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
Acked-by: Victor Toso <victortoso@redhat.com>
commit e2981166c10c38b89adc35f106e20b95b15ac47e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Dec 6 15:55:07 2018 -0800
Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d92e9a8f798bf5d5375da2bbc0fc5ac5586765d7
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Nov 18 13:39:37 2018 -0800
Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit cf2254c13497049a8dbc73a3b031f4cd43403ab1
Author: Victor Toso <me@victortoso.com>
Date: Tue Oct 23 13:48:58 2018 +0200
qxl: Initialize prev field while dup surface list
Otherwise we will can hit a segfault qxl_surface_kill()
│717 void
│718 qxl_surface_kill (qxl_surface_t *surface)
│719 {
│720 struct evacuated_surface_t *ev = surface->evacuated;
│721
│722 if (ev)
│723 {
│724 /* server side surface is already destroyed (via reset), don't
│725 * resend a destroy. Just mark surface as not to be recreated */
│726 ev->pixmap = NULL;│
│727 if (ev->image)│
│728 pixman_image_unref (ev->image);
│729 if (ev->next)
│730 ev->next->prev = ev->prev;
│731 if (ev->prev)
>│732 ev->prev->next = ev->next;
│733 free(ev);
│734 surface->evacuated = NULL;
│735 return;
│736 }
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1641793
Signed-off-by: Victor Toso <victortoso@redhat.com>
commit 64cb597c7f7fa1493aea95aa3656e2cae66728d2
Author: Jonathon Jongsma <jjongsma@redhat.com>
Date: Mon Nov 12 14:06:14 2018 -0600
Make output names match modesetting driver
The xrandr output name used by the QXL driver is based on the drm
connector type, but the names do not match the kernel names (see
/drivers/gpu/drm/drm_connector.c) or the modesetting driver names (see
hw/xfree86/drivers/modesetting/drmmode_display.c). Making these more
consistent will require less driver-specific special-case code if a user
wants to match an xrandr output to a drm connector.
Note that this patch should not actually change any behavior, since the
QXL driver only uses the 'Virtual' connector type, so this is done only
for consistency.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
commit 505a8bb0cd82e2a50fcf18ed4647788adacef6ee
Author: Jonathon Jongsma <jjongsma@redhat.com>
Date: Mon Nov 12 14:06:13 2018 -0600
Make output name numbering 1-based
The QXL driver names its outputs starting at 0 (e.g. Virtual-0,
Virtual-1, etc). This code was presumably copy/pasted from a different
driver, and is not necessary for the QXL driver. Other drivers simply
use the kernel connector_type_id which starts at 1. For example, the
modesetting driver changed from 0-based names to 1-based names for the
same reason in xserver commit 139e36dd.
This will help to make it easier to identify which xrandr outputs belong
to which drm connector without requiring as many driver-specific
special-cases.
This change might effect custom xorg configurations that references a
specific output name. But the same change was made in modesetting driver
despite that possibility.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
commit ee8f904ab0d590c741e640e9548c472e6a58b3cc
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Mar 8 10:50:56 2017 +1000
qxl: call provider init
This prevents crashes when multiple QXL devices are configured in a VM.
https://bugzilla.redhat.com/show_bug.cgi?id=1428340
commit 78abd5221f7efd87383aa357590efff083449aa3
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jun 13 09:29:28 2017 -0400
modesetting: Validate the atom for enum properties
The client could have said anything here, and if what they said doesn't
actually name an atom NameForAtom() will return NULL, and strcmp() will
be unhappy about that.
[copied from xserver d4995a3936ae283b9080fdaa0905daa669ebacfc]
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 0728e0851f776a273e5c559a23dca7ef40be405f
Author: Frediano Ziglio <fziglio@redhat.com>
Date: Fri Apr 7 12:05:23 2017 +0100
Make some variables static
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
commit 0e86e9d2672c5d033845f1cc0ecb7f3669de050f
Author: Frediano Ziglio <fziglio@redhat.com>
Date: Fri Apr 7 12:05:22 2017 +0100
Make some function static
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
commit aa4359f8947f69ef884c89a2729adf2ce3723681
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Tue Apr 4 17:02:27 2017 +0200
Spelling and typo fixes in some comments
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
commit eaefd19bb40ec5f7b069e4f3278e974fb3e2e839
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Tue Apr 4 17:00:43 2017 +0200
Spelling fixes in the READMEs and configuration samples
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
commit 9a7eb40fa23b908d9f62a8f04933fdafd04d6b88
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Feb 8 17:07:56 2017 +0100
Xspice: Fix Python3 str() vs bytes() confusion
With python3, without universal_newlines=True, Popen().stdout.read()
will return a byte array, while find(str) expects to operate on a
string.
I've checked that this still works with python2 as well.
commit b9955a35b42c156c343bd6f673c3e973397ce654
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Feb 8 17:07:39 2017 +0100
Xspice: Remove extra space before assignment
commit 69cf5e40b2b6a0188b9aa88b66b683bd461afbd1
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Feb 8 15:23:56 2017 +0100
Xspice: Use print("") instead of print ""
This allows Xspice to run when using python3 instead of python2
commit 8d344cf49fdb021ab80354eaaa57a419a6746a56
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Dec 19 17:36:36 2016 +0100
NEWS: Xspice now works with X.org 1.19
commit a283cda0c4dbacb1d4b398b45f271275a3d1121a
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Dec 19 17:28:41 2016 +0100
Revert "Remove unused 'event_mask' field"
This reverts commit bfb724076d575d5a49d08913b86885688251a176.
This was pushed by mistake.
commit bfb724076d575d5a49d08913b86885688251a176
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Dec 19 10:51:09 2016 +0100
Remove unused 'event_mask' field
With the Xorg 1.19 codepaths, the 'event_mask' field of SpiceWatch is
only useful for sanity checking the event we get from Xorg. This commit
assumes Xorg is sane, and removes this extra field.
commit 009776a8a3fb096b11ec95033d1e1a366e26f188
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Thu Dec 15 10:47:51 2016 +0100
Xspice: Replace malloc/strdup use with xnfalloc/xnfstrdup
spiceqxl_*.c files are Xspice-only code. They contain a few uses of
malloc/strdup, and none of these are checked for failure. It's better to
replace these with xfnalloc/xnfstrdup which are provided by the X server
and cannot fail (aborts on failure).
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit db353f559d32119e811eab71a9d3128847a64609
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Dec 14 10:37:03 2016 +0100
xspice: Adjust to X.org 1.19 changes
In newer X.org versions, it's no longer supported to modify the set of
FDs passed to a BlockHandler method to get notified when the FD has data
to be read. This was limited anyway as we could only get read events
this way, and had to do our own polling to get notified about socket
writeability.
Starting from xserver 1.19, the supported way of doing this is to use
the SetNotifyFd/RemoveNotifyFd API, which is actually a much better way
as it matches very well the 'watch' API spice-server expects Xspice to
implement.
This commit switches to that new API, which removes the need for
RegisterBlockAndWakeupHandlers().
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Uri Lublin <uril@redhat.com>
commit 13d4afc1ba55eaed3e7ed4da8c948d3f334598d3
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Thu Apr 14 18:05:59 2016 +0200
build-sys: Update for 0.1.5 release
commit ce00ab5df8cee45b0dc029973d6eeb937547144d
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Thu Dec 8 09:15:55 2016 +0100
spiceqxl: Improve the Xspice and Xorg configuration option descriptions
Group the options more logically and improve their descriptions.
Add the missing help strings for Xspice --help and standardize the
messages to start with a lowercase and not end with a period.
In the Xorg configuration, always show the default in the
commented-out sample.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
commit 7657ffb8a5cba20f221c2af93e0c83b81356053c
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Fri Oct 28 11:56:47 2016 +0200
build: Error out when enabling xspice with X.Org 1.19
xspice needs to be updated to cope with some X.Org 1.19 API changes,
better to make that explicit at configure time rather than letting
people discover the hard way (it builds with warnings but will not work)
that it's broken.
commit 4783c5439552a461516a6d917765000a9b60c295
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Fri Oct 28 10:54:55 2016 +0200
Fix "calles" typo in comment
commit 4fbe63601d5806814b9bcaef07349759a4b0834d
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Aug 5 16:58:04 2016 +0200
Disable composite/a8 surfaces for KMS
This should help with bug #974198
commit 0daf59bd23b8b92b69a28b7bb1fa5961a8e86d97
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Aug 5 16:55:31 2016 +0200
Disable surfaces when KMS is used
This is not working properly at the moment.
commit 4d7160c49614c9132e7b7ae4ccfda952daffeefb
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Oct 28 16:50:18 2016 +0200
spiceqxl: Remove an unused macro
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 9739b6a60459f48044d7ef7fff393e631bcef5bf
Author: Hans de Goede <hdegoede@redhat.com>
Date: Tue Oct 4 13:29:29 2016 +0200
Fix crash caused by attempting to access the screen pixmap before it is created
qxl_resize_primary_to_virtual() was using pScrn->pScreen != NULL to check
if createScreenResources has been called. But starting with xserver 1.19
pScrn->pScreen is non NULL even before createScreenResources is called,
causing an invalid access to the screenPixmap in
qxl_resize_primary_to_virtual().
This commit fixes this.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1381045
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
commit e13d28ee5d8724fc4b22f26bce01a7d36355f272
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date: Fri Aug 26 11:44:55 2016 -0400
Check for either xfont.pc or xfont2.pc
More recent versions of Xfont have a different API (with namespacing
for libXfont functions.) Check for xfont2.pc and if found, use that, and
use the new API. The rational for preferring libXfont2 is that as a recent
change the xserver module looks for and requires libXfont2, and it's better
not to have both versions of the library in process.
commit 2b7e4fb2c93a2061b79ac8fb37628698d49618cc
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Wed Jul 6 16:17:52 2016 +0200
Xspice: Add --video-codecs to specify encoder and codec preferences
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Acked-by: Jeremy White <jwhite@codeweavers.com>
commit 14ff3c26e204d334a9c110debfaa2ef8cab97bf6
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Thu Jul 7 15:23:56 2016 +0200
spiceqxl: Add SpiceVideoCodecs to specify video codec preference
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
commit edd1a409f879f74193c2789f50240005bcf00783
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Tue Apr 5 18:17:26 2016 +0200
xspice: Don't create Xorg time in timer_add
SpiceCoreInterface::timer_add() is used by spice-server for integration
with external mainloops. timer_add() is only meant to create a disabled
timer, this timer will then be started with a call to timer_start().
The current implementation in Xspice creates a timer which will trigger
in a very long time, assuming this will never happen. This 'forever' is
1,000,000 seconds, which amounts to 11 days. After that time, some
timers which are meant to be disabled (eg migration related timers in
spice-server) fire, then causing a crash with some failed assertions.
Instead of creating the X timer right away in timer_add(), we can wait
until timer_start() is called before starting it, which avoids this
issue.
commit 76fd0a374f6879fba6f1d281d06003937ad4980c
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Mar 18 15:32:22 2016 +0100
spiceqxl_audio: Stop the playback channel if there is nothing to play
This lets the client free the audio resources when an audio application
is not actually playing anything, typically because playback is paused.
This matches QEMU's behavior.
As a side benefit it stops the client's mm-time from being stuck (due
to the audio backend's delay updates being applied to the mm-time of
the last audio message) which lets video streams play in this situation.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 5f5b502ecdae7fb4e37e9285be9ee7a2107aff28
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Mar 18 15:32:17 2016 +0100
spiceqxl_audio: Only start the playback channel when fifos are present
This lets the client free the audio resources when they are not needed.
This matches QEMU's behavior.
As a side benefit it stops the client's mm-time from being stuck (due
to the audio backend's delay updates being applied to the mm-time of
the last audio message, that is the channel's creation) when no audio
application is running.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 5671929aecb742e7aaee4f4caf5e00cff344769a
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Mar 18 15:32:11 2016 +0100
spiceqxl_audio: Fix a race condition in the audio playback
can_feed() depends on the time and thus could return false in
process_fifos(), causing it to stop reading from the fifos, and then
true in watch_or_wait() so that the wall_timer would not be set, but
the fifos would not be watched either because they already contain
data to process. The audio playback would then come to a stop.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 0d20d7d8425f397bdb15288747321fbc6d01820e
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Mar 18 15:32:07 2016 +0100
spiceqxl_audio: Only condense the fifo list when one has been closed
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 692df47b261d38dcd2df23d855032a262359fd5e
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Fri Mar 18 15:32:03 2016 +0100
spiceqxl_audio: Let the audio play when no client is connected
Simply keep reading from the fifos in reasonably sized chunks.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 91ee004cda2fb31de75508c44710ac09256edab4
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Mon Jan 11 02:21:50 2016 +0100
server: Convert qxl->monitors_config to a QXLPHYSICAL using physical_address()
This avoids compilation errors with -Werror on 32 bit systems and is
more correct than a direct cast.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 67d8beb98cb81d88273ba12f07a270bed9787473
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Nov 25 13:36:00 2015 -0600
Optimize dfps mode to send updates only for the primary pixmap.
We don't need to update the screen when we use a temporary or
offscreen pixmap.
commit a8213444463690e4a7a851bd0a41008818bc5c97
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Nov 25 11:47:00 2015 -0600
Provide an implementation for put_image in dfps mode.
This prevents the fallback from calling prepare_access
against the whole screen, which in turn keeps us from
transmitting the whole screen more than necessary.
commit f448032adebac799830f3ed275a334393c77cef1
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Nov 9 10:08:57 2015 -0600
XSpice: auto generate temp files for the vdagent process.
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
commit b86e2c1b40f6aff42a03dfce9a099c4742a6ee8d
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Nov 9 10:08:56 2015 -0600
Revise Xspice --auto to use a temporary directory.
We will put auto session related items in that directory.
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
commit 2448bd2125260376f5ecb7e7dac2a9ef8f953c75
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Oct 21 13:25:11 2015 -0500
XSpice: allow the udcs socket to be specified, rather than hard coded.
commit 8aabc4ae6150b169cac99285d144b04474e05c0b
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Oct 21 13:18:44 2015 -0500
Add support for a --numheads option to the Xspice script.
commit 88c3df4a78a165afa7ddde851f047bbb125c1c7d
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Nov 2 16:07:43 2015 -0600
Xspice: handle parameters with value 0, allows --port 0
As of commit f73ca7e4cc090772652611a4e2b8b95ae64319bc, you can now
disable the regular port by specifying 0. This change to the Xspice
script permits us to take advantage of that change.
commit f73ca7e4cc090772652611a4e2b8b95ae64319bc
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Oct 30 10:44:17 2015 -0500
Set the regular spice port only once, and then only if it
is not disabled.
This fixes a bug where Xspice had to listen on two ports, even in an
SSL only configuration.
commit 3475eb2cd7b251dd49989c079a2452df67a85b14
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Oct 2 11:17:33 2015 -0500
Document a number of missing XSpice vdagent options in the example xorg.conf.
Also revise the expression of the default value to be consistent.
commit f9652ebbe45d5f313633bd41f15a55cad59b7a68
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Oct 19 14:19:36 2015 -0500
Correct the XSpice AgentMouse configuration options.
Since the introduction of vdagent support in commit
294daff7ea930f338ec6d77ec3465b6f727c168e, the
SpiceAgentMouse setting has not really operated correctly.
That is, if SpiceVdagentEnabled was true, the value
of SpiceAgentMouse was overridden.
This patch corrects that.
It also shifts the default; that matches qemu, and effectively
preserves the current default behavior.
commit 6fa56701128d3050945d7fdf0eae7b74cb34097a
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Oct 19 14:11:58 2015 -0500
Only watch the uinput channel when an agent is connected.
Otherwise, you constantly spin loop, getting a return code of 0,
and pegging CPU usage at 100%.
commit 6e588d2a2fe824f8306bfccc647b25fd49841af2
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Oct 19 13:57:59 2015 -0500
Add and remove the vdagent interface as the vdagent
actually connects and disconnects.
This means that we do not attempt to use agent mouse
mode if there is no connected agent.
It fixes a bug which would occur if an agent disconnected
after session startup which would result in having no
useful mouse.
commit ebd5ef7c18d7c361a31d530b307d36217cc68428
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Oct 16 09:16:44 2015 -0500
Bug fix: libcacard headers and libraries were not correctly used.
Also shift to libspiceccid_la_CFLAGS.
commit dcd02ad2b3b786c6a953e0e02848ae115975fbbf
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Mon Aug 31 15:27:11 2015 +0200
spiceqxl: Fix formatting of a couple of function calls.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit b8f8233d45a4315d4347d59fe0f1987df8d79b76
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Mon Aug 31 15:26:43 2015 +0200
Xspice: Don't set defaults for the options.
Otherwise they override Spice server's real builtin defaults, the Xorg configuration file settings, and even the XSPICE_XXX environment variables.
For instance, without this patch calling Xspice _without_ the '--streaming-video' option forces this setting to 'filter', overriding the XSPICE_STREAMING_VIDEO environment variable and the SpiceStreamingVideo spiceqxl.xorg.conf setting.
Note that this does not change the option defaults (the Xspice ones matched the spice server ones).
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 7dbf51e3ecb0a73b87b88d143bedf27e70cbcfa7
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Mon Aug 31 15:29:39 2015 +0200
spiceqxl: Reject invalid boolean values, just like for other options.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit d3260f741934be08dc033d8d818c383ca42d02ae
Author: Francois Gouget <fgouget@codeweavers.com>
Date: Mon Aug 31 15:29:29 2015 +0200
spiceqxl: Recognize the same set of boolean values as in xorg.conf.
Issue a warning for invalid values but treat them as TRUE for backward compatibility.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
commit 2f4a2fe26fb48b4a093426cf4efe14664f779501
Author: Uri Lublin <uril@redhat.com>
Date: Sun Jan 4 14:22:28 2015 +0200
uxa: fix compiler warnings (initialize width, height, [xy]Dst_copy)
Some compiler warnings for example:
uxa-glyphs.c:1045: warning: ‘width’ may be used uninitialized in this function
uxa-glyphs.c:1045: warning: ‘height’ may be used uninitialized in this function
uxa-render.c:1090: warning: ‘xDst_copy’ may be used uninitialized in this function
uxa-render.c:1090: warning: ‘yDst_copy’ may be used uninitialized in this function
I think these can never actually happen as the code protects use of
those uninitialized variables, but I'd not "argue" with the compiler.
commit e8afc2cd2406fa8ce95d277b18a692a65a833295
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Aug 10 17:40:31 2015 +0200
Xspice: Fix 'erorr' typo in error message
commit a9fa26cf13c5b02101bc7eb111a0dfe092542977
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Jun 22 19:17:25 2015 +0200
Add note about deprecated setting of mm_time
spice-server now ignores this mm_time value and sets it itself as it
maintains its own timer (see spice-server commit c541d7e2 'Remove guest
side video time-stamping')
commit 95f69ec6ed6c59e4a65cdb8ddb0203eb2890ffa6
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Fri May 29 15:12:32 2015 +0200
Add missing licence header
commit a184774ad161031cceed264d62d48ebd019ac800
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Aug 3 20:12:05 2015 +0200
Fix compilation with newer Xorg versions
Xorg 1.18 stopped exporting some xfont related symbols in its
headers/shared libraries, which causes QXL to fail to build:
uxa-damage.c:947:5: error: implicit declaration of function 'QueryGlyphExtents' [-Werror=implicit-function-declaration]
QueryGlyphExtents(font, charinfo, n, &extents);
The missing definition can be found in xfont, so this commit addes the
needed configure.ac checks and includes.
Note that dixfontstr.h must be included before the xfont headers or this
will cause compile-time warnings on older Xorg versions (eg 1.17)
commit 83e00bb5f9b74c0d7059c189d747ec3c24c7798a
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Tue Aug 4 17:36:12 2015 +0200
Use <> for system-includes
These headers come from /usr/include/xorg/ so it's clearer if they are
included using <>. While at it, I've reordered them alphabetically.
commit e765cc5ea35bfab017201307b280368400cf1d10
Author: Javier Celaya <javier.celaya@flexvdi.com>
Date: Fri Jun 19 14:05:10 2015 +0200
Fix drawable mm_time with KMS
When KMS is enabled, the mm_time value of a QXLDrawable is undefined.
This results in severe synchronization problems. This patch sets it to
zero to force the spice-server to use the local clock.
commit d99213d4a6fe407d4392dcb78c01f58c03b97086
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed May 27 13:56:20 2015 -0500
Do not process watches on select() error.
This enables a kill of an Xorg process to propagate further.
Without this, the read masks would be set, and we could end up
blocking in an accept() call and not exiting from the signal.
commit 8babd05ea9c196390570928a386f5a17a8a37fb9
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Wed May 13 19:10:06 2015 +0200
kms: do not overwrite screen virtualX/Y
The pScrn->currentMode is the resolution of the first monitor,
not the resolution of the whole virtual screen.
This fixes restarting X when several monitors are enabled.
commit 16ac8fa8fac56a01050ffa9f0978ae04b1a1efa4
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Wed May 13 18:12:26 2015 +0200
kms: initialize primary surface to screen virtual size
The pScrn->virtualX/Y are set after drmmode_pre_init(), use that
resolution instead of hard-coded 1024x768.
This fixes rendering glitches when restarting X server with
different primary size than actual monitor modes.
commit c1e88427d1763bf9bbf9f2dd738980cee644443f
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Apr 30 14:32:16 2015 +0200
Use pci_io_write8 instead of outb
This ensures better portability as some arches (eg aarch64) don't have
outb.
On linux pci_io_* try to open the sysfs map file corresponding to the
I/O port range, which the kernel translates arch-appropriately. If
there is no such file then it'll try to use port instructions if that's
a thing the architecture has. So you only need one path, pciaccess
exists to get the portability right for you.
https://bugzilla.redhat.com/show_bug.cgi?id=1201877
commit 0d96e0f91ecdac46232890ab74b2e624bb4b8bd1
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Dec 17 17:06:16 2014 +0100
Remove stray blank comment line
commit 5466448f147cd6ec21e11eb2c7d02d541f7667d2
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Dec 17 17:05:58 2014 +0100
Remove unused variables
commit fc5327bc568a06ed27b536453d26214fad4409c8
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Mon Mar 30 17:52:52 2015 +0200
Prepare for 0.1.4 release
commit 6af2315d59c6c7f54199c5a264eef90b7dd82cfe
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Wed Apr 1 13:54:25 2015 +0200
build-sys: use regular variables for LIBUDEV_CFLAGS
No need for hardcoded variant here.
commit dce9cf050f1d76a668d2cffc729380e3992607ac
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Wed Apr 1 13:53:40 2015 +0200
build-sys: misc aligning and trailing ws
commit e4597f711d9e7586adf5fc58887bc3407869361d
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Thu Jan 29 14:09:40 2015 +0100
Remove image cache
While looking for leaks, I realized that the image cache looks
quite suspicious.
Not only it leaks when qxl_drop_image_cache() is called,
since all the allocated image_info_t references are lost.
But it is also useless: "The name implies it's a cache of some
sort, but data is only added to it. The only time data is looked up in
that cache is when it needs to be destroyed, and this is not done
correctly and causes leaks. Since the cached data is never used and
since it's leaky, it's better to remove it altogether"
commit 2bed9bffd92a1422a460dad37e5fffe820ef2df3
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Tue Mar 24 14:13:30 2015 +0100
Don't leak ARGB cursor data bo
qxl_load_cursor_argb() owns 2 references on the cursor_bo it creates:
- one from the call to bo_alloc()
- the second from a call to bo_output_bo_reloc()
qxl_garbage_collect() release one of these refs, but the other one is
never released, so ARGB cursor bos are leaked. This can cause out of
memory issues, for example when running EL6 anaconda installer on a 2TB
disk image (see bug https://bugzilla.redhat.com/show_bug.cgi?id=1199355
).
This commit release the extra ref right after calling push_cursor().
This is similar to what is done in qxl_surface_put_image().
commit c2879c19331bba3670b01942b13f03cec678a91a
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Fri Mar 20 14:23:51 2015 +0100
build-sys: Fix indentation of trailing \ in Makefile.am
Make sure they are indented with tabs and aligned.
commit 8744beef5a0abacddf1445b1ecc049f42fa14db2
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Fri Mar 20 14:21:05 2015 +0100
build-sys: Add spiceqxl_smartcard.h to _SOURCES
This file needs to be listed in Makefile.am otherwise it will not be
added to the tarballs make dist generates.
commit 2dea0e31cd8d33a852d844a51b164873863ad7f0
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Mar 13 11:25:35 2015 -0500
Spice CCID: Handle server termination.
commit 1cc78bec229dc1ac3867ae3e276d1ca4a309c2c3
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Jan 30 08:52:46 2015 -0600
Support IFD_RESET, print a diagnostic for unknown power sequences.
Also add a message for apdus that come in while a reader is inactive.
Remove an obviously unnecessary if stanza.
commit 6f45e758f0a5d7915144250c4032e1ac4fb8c29f
Author: Uri Lublin <uril@redhat.com>
Date: Mon Jan 19 00:17:15 2015 +0200
README.xspice: clone and install xkeyboard-config
Instead of copying /usr/share/X11/xkb
commit e7b315dfe468eb6212e30c41a61e72486017ee57
Author: Uri Lublin <uril@redhat.com>
Date: Sun Jan 4 18:12:25 2015 +0200
README.xspice: clone more repos, add some script lines and more
This helps build on a RHEL-6 machine
commit 3a81e5faf0d386885d81ec3f03ad644b93ac0250
Author: Uri Lublin <uril@redhat.com>
Date: Sun Jan 4 14:20:46 2015 +0200
vmc_read: rename variable "read" to "nbytes"
This fixes the following compiler warning.
spiceqxl_vdagent.c:49: warning: declaration of ‘read’ shadows a global declaration
/usr/include/unistd.h:357: warning: shadowed declaration is here
commit 7486ea4dfc7b4c26ef85a1a8a97d54b1cb17ed8b
Author: Uri Lublin <uril@redhat.com>
Date: Sun Jan 4 14:19:57 2015 +0200
playback_dir_changed: rename variable "index" to "offset"
This fixes the following compiler warning.
spiceqxl_audio.c: In function ‘playback_dir_changed’:
spiceqxl_audio.c:386: warning: declaration of ‘index’ shadows a global declaration
commit dde71a523676ea825019786777d6942aecd62f85
Author: Uri Lublin <uril@redhat.com>
Date: Sun Dec 28 16:58:45 2014 +0200
scripts/Xspice: run vdagentd with -f command line option (fake uinput)
From: "Charles Ricketts <githlar@gmail.com>"
commit 0b0cb8e3f8fbb06ab292fa24c2b4e9893a726ca6
Author: Uri Lublin <uril@redhat.com>
Date: Mon Jan 5 12:45:03 2015 +0200
scripts/Xspice: add default spice-vdagent executable names
commit e0db34c29c12501bb62eccb66de1cbe0ea0067bd
Author: Uri Lublin <uril@redhat.com>
Date: Sun Dec 28 16:57:41 2014 +0200
scripts/Xspice: better error messages for missing vdagent binaries
Also added a check for the case variables are uninitialized (or
when the executables are not found and which returns None)
commit c096f37454332fa897b5a875e0c3a9fb7d09deb9
Author: Uri Lublin <uril@redhat.com>
Date: Sun Jan 18 14:43:35 2015 +0200
scripts/Xspice: which: warn if executable is not found
Also handle None parameter case.
commit cd96284cf17524a3618ae542d53fa3c987e85a75
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Dec 15 16:24:45 2014 -0600
Enable smartcard support for XSpice.
This is done by creating a Unix domain socket to which smartcard
messages are transferred, using the vscard protocol.
A further system library, spiceccid, is used to provide an interface into
pcsc-lite, specifically the pcsc-lite daemon, so that regular Unix applications
can access the passed through smartcard information.
Signed-off-by: Jeremy White <jwhite@codeweavers.com>
commit 9368451e74c77b3d04383b5b98a1d71e6f12eb55
Author: Jonathon Jongsma <jjongsma@redhat.com>
Date: Thu Nov 6 15:40:59 2014 -0600
Update drm properties correctly
When connector properties got changed, those changes were not being
propagated to user-space. This pushes those changes up so that e.g. new
"suggested X|Y" properties can be used to help lay out multiple displays
properly. This code is based on similar code from the nouveau driver.
commit 97c7c183d7d8585d93eab4f13645acb2d47ca763
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Mon Nov 3 01:14:48 2014 +0100
Xspice: fail if server can't be initialized
Failure to bind to port should be an error, not a warning.
https://bugs.freedesktop.org/show_bug.cgi?id=65185
commit f4964c5666fb61f513d563a5a12463bed1119ea4
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Thu Oct 30 14:45:31 2014 +0100
xf86-video-qxl 0.1.3
commit 69a273a27242534ebf5535a886e26adfc8f608a0
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Oct 13 18:04:16 2014 -0500
Revise the XSpice audio processing to avoid the use of pthreads.
The initial implementation used a separate thread to drive the audio
playback channel. But if you have adaptive streaming turned on,
you will eventually get a update_client_playback_latency message on the
display channel (which in the Xspice case is being driven by the main,
Xorg, thread).
After enough time you would get a thread collision and bad things
would result. I saw this manifest as infinite spin loops in snd_send_data.
This patch eliminates the use of threading altogether, making everything
run in the main Xorg thread using watches and timers, eliminating the
possibility of thread collision.
commit 0703b14280733142016ae45435a1e54e327dbac5
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Oct 22 12:10:46 2014 +0200
drmmode: Fix compilation warning
One recent change introduced a gcc compilation warning:
CC qxl_drmmode.lo
qxl_drmmode.c: In function 'drmmode_set_mode_major':
qxl_drmmode.c:251:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
CursorPtr cursor = xf86_config->cursor;
This commit moves the CursorPtr declaration to the top of the
drmmode_set_mode_major function in order to fix that warning.
commit 57ec67c56ea05480eef2df730cef8b0dc790d8ba
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Thu Oct 16 11:19:05 2014 +0200
Remove call to CrtcRotate()
Our driver doesn't support rotation, and calling CrtcRotoate()
may result in crash. Let's remove that useless call.
Fixes:
http://bugzilla.redhat.com/1067709
commit 04f2a5096718b462ca7a38973fdb72df32b21850
Author: Marc-Andre Lureau <marcandre.lureau@redhat.com>
Date: Sat Oct 11 21:29:35 2014 +0200
Check qxl_download_box() arguments
Sending empty region is invalid and the server returns an error (this
can be triggered by typing space in xfig)
Without the previous patch, error was ignored and the driver would enter
an infinite loop.
Assert on valid arguments, and return early if the given region is empty.
Fixes:
http://bugzilla.redhat.com/1151559
commit 41838c66d84c567c086ad236410b659d326ec360
Author: Marc-Andre Lureau <marcandre.lureau@redhat.com>
Date: Fri Oct 10 19:22:03 2014 +0200
Assert on QXL_INTERRUPT_ERROR
When qemu qxl device reaches a guest bug, it might set the
QXL_INTERRUPT_ERROR interrupt flag, and stops processing guest
commands. Therefore, it makes sense to check that flag in the guest and
quit, instead of running in infinite loop in X and consuming CPU.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1151559
commit a3704bda41737263e8a547fb3d97ba818935d768
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Fri Aug 8 19:24:28 2014 +0200
drm: fail gracefuly on monitor resize
If drmModeSetCrtc() failed, try to fallback to previous working
configuration.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1127552
commit 1df926cae94cbd9e677209fa164e38af9cbaeead
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Sep 15 11:25:14 2014 -0500
In XSpice audio, fully clear the data structure; silences valgrind warnings.
commit 32512fc645286512c35a6da754ab1bc36be54f8f
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Sep 12 14:22:45 2014 -0500
When uploading a region, do not go outside the source image size.
This problem was exposed (and probably only occurs) when using XSpice
in dfps mode with spice-html5, and resizing from larger to smaller.
The screen would be resized, but the update region would still attempt
to transmit any pending changes to the (now) truncated surface. This
would often lead to a crash.
commit f4fdad43dfb7eb45e7208e3cc867d3b6b93dacdb
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Sep 12 14:19:41 2014 -0500
Initialize the frame buffer used in dfps mode; this silences a number
of valgrind errors.
commit 09144c43a2306db0615cf3564db67cf6b4c5f0a5
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Sep 19 10:34:26 2014 -0500
Tune the dfps region tracking to collapse to the bounding rectangle
if too many small, incremental, updates are provided.
Attempting to use x11perf to measure performance revealed a fairly
serious weakness in the dfps code in that use case. In between
fps ticks, the updated_region would grow to have thousands of
rectangles, which made processing extraordinarily slow.
This patch provides a cap on the number of rectangles inside
a region; once it reaches the cap, we collapse the update_region
to just transmit the bounding rectangle instead.
commit 1c29941d7a9fd2204daf29bdd530bf18216f1f91
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Sep 19 10:33:16 2014 -0500
Add helper functions for updating the boxes and regions; makes the
code a bit cleaner.
commit 9ab3f1bcb970e1cec0865f0fafbcc88f8022f9e5
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Aug 22 10:07:34 2014 -0500
In XSpice mode, enable the ability to specify the various ram buffer sizes.
Also adjust the mode selection to fit, and add a few larger modes.
commit 539ca283380c197d4c3ba612ca90b26d1f696b01
Author: Jeremy White <jwhite@codeweavers.com>
Date: Fri Aug 22 09:45:49 2014 -0500
The display of the RAM size subtracts the frame buffer, but it has
already been subtracted in setting the num_pages field.
commit c63b2fc540a844196f5f015853ca69f9b91e4fed
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Aug 21 13:45:02 2014 -0500
Skip modes more precisely.
commit fc0a006e4996bebd147216ffde184b4fda0f71bf
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Aug 18 13:38:09 2014 -0500
Free the region pointer as well; eliminates a memory leak in dfps mode.
commit 6210f34e3570341e0b6318c3fc2e2cc2cf6e5d82
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jul 23 11:21:03 2014 +0300
Release 0.1.2
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 76d82060dff80417cdc58de49acd72b9ce91bf4c
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 9 16:08:13 2014 +0300
qxl_driver.c: fix compiler warning 'defined but not used' qxl_kernel_mode_enabled
Signed-off-by: Alon Levy <alevy@redhat.com>
commit cf16a40ebde42478a1edd5fbfe841f69b2c9c37f
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 25 14:53:14 2014 +0300
qxl_image.c: fix compilation break
Since 3d511c30206bd8c9a207c436186a03af0bb02962 Xspice building is broken
due to undefined MAX_RELOCS when not building with XF86DRM_MODE.
commit 17e2ee0d904f35d4fe756ca2d9cd100e15663018
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Wed Jul 2 12:22:46 2014 +0200
drm: restore cursor after resolution change
The Spice server & qemu reset the cursor state when
changing resolution. Although X does restore the
cursor on framebuffer changes, it doesn't for crtc
config. Restoring the cursor here is the simplest
way to solve the "invisible cursor" after resolution
change bug with DRM driver.
https://bugzilla.redhat.com/show_bug.cgi?id=1030531
commit 3d511c30206bd8c9a207c436186a03af0bb02962
Author: David Mansfield <spice@dm.cobite.com>
Date: Tue Jun 3 10:05:42 2014 -0400
Dynamically adjust chunk size to avoid command buffer overflow.
The maximum number of "commands" that can be queued at once is
fixed at compile time at MAX_RELOCS. However, during the creation
of an image object in qxl_image_create(), the image is split into
commands of maximum size 512*512. For a large dual-head system,
it is easy to create an image for which the number of chunks will
result in an overflow of MAX_RELOCS number of "commands".
Identify this scenario and dynamically increase the chunk size to
avoid the overflow, and the resulting assert() which crashes Xorg.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=79317
Signed-off-by: David Mansfield <spice@dm.cobite.com>
commit cbe70e99136eca3f1eb00048e98ccad653897dd5
Author: Hans de Goede <hdegoede@redhat.com>
Date: Wed Apr 23 17:50:41 2014 +0200
Add support for server managed fds
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
commit a7115f636bc1054c350b7a6a9557ecb944188596
Author: Hans de Goede <hdegoede@redhat.com>
Date: Wed Apr 23 17:35:24 2014 +0200
Fix qxl_driver_func to adhere to the API
The driverFunc callback MUST check the passed in operand and only return
TRUE it if understands it and has handled it. It must NOT blindly assume the
op is GET_REQUIRED_HW_INTERFACES.
While at also always define driverFunc, and welcome qxl to the 21st century.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
commit 463084aa8e73fbafb8dc404e2bd458548d04e9dc
Author: Hans de Goede <hdegoede@redhat.com>
Date: Wed Apr 23 17:28:28 2014 +0200
Add support for XSERVER_PLATFORM_BUS
This is a preparation patch for adding support for server managed fds.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
commit 9123b177eeeae53c5faf106eaf6d0f811efd6186
Author: longguang.yue <longguang.yue@gmail.com>
Date: Thu Mar 27 00:21:05 2014 +0800
fix memory leak when alloc uxa
commit 9971a5ce9007c23fffb4221cbff7c125660929bd
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Mar 31 09:53:24 2014 -0500
Make use of the new playback rate interface, if available.
commit e543c6ba78d0be27d29a4f50a6641208161556c2
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Feb 28 11:59:15 2014 +1000
qxl: fix set cursor2 support for older kernel
On older kernels we were getting -EINVAL not -ENOSYS,
so we'd never render the cursor, gnome continuous uses a 3.10
kernel.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 9f9709b3dcdf2c8475d67cb42c8765ce17165b8b
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 27 12:01:46 2013 +0200
Xspice: add better doc strings for audio & vdagent
Signed-off-by: Alon Levy <alevy@redhat.com>
commit d6066e77c12f6a6273b7b57c3d3a37df2be9a0b4
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 27 11:50:28 2013 +0200
spiceqxl_util.[hc]: add copyright & license headers
Signed-off-by: Alon Levy <alevy@redhat.com>
commit c1b698baf3a5d653854c69a12f2d3cb76991b406
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 18:26:12 2013 +0300
Xspice: cleanup vdagent files
commit eb437149e26c995aac780dc8bb67ea41275d0429
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 18:26:02 2013 +0300
Xspice: fix cleanup when some processes are already dead
commit a778d9da649b16098ab3721f135bd7508bc32167
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 18:25:47 2013 +0300
Xspice: cleanup non regular files too
commit e1b4022a0d2c598e5d5dead8d770f5e7d0de5a0c
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 18:22:15 2013 +0300
xspice: chown both files used by vdagent for suid Xorg case
When running a suid Xorg mkfifo and bind produce files owned by root.
Change the ownership so that the user launched vdagent & vdagentd can
write to them. This also makes it easier to cleanup the files from the
Xspice process that is not running as root (and is launching both
vdagent & vdagentd, hence they are not running as root either).
The patch adds two new parameters, uid and gid of the agent used files,
namely the virtio unix domain socket and the uinput fifo.
commit 5f23159d86e94d599301581f25a6e13fe3a050b9
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 11:57:43 2013 +0300
spiceqxl_spice_server: no need to call spice_server_set_noauth twice
commit 1b4c1dd47e7876f85a5e6338f3561e718cb39929
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 21 11:21:44 2013 +0300
tests/xspice_util.py: fix hardcoded port
commit 516c07ea582db00aac75133e5bbd8f8647900bd7
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 20 18:39:14 2013 +0300
fix make dist
Signed-off-by: Alon Levy <alevy@redhat.com>
commit b8b67dc138092de488fb6ef62ce4bcb99aaa881a
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 20 17:59:07 2013 +0300
Release 0.1.1
commit 27cb65b1ad669789bebef356ea9086491dbed382
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 20 16:33:39 2013 +0300
xspice: add tests for audio remoting
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 7d84ff3a11d61d0619ab3492097b493d08e97ad2
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 20 16:32:54 2013 +0300
Xspice: kill Xorg process on SIGTERM
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 715707cf3038447138c5408e6ed91d788c7e37fa
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 20 15:36:30 2013 +0300
qxl_image: fix build break once MIN/MAX switched to spice-protocol
In commit 5e122e4ab1ac35186cc610cd0d518cfd5e78d902
commit 48d762993653d1d88da4b93a646bafd844507f26
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 13 15:39:43 2013 +0300
spiceqxl_audio: fix possible buffer overflow (clang)
I've tested this. Previously strncat was used incorrectly, it is
replaced with snprintf per Uri's suggestion.
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 2ed03db1ae39f26b4ba62a7db140a56f9acbe4bc
Author: Alon Levy <alevy@redhat.com>
Date: Wed Oct 16 15:22:26 2013 +0300
Xspice: add --audio-fifo-dir
Signed-off-by: Alon Levy <alevy@redhat.com>
commit a6ce6b285e6f4783b63cc0af309562771b516dfc
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 13 15:39:11 2013 +0300
uxa: use PIXMAN consts instead of PICT in some places (silence clang warning)
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 8afb354f094e253585b93108175793fe7bf13606
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 13 15:38:35 2013 +0300
spiceqxl_display: add noreturn attribute (silence clang warning)
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 2f7e4c845366328e4f561654e0c38314c7aafe69
Author: Alon Levy <alevy@redhat.com>
Date: Sun Oct 13 15:38:16 2013 +0300
qxl_get_formats: use surface enum, not bitmap (fixes clang warning)
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 70884bd353c34c0be23c2b21eec320cd8c637f4f
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Oct 17 14:08:06 2013 -0500
Use non deprecated functions, removes warnings from build.
commit 5e122e4ab1ac35186cc610cd0d518cfd5e78d902
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Oct 17 14:07:29 2013 -0500
Remove MAX/MIN macros that are now included via spice/macros.h.
commit 78f1115d11bea8be572e6959fa4db0313454b318
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:40:20 2013 +0300
Xspice: vdagent{,d} launching support
It checks for a new enough vdagentd/vdagent via the new -S command line
parameter available via "vdagentd -h" and "vdagent -h".
Signed-off-by: Alon Levy <alevy@redhat.com>
commit aa9d1cc75d494ae2d33ee2c925a35338ce85f4c2
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:39:51 2013 +0300
Xspice: require display parameter, and set if earlier in environment
Signed-off-by: Alon Levy <alevy@redhat.com>
commit dc451204ec5a4abceac977d99893918091324271
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:39:11 2013 +0300
Xspice: correct doc string
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 9f4e429c13fd6e56a200d58c735b37d7eeb671fe
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:38:45 2013 +0300
Xspice: use subprocess.Popen, nicer cleanup of files/processes
Signed-off-by: Alon Levy <alevy@redhat.com>
commit a6d00dccbf8257c0d225e0886cb2d4a8ba60fe38
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:28:50 2013 +0300
xspice: add uinput support to vdagent support
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 294daff7ea930f338ec6d77ec3465b6f727c168e
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:32:16 2013 +0300
xspice: add vdagent support
Adds a configurable virtio path used to communicate with the vdagentd,
and a configuration variable for enabling the thing.
With this you can have multiple monitors, but due to usage of a tablet
you cannot generate pointer events on and monitors besides the first.
clipboard already works.
The next patch adds uinput emulation to let vdagentd generate uinput
events and fix this glitch.
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 9d8a953c8c64cb3d896ad5ae9a534e6a5b71a2f5
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 17:45:38 2013 +0300
qxl_option_helpers: add required includes
Signed-off-by: Alon Levy <alevy@redhat.com>
commit cfdd8e58df1afd073abf6b0db804f3e10724317d
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 16:34:41 2013 +0300
spiceqxl_inputs: expose buttons & position api for agent usage
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 9f4c7aed3c75e4214cd16f28b890d6b99f6a2946
Author: Alon Levy <alevy@redhat.com>
Date: Mon Sep 2 16:32:22 2013 +0300
xspice: zero memory on allocation, fix uninitialized use (valgrind reported)
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 9bc5e720f20caf91f95c1fb56bc6ac8c24725eb8
Author: Alon Levy <alevy@redhat.com>
Date: Sun Sep 1 17:43:00 2013 +0300
xspice: support sending monitors config
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 751d51c3a5cb67d9d1e14d9fc43da20b226a99f3
Author: Alon Levy <alevy@redhat.com>
Date: Mon Oct 14 12:26:06 2013 +0300
fix undefined symbol qxl_enter_vt_kms for XSPICE
commit d38b40046df43810ae79628b5424d7b621307795
Author: Jeremy White <jwhite@codeweavers.com>
Date: Tue Oct 1 14:00:38 2013 -0500
Handle a missed case where lack of kms doesn't work with XSpice.
commit 14dcb4016ec2f940dbef175b55875f0ac8c14f5c
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Sep 25 08:31:14 2013 +1000
fix build with --disable-kms
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 86a1751ca6d6b08caa6f060b977f079a4f05b384
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu May 23 09:23:22 2013 -0500
Provide compatibility for Xorg list code with Xorg < 1.12, for RHEL 6 support
commit d261a3aef5a5d470057ffd9691af52c214681257
Author: Alon Levy <alevy@redhat.com>
Date: Sun Sep 8 14:51:38 2013 +0300
fix a bunch of warnings - unused variables, labels, code
Signed-off-by: Alon Levy <alevy@redhat.com>
commit abe9cd20186fa810aaf880222d1c9ab3ab6bd379
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jul 3 15:28:10 2013 +1000
qxl: fix broken cursor hotspot on KMS driver
bugzilla: http://bugzilla.redhat.com/974662
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 96e6be278896ea6ecb43984d7e6fe8eea3b75ab1
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Jul 9 07:33:34 2013 +1000
qxl: drop GPL code from qxl driver
This code was added due to lack of oversight on commits, remove it,
this loses this feature for now, a clean implementation using MIT licensed
code will be written later.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 8b03ec16acece636f96cf30362061716f6b596c2
Author: Cole Robinson <crobinso@redhat.com>
Date: Tue Jul 2 16:19:13 2013 -0400
qxl: Report actual module version
https://bugzilla.redhat.com/show_bug.cgi?id=813684
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 131b7a87506adb304be9c479803d6952dce599cd
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jul 1 13:21:13 2013 +1000
qxl: add uevent handler support
This allows the driver to process uevents from the kernel when the mode
changes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 9075ac50655b1035275a4b79d6cfdc0de38dcca0
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 30 14:45:27 2013 -0400
spiceqxl_main_loop: fix use of watch after removal
rhbz 968931
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 5376ed35a16516bcf97cc13666593d1518231d1f
Author: Dave Airlie <airlied@redhat.com>
Date: Sat Jun 29 21:28:33 2013 +1000
qxl: fix issue with resizing dev_image improperly
this could result in a segfault when resizing.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit a391983e75d62bc1cfc2bab366ba983c2cd0954b
Author: Dave Airlie <airlied@redhat.com>
Date: Tue May 28 13:53:06 2013 +1000
qxl: fix 32-bit mmaps
32-bit mmaps were broken, and I really thought I'd applied this before,
but must not have made it across.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aead20f14a912879a297d77e85d9b029fd5f4e1e
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 23 05:19:39 2013 +0100
qxl: don't enable kms unless we can find qxl_drm.h
Reported-by: Jeremy White
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 1b4d51be0502224c5b6c165b7aaec02d7e782c8c
Author: Dave Airlie <airlied@redhat.com>
Date: Tue May 14 11:13:00 2013 +1000
qxl/kms: recreate the host image upon resize
The code was just missing this, it was freeing stuff but never
reallocating it, oops. This along with the kernel side fix should
allow better randr support under KMS.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3e37b2c38f661b0b8e285cfa7f0549aa3d216eb5
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 9 13:43:57 2013 +1000
qxl: add KMS support v1.2
Avoid DRI create busid symbol for now.
fix warnings.
commit 77a159451578d0e5773b2af6ed181ad076a6c7a5
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Apr 29 14:16:40 2013 -0500
Set -noreset on invocation
commit 1263b3934c695e124d09a850a4530b17bddcbf51
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Apr 29 14:07:03 2013 -0500
Modify X interfaces to better enable Xorg resets.
However, it still crashes, most likely due to the xorg_timer
in the watch structure. Those timers become invalid at Xorg
server reset (it clears all timers), but we go on to continue
to use them.
As fixing this fully will likely require some messy rework,
simply documenting -noreset seems like the best choice for now.
commit 11802306622f5580cd211aec175f9fef714e66e4
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 28 08:44:49 2013 -0400
When DebugRenderFallbacks is turned on, print debug spew in many cases
Whenever we can't accelerate, and DebugRenderFallbacks is turned on,
print out the reason we couldn't accelerate.
commit 6b5df7bb359b548b65033b16ac539bf3dd91793a
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 28 08:44:48 2013 -0400
Add new DebugRenderFallbacks option
This option defaults to off. When enabled, uxa_set_fallback_debug() is
set to true. Later on more debug information may be turned on
conditional on this option.
commit 3cbd14b93925c70f32a132082a8eae59380ec4bf
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 27 13:28:57 2013 -0500
Make the Deferred FPS mode available in all cases, not just XSPICE.
commit f6aebb149e4ddffe303f5cfdeb8b24c79416db60
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 21 12:58:12 2013 -0500
Eliminate gcc warning "initialization discards 'const' qualifier from pointer target type"
commit 742a032bcd58534631095dafa89d24c076c43ffe
Author: Jeremy White <jwhite@codeweavers.com>
Date: Sun Sep 9 10:50:19 2012 -0500
Eliminate a gcc "cast discards '__attribute__((const))'" warning
commit eca99cb6827511a0750e21a09f3f00043966dcc4
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 21 10:44:46 2013 -0500
Actually request the forcibly inline functions to be inline.
Silences a gcc warning (-Wattributes).
commit 48170807029bf0a13f60b2d89047474b05168c84
Author: Jeremy White <jwhite@codeweavers.com>
Date: Sun Sep 9 11:14:14 2012 -0500
Eliminate a printf format warning on 32 bit systems.
commit 8f8f600719cae19b2bc3c5afa7dfd7f4d1c3ac19
Author: Jeremy White <jwhite@codeweavers.com>
Date: Sun Sep 9 15:27:14 2012 -0500
Document a meaningful warning.
commit 60e1dc6fb66c23b3bfb8511073866a468a73a599
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 21 10:33:01 2013 -0500
Removed unused local variables
commit 274a08685b3bf709cd08a74c082f1253ee46d43a
Author: Jeremy White <jwhite@codeweavers.com>
Date: Sun Sep 9 10:34:52 2012 -0500
Eliminate gcc warning on duplicate use of ARRAY_SIZE by Xorg.
commit 42c88ddaccd3a286c6637aa82248e5eb1cc75006
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 20 15:00:15 2013 -0500
More correctly signal that we only want the first head connected at start.
This prevents a bug when using old versions of qemu (< 1.2) and the latest
driver version.
This was uncovered when I found that my patch beccf8e8:
Establish a preferred default of 1024x768 correctly.
causes a failure when running with the qemu in Debian.
The video ram allocated by older qemu versions (8M) is not enough to hold the
default heads (4) times the default screen size (1024x768).
It worked prior to my patch because the previous code was a bit of a mess.
It would hard code 1024x768 for Virtual Size, hack some crtcs to disabled,
and sorta kinda have 4 heads connected. Later resizes would come through and
mostly fix things up, so we largely got away with.
This change should correctly signal that we start with only one head
connected.
There is still more that could be done with the randr code; we have
unimplemented functions that I suspect would allow us to fail more
graciously when the user tries to create displays in excess of our RAM.
commit 475f3b73345dd0bc480f0761e41a35e7ce0c80b8
Author: Jeremy White <jwhite@codeweavers.com>
Date: Tue Mar 19 08:47:32 2013 -0500
Add an example stanza for the FIFO dir logic.
commit 9f18384a9b34da4eed3690f11575b6633c61f1a0
Author: Andrew Eikum <aeikum@codeweavers.com>
Date: Fri Mar 15 09:19:49 2013 -0500
Implement sending audio to the client from a directory of FIFO queues
This introduces a new Xorg.conf option, SpicePlaybackFIFODir, which will
be monitored for files. The XSpice driver will mix and forward the audio
data sent to those pipes to the Spice client.
This is designed to work with PulseAudio's module-pipe-sink, but should
work with any audio output to a pipe. For example, use with this PA
configuration option:
load-module module-pipe-sink file=$FIFO_DIR/playback.fifo format=s16 rate=44100 channels=2
making sure the format, rate, and channels match the Spice protocol
settings.
commit 56623b13a860a9b76ca59d5e9e7d14c80d72d245
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 14 12:47:13 2013 -0500
Add a --xsession option, to allow for an automatic start of an xsession script
commit d540f7e91e39db6eec752e698252b6efb83ed950
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 14 11:30:39 2013 -0500
Enable the deferred-fps and exit-on-disconnect options
commit 6d480421cd307e4cce91e6f6da85890715c8d676
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 14 10:50:44 2013 -0500
Add a '--auto' flag to create a temporary xorg.conf file.
commit 7038ec9eb6bdff60623f38462376acb2de1e2272
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Mar 14 10:20:03 2013 -0500
Consolidate and document the missing parameters
commit 60d9b28cc02e2560b7a96826be5283df6014fb14
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 13 14:43:09 2013 -0500
Add missing options to the example xorg.conf file.
Poor man's documentation for the win!
commit 45a862ef5c75a913628155ed65344ad4f3bc94a0
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 13 14:25:45 2013 -0500
Handle cache and surface options the same way we handle all options.
Add comment lines for them to the example xorg.conf file.
commit cee2fe80480db851402186096f8fc433306d330e
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 6 12:30:36 2013 -0600
Initialize our update region at surface creation, avoids 0 size regions
commit c36be89ea4f5bbfb81bc2eee4af130d2e9553e7e
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Mar 6 12:30:01 2013 -0600
We're uploading a drawable from the primary surface, use it.
commit 7a7b12762904eea329f678987565d89db56421b6
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Mar 12 10:27:19 2013 +1000
qxl: drop pointless and wrong memset.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit a474a718e118895978beb19d77d730f578c201ef
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Mar 6 13:54:22 2013 +1000
qxl: use u64_to_pointer to avoid warnings when building on i686
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 5d73de5e250350e10d0dc8b000ce1d3a21eeb2b5
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Mar 6 13:33:50 2013 +1000
qxl: fix xspice build due to missing include.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6400c31454483aa2a8edd828579d9a2e7190df1c
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Mar 6 13:31:30 2013 +1000
qxl: fix build in koji
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 9d45cc50c0f7302a649a5ae5b850f0bdbb9a2771
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 15:03:37 2013 +1000
qxl: separate surface ums code out into separate file
All the surface cache code is UMS specific, so separate most of it out.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 8c7fada8f42cc4a741f7f1d210b50f754ef8805e
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 14:03:40 2013 +1000
qxl: abstract object allocation away from surface/image/cursor code
This abstracts the object bo/surface allocation away from the user code.
The idea is we can then plug in a KMS backend for this abstraction and mostly
keep the surrounding code intact.
This is probably the biggest change to the driver in terms of impact of KMS
code on UMS code. At the moment I'm storing linked list of bos for release
handling, and that might be better done with a different data structure,
since we are looking them up by phy_addr, either a hash table or some sort
of rb tree perhaps, rather than a linear search.
This commit also starts usign the xorg list macros, which may require
some compat code to work in history.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f0e9d7bb9658a89909f97b485437a1375aa0267f
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 13:23:47 2013 +1000
qxl: add direct pointer from qxl surface to qxl screen
This is prep work to allow the cache to be bypassed for kms.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit edea5bed01049ae9f62278fe998b13745c8ffa8c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 13:11:08 2013 +1000
qxl: pass surface struct instead of ids in drawable functions.
this just changes it so we pass the surfaces not just the ids.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 8b27ab5b956a0e4ca1dd14f26634d0159d0976dc
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 13:07:39 2013 +1000
qxl_edid: add missing config.h
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 37bc463a553c03ea9a757ad2ebea056b42c6e8ad
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 13:04:20 2013 +1000
qxl: split common pre init code out from qxl pre init
This just moves the options parsing and color setup calls
to a separate function.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 9a1914cff1200a58dab1edb939292f0fb96ec025
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 12:49:53 2013 +1000
qxl: fix memory leak on driver exit.
We were leaking two allocations on driver exit.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit e24b9ca438c17797012a48f9647682d382e44de0
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 12:48:36 2013 +1000
qxl_surface: move to using struct to avoid ordering issues with typedef.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 39b5c10ac426db8377389433d4d04f54c8b710ef
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 12:47:33 2013 +1000
qxl: pass qxl instead of surface cache to some functions
This is more preparation work for adding bo abstraction layer.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit b13a5e7cfead7d4de4d24d86f0eabeae76934fb9
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Feb 26 12:26:45 2013 +1000
qxl: split surface struct out into its own header file.
This is just ground work for kms addition.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 2753e5bf4cc6cdfaea50785cc70285a1bb995fcf
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 20 12:43:27 2012 +1000
uxa: port over tiled fill code from EXA
This makes X -retro actually render fast, as opposed to glacially slow.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3dfb0a968d572e8af2bc52c964beeaaab4675448
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:43:45 2012 +1000
qxl: move mspace setup to qxl_mem.c
removes mspace stuff from main qxl_driver.c
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 55c0b36c54fe6dfb25cdbcfad0add9707c4a734b
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:40:53 2012 +1000
qxl: move garbage collector + alloc into qxl_mem.c
This moves a lot more code out of the qxl_driver.c file.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit a604a002fda045c8166333d4f17925280844d26d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:36:58 2012 +1000
qxl: move mem slots code to qxl_mem.c
This moves the mem slot setup code to qxl_mem.c.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 338cfb89bb3f1e3ae4cbfdbf4c9640dde9707f5d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:35:05 2012 +1000
qxl_mem: drop unused if 0 code.
Doesn't look we want this code anymore, so drop it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 120ca968123e5c1e9d355bc43826a92fdfdf7f2c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:33:39 2012 +1000
qxl: move io functions to a separate file
this moves all the lowlevel ioport interaction code to a separate file.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 43ff8209da8ca3770339bbc9b776e114b94a55a7
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:20:10 2012 +1000
qxl: split user modesetting code and crtc code out.
This splits the UMS modesetting and xf86Crtc code out into a separate file.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 5f8e250927ebaf8a76621efb9294e527a7bde99b
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Nov 13 14:04:17 2012 +1000
qxl: split uxa related code into separate file
qxl_driver.c is insane, it needs to be split out like other X.org drivers.
This is step one, move the uxa interfacing code into its own file.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit beccf8e81ea6bb4c86bcaf3cd4aac5e18f6d3f0d
Author: Jeremy White <jwhite@codeweavers.com>
Date: Tue Jan 29 13:34:52 2013 -0600
Establish a preferred default of 1024x768 correctly.
This fixes a bug with x-spice where you could not specify
a default mode in an xorg.conf modeline that was greater
than 1024x768. This also eliminates (and partially
reverts) patch c1b537fc.
It also fixes bug 894421, where gnome modes flicker
and work poorly.
commit c90bb813f3d30c8c800b1f56d77713cce417f1b2
Author: Uri Lublin <uril@redhat.com>
Date: Thu Jan 17 16:26:35 2013 +0200
qxl_driver: monitors_config: adjust to memory-remap
Resolves: rhbz#883578
Call qxl_allocate_monitors_config upon memory-remap such
that qxl->monitors_config points to the start of
monitors_config segment in qxl RAM memory.
Currently after memory remap, it's possible that monitors_config
memory and video-memory (or graphics) overlap, which means
that one may overwrite another.
Specifically in the bug above, monitors_config value are being
overwritten by video pages, and on the destination bad values
are read which cause problems on the server and client.
It may be a good idea to add some protection on the server side,
e.g. calcluate checksum, compare values against modes, or limit
->count and ->max_allowed and ignore bad monitors_config values
Also do not memset-0 monitors-config upon allocation (remapping)
to not overwrite likely good configuration (in case it is
being read by the host, e.g. upon migration).
commit dadc1ad3f05633f926c9cb75a93367c5d52af988
Author: Uri Lublin <uril@redhat.com>
Date: Thu Jan 17 16:26:34 2013 +0200
qxl_driver: simplify calling qxl_update_monitors_config
Simplify by calling check_crtc from within qxl_update_monitors_config,
instead of calling check_crtc before every call to
qxl_update_monitors_config.
commit 3963ad1a140ef4b2a3f09471d0135311b9b36c87
Author: Uri Lublin <uril@redhat.com>
Date: Thu Jan 17 16:26:33 2013 +0200
qxl_driver: check_crtc: handle qxl->crtcs == NULL
commit 1d5001116662ef832e010a098a68b81446c1c531
Author: Uri Lublin <uril@redhat.com>
Date: Thu Jan 17 16:26:32 2013 +0200
qxl_pre_init: fix calculation of available video memory
Don't forget to substract monitors_config area.
Memory map of qxl RAM looks something like the following:
---------------------
| |
| Surface0 Area |
| |
---------------------
| |
| |
| Video Pages |
| |
| |
---------------------
| Monitors Config |
---------------------
| RAM Header |
---------------------
commit 2e003fc6447128ca1035061a3f98fd57ee3bed24
Author: Uri Lublin <uril@redhat.com>
Date: Thu Jan 17 16:26:31 2013 +0200
qxl_driver: remove unused enum ROPDescriptor
commit 4908d6c4d13014f38dadfd1020cd680e81f053b7
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Sep 6 16:01:15 2012 -0500
Enable the use of SpiceExitOnDisconnect so that Xspice can be configured
to allow exactly one server per client session.
commit 6677781531a8638c3813ee091881271d7d7e23b2
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Sep 20 16:04:08 2012 -0500
Implement prepare_copy using GC functions.
This avoids having to screen out bad alu and planemasks;
we let the X driver take care of it.
commit 6130831c7341acee332e1c0dd7d3b74350e87fcc
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Sep 20 15:52:31 2012 -0500
Implement copy with fbFill.
This fixes issues with 1 bit images; some pixman implementations
did not support 1 bit images - the general fbFill implementation
takes care of it for us.
commit 531a844ab9136d657f90a30bb049068e92629c65
Author: Jeremy White <jwhite@codeweavers.com>
Date: Tue Sep 11 12:56:19 2012 -0500
Add a deferred frames mode.
This renders all operations to a frame buffer,
and sends updates periodically.
commit 4301bff52bfec982b16896e395d9b4785c359a73
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Sep 10 12:29:29 2012 -0500
Shift the uxa function initialization to a separate function.
commit 7d62dcc6d400e3f96fb7921fbdb852f3b9024b17
Author: Jeremy White <jwhite@codeweavers.com>
Date: Mon Sep 10 10:36:39 2012 -0500
Add a DeferredFPS option.
commit a44be4fd011cc0b80d0c8109589e7aa1c26cad1e
Author: Jeremy White <jwhite@codeweavers.com>
Date: Thu Sep 13 09:53:03 2012 -0500
Unify memory management for the primary screen.
We never actually connected the host_image pixmap to
the primary screen, because we never operate on the bits
of the primary screen.
This causes problems if we wish to use traditional X
operations to modify the primary screen, as they will
fail and corrupt memory as they go.
commit 819b1f62efbecf33db7bb0b4402a798262ae4574
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Jan 9 22:55:47 2013 -0500
Remove mibstore.h
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit b211ff37e1fdca853275e73e5cd089c0d713f521
Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Date: Fri Sep 28 14:06:07 2012 -0500
Only include Xv headers if server supports it
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Søren Sandmann Pedersen <ssp@redhat.com>
commit 29ac84b5009ba83345200c1ca4511c2c86331624
Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Date: Fri Sep 28 13:35:33 2012 -0500
Add XORG_LIBS to LIBADD
This affects only Cygwin (on which only spiceqxl is supported), where
drivers must be linked against the Xorg implib. On other systems,
XORG_LIBS will be empty.
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Søren Sandmann Pedersen <ssp@redhat.com>
commit 10d6e8ee3e59655c32c2d518cc6686eff902c6dc
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Aug 8 14:58:36 2012 -0500
Change include paths to fix rare compilation issue.
Technically, the xorg/ prefix should not be specified. It generally works,
because xorg/ is usually hung off /usr/include. This enables
compliation that correctly respects a pkg-config --cflags xorg-server.
commit d8bb331784792bfd35bf158875b434243f0fe019
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Sep 20 19:11:55 2012 -0400
Version bump to 0.1.0
commit 6520293e1e1f57bafbcf99592e766f810ce3ad2d
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Sep 20 16:26:36 2012 -0400
Make the checks for composite and a8 return FALSE for Xspice
They depend on the PCI revision which is not available for Xspice.
commit 7f0b820d919eb944eae201de03b186bd247b0324
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Sep 12 10:38:41 2012 -0500
Only use dixScreenSpecificPrivatesSize if we have a new enough Xorg.
This lets us continue to support older Xorg releases.
This reverts 4f37cd85 and partially reverts 4a43bd4.
commit fb038eb37906eba9a88e0cb6622a59f06dcc2a68
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Sep 12 12:54:06 2012 -0400
Don't issue composite commands or create a8 surfaces when not available
When the device or the client are not capable of composite commands or a8
surfaces, don't issue these commands.
commit 4f37cd854f128714b8fcf3c0ab8afd72986407a0
Author: Johannes Obermayr <johannesobermayr@gmx.de>
Date: Fri Sep 7 18:05:21 2012 +0200
Require XServer >= 1.12.99.901 in conjunction with commit 4a43bd4.
commit 7059cff787eef80f3d3345de705e912b292a9f97
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Jul 12 09:53:31 2012 -0400
Add Render support
This commit adds support for using the new Composite command in spice
protocol 0.12.0. This command is similar to the Composite request in
the X Render protocol.
By implementing the UXA composite stubs, we get acceleration for most
common Composite requests, including glyphs.
commit 2fecf3a171e64ca0dad5653ed740409dc5af2edf
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Dec 20 09:01:17 2011 -0500
Enable 8 bit pixmaps.
a8 surfaces are now supported with the 8BIT_A format in spice, so we
can have support 8 bit pixmaps.
commit 37c97620da959d9214abfc760835aa3031d54daa
Author: Søren Sandmann <ssp@redhat.com>
Date: Sun Aug 12 11:03:16 2012 -0400
Use an RGBA format for 32 bit images
With the upcoming Render changes, we can no longer assume that the
fourth channel of images is unused.
commit 1e89aab2dc0beb01f43a2397faa05a8cd01a7547
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Aug 22 15:27:09 2012 -0400
uxa: Plug leak in uxa_glyphs_via_masks
If prepare_composite() fails, we need to free the temporary mask
before returning.
commit afd8d20b84a4b4e9b22483e379d594517333e8c7
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Aug 14 14:20:11 2012 -0400
uxa-glyphs: don't prepare composite when dest is not offscreen
It is possbible for a pixmap to not be in video memory after
uxa_clear_pixmap() was called. When this happens, we need to destroy
the pixmap and return 1 to indicate that the operation can't be
accelerated.
commit e738d00e1fb3cd469f850765e2b42976c2a85764
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Aug 21 12:56:52 2012 -0400
Improved support for memory debugging.
Make all memory allocation functions take a string that will explain
what the memory will be used for. This allows debug print statements
to be added to the allocation functions and could later potentially be
used for more detailed statistics.
commit 4a43bd436c58dae72f91905657a36158efc68907
Author: Alon Levy <alevy@redhat.com>
Date: Thu Aug 23 18:28:03 2012 +0300
src/qxl_driver: use the new dixScreenSpecificPrivatesSize
xserver introduces a new screen specific privates infrastructure, moving
the PRIVATE_PIXBUF over there, breaking qxl that was using the wrong
dixPrivatesSize to access it - there is a new array of screen specific/not
flags, and PRIVATE_PIXBUF is screen specific.
xorg-xserver commit: 9d457f9c55f12106ba44c1c9db59d14f978f0ae8
This fix breaks backward compat. The next release will only work with
xorg-xserver >= 1.12.99.901
RHBZ: 844463
commit 0998bf63cd6c69a98f67094eba4e4edd2bf2a906
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Aug 23 17:24:51 2012 -0400
Coding style fixes
Undo most of the damage from 7f8d3ed05cbe891
commit 5554358fa3baf6616159b65f2f65a138f401aaf8
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Aug 23 17:22:58 2012 -0400
Bump spice-protocol version requirement to 0.12.0
commit a261befde42d21f3fa9e4a56f121203cc67f3831
Author: Alon Levy <alevy@redhat.com>
Date: Thu Aug 23 17:27:20 2012 +0300
qxl_driver: Xspice: fix build breakage
commit c1b537fcafc3b9121d8c79cf5e98566158f34ab6
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Sun Jul 15 09:38:55 2012 -0400
Return a preferred mode matching the current mode
This make gnome-settings-daemon not switch resolution automatically to
the largest available.
commit ef4f158a18f03444d358b5ece39db636f76365f9
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Fri Jul 13 08:20:33 2012 -0400
Change output status when update monitors config
commit 907d0ff0b0f6934d37fbab4a6889295d70ae3496
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Sun Jul 8 15:35:23 2012 -0400
Bypass rrcrtc.c screen size bounds check
commit 557e23e82b6d738fab6fa6bd28b077dd81437b22
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Fri Jul 6 08:06:10 2012 -0400
Avoid calling qxl_update_monitors_config() with invalid config
During startup, the monitors are not yet enabled/set. and we
can avoid sending invalid/transient config.
commit 47b54dcfd9ba2aa78e0f154a288321bb0ff98dce
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Fri Jul 6 08:05:11 2012 -0400
Split crtc_set_mode_major()
Avoid sending many monitor config changes during qxl_create_desired_modes()
commit 6ee541636b6ed6846074afeb1c32d9e8e6a9bdda
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Fri Jul 6 08:02:21 2012 -0400
Add check_crtc() helper, to catch crtc/monitor config errors
commit 7f8d3ed05cbe8914910e49b49ec44df15562bd16
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Wed Jul 4 14:56:07 2012 -0400
Coding style improvement
commit f9980eec2287a01a918ff073a45f13d9dc66a1c6
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Wed Jul 4 14:01:45 2012 -0400
get rid of one of the gcc warnings
commit 6c63d799a2b0f69485938dbae7975bf913284a23
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 15:53:41 2012 +0300
qxl_driver/qxl_initialize_x_modes: remove modes not fitting framebuffer
commit f493653a5e09ae0e0fe1a5f70c3aba1dc9fe86fe
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 25 17:09:20 2012 +0300
qxl_driver: add infra for surface0 resizing
Most importantly, don't allow randr resize if it is too large for the
currently allocated mspace. Ifdeffed out almost working code for
reallocating the primary mspace (qxl->mem).
commit 75619d076bb029b76bed7a885864e191c386aa23
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 12:11:41 2012 +0300
add qxl_edid
Taken from Virtual Box, following exactly the same logic:
gnome-settings-daemon relies on the serial given in the edid to set the
resolution to the same one last used on that screen. Since this is not
what we want with a virtual machine, we produce a serial that is
different for every resolution.
commit de547245e75ea88f780205da072967bff119a636
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 25 16:13:29 2012 +0300
(for later) qxl_ring: add helpers (debugging/unused)
commit b4e3f07474c919af0e484a71fb86c788a703ad8c
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 25 16:20:31 2012 +0300
qxl_driver: qxl_init_randr: limit width/height to 8192, real check done on randr screen resize callback
commit d85e07921dda5e5401a336d415e8deee4b663252
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date: Wed Jul 4 11:30:58 2012 -0400
Add some error message if pci revision < 4
commit e6bfdd035f3692b712496069b9361d010526802a
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 14:33:46 2012 +0300
qxl_driver: introduce qxl_crtc, crtc private
Additionally prevents disabling of the primary crtc.
commit f106ea65cde61c8f3cf5819d8c127fb7912ec067
Author: Alon Levy <alevy@redhat.com>
Date: Mon Apr 30 18:35:59 2012 +0300
qxl_driver: implement randr, arbitrary resolution, multiple monitors (big dump)
Send a MonitorsUpdate - this should definitely be split into it's own
patch.
Require revision 4 - this is needed just for MonitorsUpdate, should go
with it.
Adds new config: OPTION_NUM_HEADS, defaults to 4.
commit 21e5719f74749fa6187539dc0805cb12759d66da
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 24 09:56:06 2012 +0300
qxl_surface: add download_box_no_update
commit 26b8b350628ec053217715e7a9cb77ff56e4f56e
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 24 09:55:27 2012 +0300
qxl_surface: normalize surface_send names, add option to surface_destroy to send/not send destroy message
commit 1db72fdf45a3ebbf7f0687671c1def75309b9499
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:44:51 2012 +0300
spiceqxl_io_port: mark FLUSH_SURFACES_ASYNC as unimplemented, do half of it
commit 5d78c4cac24ad3830dba1900d5d879551dcbb407
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 21:23:09 2012 +0300
qxl_screen_init: move uxa_resources_init down to after qxl_switch_mode has run
commit f246a251f88dab6a9db83e2d8bbd699e29950459
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 21:20:23 2012 +0300
qxl_close_screen: disable fb access, prevent segfaults in uxa later on
I don't have a stacktrace to show any segfault unfortunately.
commit 6dedd9a3f997c0112e71cfd0b28465348dfbbc36
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 25 17:08:11 2012 +0300
qxl_driver: move mspace_set_*_func earlier
commit f838df1589c63fba8e99200238cf0b4e3acac6b1
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 17:24:50 2012 +0300
fix two segfaults in qxl_free_surface
Both results from ProcFreePixmap being called in unanticipated
circumstances:
cache->all_surfaces is NULL
surface->host_image is NULL
To reproduce the following scripts work, in tandem:
create xterms, destroy them
chvt
============ xterm_test ============
import os
import subprocess
import time
import atexit
env = os.environ
env['DISPLAY'] = ':0.0'
xterms = []
def kill_all():
print "killing xterms"
for x in xterms:
x.kill()
del xterms[:]
atexit.register(kill_all)
while True:
for i in range(10):
xterms.append(subprocess.Popen(['xterm', '+u8']))
time.sleep(1)
kill_all()
============= chvt_test_helper ============
XPID=`pgrep Xorg`
XTTY=`find /proc/$XPID/fd -lname "/dev/tty*"`
XTTY=`readlink $XTTY`
XTTY=${XTTY#/dev/tty}
echo "chvt 1 (from Xorg)"
chvt 1
sleep 2
echo "chvt $XTTY (to Xorg)"
chvt $XTTY
============== chvt_test =================
while true; do ./chvt-test ; sleep 3; done
commit c60681561c9cf8317be4e84ac8ac2bb465e13eb0
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jun 11 10:13:39 2012 +0300
qxl: remove qxl_screen_t->stride
commit 203f579fed5e0c8a9970bfabebc84c7d84578ee5
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 12:07:16 2012 +0300
spiceqxl_inputs: don't hide the pointer global typedef
commit 5706a3765bead75999f6d0ca0b17fed6c30ad7ef
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 11:06:17 2012 +0300
uxa: fix bad argument type from removed index API change (s/SCREEN_ARG_TYPE/SCRN_ARG_TYPE/)
commit ea676f67d4c8fc863a711fb8630c1afccfa0561c
Author: Alon Levy <alevy@redhat.com>
Date: Wed Jun 27 12:19:01 2012 +0300
whitespace fix
commit de66207883efc1f32e96907c3e64f17b2bdf6c3e
Author: Alon Levy <alevy@redhat.com>
Date: Sun Jul 8 14:05:08 2012 +0300
qxl_driver/qxl_switch_mode: destroy is not idempotent
commit 6267b1a56f6104409fcb970eddc4ea9606421331
Author: Alon Levy <alevy@redhat.com>
Date: Wed Mar 7 14:30:58 2012 +0200
spiceqxl_display: reformat & rephrase Xspice comment
commit e0f301fc0512502542573b3f8dd9452f5a7ea6e1
Author: Jeremy White <jwhite@codeweavers.com>
Date: Wed Jun 13 17:04:12 2012 -0500
Compute totalPixmapSize using the same logic as in dix/pixmap.c, rather than hard coding 100.
This was found while building with a modified X server; one with a PixmapRec size of 224, not 64 :-/.
commit 6832c0fd917556c52f56f8e82706a83942ed3dc1
Author: Jeremy White <jwhite@codeweavers.com>
Date: Sun Jun 3 10:28:05 2012 -0500
Actually process write watches in the wakeup handler
My apologies for the churn; this is, I think, a slightly better patch than
my previous patch, 'Process watches even when there is no X activity', in that
it avoids doing an extra polling select when we're idle.
commit 72a0def8114073c0051f3df880f731d3968cb344
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 30 13:44:40 2012 +0300
qxl_switch_mode: don't evacuate, just recreate primary surface
In summary, on vt enter we still:
reset
recreate memory slots
clear our mspace allocators
and then do what switch mode below says
On vt leave we still:
reset (this is redundant since the first VGA access will trigger a
reset on the device side)
On switch mode however we only:
destroy primary surface
create primary surface (different size)
commit 8df3eba368e80f60ce815300b85a567a9b02141c
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 31 13:04:01 2012 +0300
qxl_surface: don't unlink surface 0
The primary surface, i.e. qxl->primary, the only surface with id==0, is
allocated in qxl_surface_cache_create_primary with prev==next==NULL.
Unlinking it was producing a wrong cache->free_surfaces == NULL. This
was not a problem because unlinking the primary only happened in
switch_host, which then called surface_cache_init. In a following commit
switch_host is simplified to destroy-primary+create-primary, so this bug
needs to be fixed first to avoid leaking surfaces and reaching a no
surface available situation.
commit 22157d4750f9090927d2e3473aa3d3a4f5232792
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 31 13:03:54 2012 +0300
qxl_surface: add DEBUG_SURFACE_LIFECYCLE helpers
commit 0f817bb4e1b4e33ef50c0399c92f1cc091840ef5
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 12:25:12 2012 +0300
io: add qxl_io_destroy_primary
commit 326b80974b4080ed7519801f7d1c96077f5ae0b9
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:50:46 2012 +0300
prefix io with qxl_io, add several
commit 73981e02c90cc81dd462f9fc2a00b5b11a9eab00
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:52:48 2012 +0300
qxl.h: add device_primary tri state UNDEFINED/NONE/CREATED
commit b600edc48270a4a368add11ec02e6d365d5da60d
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 24 00:08:38 2012 +0300
qxl_surface: logging: add function name to ErrorF
commit 3a87e765d91a26ead2cfc5ddad1ba4f3e7d21922
Author: Alon Levy <alevy@redhat.com>
Date: Thu May 24 11:00:49 2012 +0300
qxl_surface: cosmetics
commit 60478640a6c4d74c44fdf67350be6e180960cf5f
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 21:23:26 2012 +0300
qxl_pre_init: memset qxl struct
commit 9d929ae1d1bb2e7f03221fcc4d70e761b6ff9242
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:46:34 2012 +0300
qxl_driver: abort on mspace error, don't spin (default abort function)
commit 6aa3ceb2d3f25726424b03a68ef949deadf7125a
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:44:06 2012 +0300
mspace: add mspace_malloc_stats_return
commit 5e505dc6572ee29d0ebe912a8160a8e09bfb5d3e
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 13:46:34 2012 +0300
qxl_leave_vt: change outb to ioport_write (easier to grep / breakpoint on a single point)
commit 67f86dc1e824d00a06bdc51ba4c3e88cfbd82292
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 13:45:29 2012 +0300
rename qxl_reset to qxl_reset_and_create_mem_slots
commit 21c1d576925e561551b91b44b0d286f0bdc689c4
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 23 20:54:44 2012 +0300
qxl_mem: add debug flags, simple accounting and valgrind enabled
adds preprocessor definitions DEBUG_QXL_MEM & DEBUG_QXL_MEM_VERBOSE
commit a313b5ef1b5b6dda1e6c0ab47f458d692a5462f7
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 30 10:46:54 2012 +0300
qxl_surface: handle destroyed pixmaps while evacuated
Prevent access to freed memory when:
1. qxl_leave_vt/qxl_surface_cache_evacuate_all freed cache->all_surfaces
2. ProcRenderDispatch/damageDestroyPixmap/qxl_destroy_pixmap/qxl_surface_kill
access a surface that pointed inside the all_surfaces array
Solution in this patch:
1. never free all_surfaces
2. add an 'evacuated' field per surface, initialized to NULL, set during
evacuation.
3. on qxl_surface_kill, if surface->evacuated is set, don't destroy the
surface (it is already destroyed by this point via a reset in
qxl_surface_cache_evacuate_all's caller, qxl_leave_vt), just unref the
host pixmap, free the evacuated_surface_t and unlink it from the
evacuated linked list, so it isn't recreated later on
qxl_surface_cache_replace_all.
commit c47ebff71878458ff6157aec7252999a6578fb97
Author: Alon Levy <alevy@redhat.com>
Date: Wed May 30 10:09:47 2012 +0300
qxl_driver: hide cursors on vt switch
This is not enough to prevent any qxl_destroy_pixmap call during vt
switch, but it prevents those triggered by CursorDisplayCursor.
Note: a matching xf86_show_cursors call doesn't hurt, but is not
required, so not adding it.
It is still possible to access freed memory by the following trigger:
==4416== Invalid read of size 8
==4416== at 0x5D15EC1: unlink_surface (qxl_surface.c:685)
==4416== by 0x5D162F9: qxl_surface_kill (qxl_surface.c:799)
==4416== by 0x5D12688: qxl_destroy_pixmap (qxl_driver.c:928)
==4416== by 0x55730B: damageDestroyPixmap (damage.c:1556)
==4416== by 0x51C77B: ShmDestroyPixmap (shm.c:273)
==4416== by 0x54591B: FreePicture (picture.c:1465)
==4416== by 0x467A32: doFreeResource (resource.c:873)
==4416== by 0x467B7E: FreeResource (resource.c:903)
==4416== by 0x547742: ProcRenderFreePicture (render.c:661)
==4416== by 0x54B13A: ProcRenderDispatch (render.c:1988)
==4416== by 0x430670: Dispatch (dispatch.c:428)
==4416== by 0x492604: main (main.c:288)
==4416== Address 0x121031e0 is 116,960 bytes inside a block of size 122,880 free'd
==4416== at 0x4A079AE: free (vg_replace_malloc.c:427)
==4416== by 0x5D16BDA: qxl_surface_cache_evacuate_all (qxl_surface.c:1060)
==4416== by 0x5D13078: qxl_leave_vt (qxl_driver.c:1209)
==4416== by 0x4A4D4F: xf86VTSwitch (xf86Events.c:462)
==4416== by 0x4A4926: xf86Wakeup (xf86Events.c:285)
==4416== by 0x43E2E1: WakeupHandler (dixutils.c:421)
==4416== by 0x488A75: WaitForSomething (WaitFor.c:224)
==4416== by 0x4303CF: Dispatch (dispatch.c:357)
==4416== by 0x492604: main (main.c:288)
This is fixed by a following patch to not free all_surfaces, instead
keeping pointers from it to the evacuated list.
commit fdf2274c9ff15fc5108b400b71120184d2651a21
Author: Alon Levy <alevy@redhat.com>
Date: Mon May 21 11:31:23 2012 +0300
qxl_surface: remove redundant qxl_garbage_collect, qxl_allocnf calls it
commit b26640c2d24e6094487ea323a08b539d66050d89
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 13:47:44 2012 +0300
uxa-damage: remove unnecessary include (doesn't fix any warnings)
commit 8faf24226a20901e7a29019c922359365501ba69
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 29 13:09:46 2012 +0300
uxa: remove unnecessary includes, reduces warnings due to duplicate definitions
commit bb1b5865bc02341cfa1cc0d943fac59077643ea5
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jun 6 17:17:09 2012 +0100
qxl: fix spice build
reported by jenkins.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f1a9c1b33bff038807755824190c69889ef6d794
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jun 6 14:19:04 2012 +0100
qxl: add API compat for latest X server.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 40dc75db615c1161c38874c145770b8d77a995ad
Author: Yonit Halperin <yhalperi@redhat.com>
Date: Mon Apr 23 09:04:36 2012 +0300
Do not call update_area when lacking device memory
The QXL_IO_NOTIFY_OOM is intended exactly for handling occurrences of
lacking memory. The spice server tries to first release resources that
are no longer in the current tree (and thus, do not need rendering).
It renders drawables only as a last resort. And even then,
it does not update the whole primary surface, but rather renders
the oldest X drawables.
The call to update_area is redundant, and its effect on performance
is noticeable when playing full screen video.
Signed-off-by: Yonit Halperin <yhalperi@redhat.com>
commit 1ad5c8633cc52aef5aa8a58bf529859caa8d1bd9
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed Apr 25 16:18:19 2012 +0200
Distribution-agnostic XORG_MACROS_VERSION check message
commit b3caf8621d798ea3c5140b8adc193121c4c13c4a
Author: Yaniv Kaul <ykaul@redhat.com>
Date: Tue Apr 24 13:22:41 2012 +0300
Change xorg-macros -> xorg-x11-util-macros in configure error message
At least in Fedora 17, the correct RPM name is xorg-x11-util-macros
commit 315c7de54699a883ba91f906ab59985e4e5426c2
Author: Alon Levy <alevy@redhat.com>
Date: Mon Apr 9 12:27:21 2012 +0300
qxl_driver: ifdef out qxl_wait_for_io_command if not XSPICE
commit 5eae282231a7cd727ad3f3576ed0574a29d949b1
Author: Alon Levy <alevy@redhat.com>
Date: Mon Apr 9 12:18:36 2012 +0300
qxl_surface.c: fix -Wshadow warning
qxl_surface.c:735:6: warning: declaration of 'i' shadows a previous
local [-Wshadow]
commit a4773c508735ec3e9779c46e966a07d388e265dc
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 4 15:45:12 2012 +0300
mspace: no more warnings
commit 01f77c0c42e2b9058e48a9ac4ae171609119ce12
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 4 16:07:47 2012 +0300
spiceqxl_io_port: use pointer_to_u64 (fix warning)
commit aa6cf3db29886ce964b9a5793e7ed0af6f213b57
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 4 16:07:29 2012 +0300
spiceqxl_io_port: use attribute printf (fix warning)
commit f7949ea1488223b8fcbfd1cba2d344d811ee62ca
Author: Alon Levy <alevy@redhat.com>
Date: Tue Apr 24 12:11:42 2012 +0300
qxl_surface: qxl_surface_prepare_access: remove assigned but unused variables
commit ae50a549d6169d806105a2d6b8220002fda5d9de
Author: Alon Levy <alevy@redhat.com>
Date: Fri Apr 6 10:30:12 2012 +0300
spiceqxl: Xspice is spelled with a lower s
commit ea37df4b4bccd4e2b9dbd590607737b18ec11ee9
Author: Alon Levy <alevy@redhat.com>
Date: Sun Apr 15 11:53:51 2012 +0300
README.xspice: updpate repository
Reported by: Michael Tokarev <mjt@isrv.corpit.ru>
commit fe74d8a89534d92a2151ee3ac28de3d5864a874e
Author: Alon Levy <alevy@redhat.com>
Date: Thu Mar 8 16:16:20 2012 +0200
protect AC_CHECK_FILE for cross compiling
Signed-off-by: Alon Levy <alevy@redhat.com>
commit 810d92db84d0e11260ec3abc936dacac113fcbba
Author: Dave Airlie <airlied@redhat.com>
Date: Sun Mar 18 20:47:41 2012 +0000
qxl: missed one file that needs config.h
commit 34ccb90f6b635b45080e6e4868314fa80a662fc2
Author: Dave Airlie <airlied@redhat.com>
Date: Sun Mar 18 20:42:38 2012 +0000
qxl: fix config.h usage
You have to include config.h at top of each C file, not inside a header file.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit b75eed01fa7514c15f4379092a93ecf8478f0b48
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 15 13:49:52 2012 -0400
Version bump to 0.0.17
commit c358c7f199bfeb519e08b0903438e43b1afd02c1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 15 13:49:42 2012 -0400
Add qxl_option_helper.h to Makefile.am
commit 81bee3d3491ab6b31b0d69207729280e86138d50
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 15 13:42:04 2012 -0400
In qxl_prepare_access(), don't modify the width/height of the pixmap
The width and height were not properly restored, which caused
GetDrawableInfo() to return bogus results, which caused GNOME shell
crashes.
Signed-off-by: Soren Sandmann <ssp@redhat.com>
commit 773fbda754de2dd91f8b6bfe754d1aa59368072b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Mar 14 12:38:03 2012 -0400
qxl_surface.c: Remove #if 0'd debug spew
commit 4724bb7922e1bb193117f13ffbd69fa4f97a29fb
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Mar 9 12:09:17 2012 -0500
options: Turn surfaces and caching on by default
commit babe13196137f339b6f55c6382f7bd1c11100ec2
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 16 15:55:21 2012 +0200
missed when added qxl_option_helpers.c
commit 70d0d49b7c7d115f297dae710b9bb62b97fa22d5
Author: Alon Levy <alevy@redhat.com>
Date: Sun Jan 22 19:26:11 2012 +0200
replace lookup3 with MurmurHash3
See http://code.google.com/p/smhasher/wiki/MurmurHash3
Performance quotes from there are 2.5 times what lookup3 can do, for
32 bit variant, which is what we use:
Lookup3_x86_32 - 1234 mb/sec
Lookup3_x64_32 - 1265 mb/sec
MurmurHash3_x86_32 - 3105 mb/sec
New files are released to the public domain, keeping them that way.
My own comparison shows the added hash to be ~45% faster then the
existing one, see the tests at
https://gitorious.org/hash_tests/hash_tests
commit 994ac381a57e7a9ec502371c6aa3f491c1f1165f
Author: Alon Levy <alevy@redhat.com>
Date: Fri Feb 3 15:26:44 2012 +0100
xspice_keyboard_proc: fix arrow keys
Not sure yet why the regression with the arrow keys not producing the
right keysym, but it appears that the keycode is correct for up (as an
example), 111, but the keysym being produced was 0xff6c and not the
correct 0xff52. This boiled down to the rules of the default rmlvo being
"base" instead of "evdev". Providing an rmlvo parameter to
InitKeyboardDeviceStruct allows to override that. The chosen
rules = "evdev"
model = "pc105"
layout = "us"
Is the default used by Xephyr from
xorg-x11-server-Xephyr-1.11.99.901-3.20120124.fc17.x86_64
commit 8b3c5a5fac297226a467ea15c16cea8e5da51b8f
Author: Alon Levy <alevy@redhat.com>
Date: Wed Feb 1 08:45:10 2012 +0200
introduce qxl_option_helpers.[ch]
commit 96349ebb43e7de49b6b561b79d6fff5ada7aa4c7
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Feb 9 16:54:29 2012 -0500
Don't leak the surface when we run out of video memory.
Running out of video memory would cause send_create_surface() to
return NULL without putting the allocated surface back on the free
list. Fix this by not allocating the surface until after the video
memory is allocated, and, if surface allocation fails, freeing the
video memory.
commit c5ab0b538bd437e5e4aa86678d12a676c6edd1e8
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Feb 9 16:51:56 2012 -0500
Move check for zero width/height surfaces to qxl_surface_create()
commit 1a371d76e32b2b3612e37ae15684632c987699b7
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Feb 7 14:36:05 2012 -0500
In qxl_check_copy() accept pixmaps that don't have surfaces
UXA will correctly fall back to using PutImage if the pixmaps are not
in offscreen memory (ie., they don't have surfaces attached), so there
is no need to return FALSE in qxl_check_copy() just because the
pixmaps don't have surfaces associated with them.
commit 5a6715a074abb5ab2eb0513038a1ba8bd577239e
Author: Alon Levy <alevy@redhat.com>
Date: Tue Jan 31 00:23:27 2012 +0200
xf86PciInfo.h is deprecated and unused, drop it
commit d07c8acc3057cc577a67d04dc8499e2996ed30b4
Author: Alon Levy <alevy@redhat.com>
Date: Tue Jan 31 00:23:09 2012 +0200
qxl_image: cleanup qxl_image_create
commit da1d595ad303b997343df91ebfb70c82c4bbb748
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jan 30 23:17:43 2012 +0200
Enable surface and caching option defaults for Xspice
commit df89dc60feda16de907e93bf7da381873c01644f
Author: Alon Levy <alevy@redhat.com>
Date: Mon Jan 30 23:14:32 2012 +0200
xspice: remove duplicate declaration (fixes warning)
commit d6eedbdfbbb2eee8e6ff119dc0c12ff173a1cef6
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 30 16:15:05 2012 -0500
Enable surface and caching options for XSpice too
commit 4e68645a4d9a84d009b603d908e5b20a47db0724
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jan 28 13:47:20 2012 +0200
examples/spiceqxl.xorg.conf.example: fix in vm usage.
RHBZ #785373
workaround vmmouse segfault by disabling udev in
spiceqxl.xorg.conf.example.
We don't really need it anyway since we explicitly specify drivers for
video keyboard and mouse.
commit 8ab5b7e0faa12bf5aa1575c5fd11230284f68d71
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jan 17 11:35:04 2012 -0500
Enable caching of images based on the configuration options
commit 57b5d7a1a20fb4f138131e644251d1a49ede94c8
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 16 11:11:52 2012 -0500
Return NULL from qxl_surface_create() when surfaces are disabled
commit 6acad24a8df389e72c923e02fedd615e56dfe15b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 16 10:54:57 2012 -0500
Add support for parsing various options
- EnableImageCache
- EnableFallbackCache
- EnableSurfaces
EnableImageCache will enable the use of caching for PutImage
requests. EnableFallbackCache will enable the use of caching for image
commands that are the result of fallback rendering.
commit 1b5a3f606a16fd704cdbd296b29f7dc89faf8471
Author: Søren Sandmann Pedersen <ssp@l3000.localdomain>
Date: Thu Jan 19 14:56:30 2012 -0500
Use u64_to_pointer() instead of a cast to void *
commit 8aad7d4d95cd095e8e11cabbfde10b5d3b755a72
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Thu Jan 19 08:18:58 2012 -0500
Track damage for PolyLine fallbacks.
This is a substantial speedup for the Gimp.
commit c2ae430e572a1c7c8cebb8174482ded743a0b7f2
Author: Alon Levy <alevy@redhat.com>
Date: Tue Jan 17 17:50:18 2012 +0200
qxl-driver: call vgaHWSetStdFuncs explicitly
Previously it was called via vgaHWGetHWRec, since 1.11.99.901
it is no longer so. The relevant xserver commit:
4bd6579188e718654c35f95623fd4772f9e0ef06
vgahw: Don't default to standard (port space) access routines
From: Adam Jackson <ajax@redhat.com>
commit 37230939c6ebebac1ee9ce0f3de66a9a22355ab0
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jan 13 17:15:42 2012 +0200
build fixes: sched_yield and missing declaration
From: Adam Jackson <ajax@redhat.com>
commit c02da3f529513fc42afce9185e41852b8ae1407a
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 18 08:40:18 2012 -0500
Guard access to "pci" with #ifndef XPSICE
commit 89f71d1be4a28e7bf0d60e3089b1f28202fb821f
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jan 17 11:24:29 2012 -0500
Fix mis-merge
qxl_reset() has to be defined before qxl_close_screen().
commit 9600e4a0b57693da451f3f5ca61637d0275c3836
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Oct 5 12:27:27 2011 -0400
Reset non-primary device out of CloseScreen().
Otherwise, client windows will linger even after the server shuts
down. Don't reset the primary device so that we can preserve the fonts
etc.
commit e2fad1c9afe55ee9909a3ec8f142d2611f88b3f7
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Mar 19 12:47:52 2011 -0400
If qxl_pre_init() is called without a confScreen, just return FALSE.
Otherwise, the driver crashes when called from Xorg -configure.
commit 420876da9eafeece83e4719a469d2e1ce0b13478
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Aug 9 05:16:56 2011 -0400
Transmit images in smaller chunks
This makes use of the 'chunks' feature of the SPICE protocol to send
images in chunks smaller than 512 * 512 bytes. This reduces the
likelihood of running out of memory when big image are transmitted.
commit 5da2a6e4999265b717a7fd18039a90edcd9ba941
Author: Alon Levy <alevy@redhat.com>
Date: Sun Dec 18 19:48:57 2011 +0200
configure.ac: support autoconf 2.63
AC_CHECK_FILE(cond,[not-empty],[]) in autoconf 2.63 produces an empty
else that is illegal for bash, but forgoes the else when given a
AC_CHECK_FILE(cond,[not-empty]). 2.68 produces correct output on both,
so it's unaffected.
commit 10d122e7bc9a78be17b130c27495564562bf0f93
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Dec 19 02:09:37 2011 -0500
Revert "Use new 8BIT_A format for 8 bit pixmaps."
This reverts commit 8ea466a2f408524a9fcc08ed0a17f3c935857afa.
(This change was pushed accidentally)
commit 635a5887c52382b481de1ecca463a3fbb7fd6aa3
Author: Søren Sandmann <ssp@redhat.com>
Date: Sat Dec 17 05:39:32 2011 -0500
Don't translate newly generated paccess region
The region passed to uxa_prepare_access() is in screen coordinates,
but the driver wants drawable coordinates. Hence we do a translation.
However, when the passed region is NULL, we generate the region
ourselves based on the full drawable extents. This region is already
in drawable space so shouldn't be translated.
commit 8ea466a2f408524a9fcc08ed0a17f3c935857afa
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Dec 13 03:51:35 2011 -0500
Use new 8BIT_A format for 8 bit pixmaps.
commit 30b4b72cdbdf9f0e92a8d1c4e01779f60f15a741
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: Thu Oct 6 17:06:10 2011 +0200
support _ASYNC io calls and interrupt handling (busy wait)
rebased with Xspice changes.
Signed-off-by: Alon Levy <alevy@redhat.com>
commit c77ba9f217093f946a4c6bf6edf9f34b24844d8d
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Oct 28 12:56:30 2011 -0400
Translate the access region according to the drawable offset.
The driver code expects to be given coordinates relative to the
offscreen pixmap.
commit 0d3a9a626402ef0cc52430fe4cb35d7b5da68536
Author: Alon Levy <alevy@redhat.com>
Date: Tue Aug 2 21:31:11 2011 +0300
rename xspice Xspice
commit 38cedb7ad42f11fe451507d82922d4e94cdcf15d
Author: Alon Levy <alevy@redhat.com>
Date: Mon Aug 1 19:17:48 2011 +0300
xspice: make --cgdb non magical, use XSPICE_ENABLE_GDB
commit b89a0b11b1133bf2991580203867830747ad4de1
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Sun Aug 21 10:11:48 2011 -0400
Only save the VGA fonts for the primary device.
Otherwise, if we try to save the VGA fonts when initializing a
non-primary device, the saving will be routed to the primary one
putting it into VGA mode, which then locks up.
commit 4a040532492b212e05f5375994adcfdd171e0410
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jul 26 13:44:30 2011 -0400
Ignore devices classes when matching PCI devices
A device_class of 0x00030000 means we will only match VGA compatible
controllers, but when multiple devices are added to the VM, the
additional ones will have subclass 0x8000 ("Display controller").
We need to be able to drive those too.
commit 3b851a37a7030688fc8ee361167b3567e6623edf
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 20:31:11 2011 +0300
spiceqxl.xorg.conf.example: typo and order fixes
commit c65af64529a7abd99bd175e1e49fb98f289fb55a
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 20:08:35 2011 +0300
README.xspice: use consistent and vnc default port
commit f637c79f121348b02b0fdae7613675acda380815
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 20:07:04 2011 +0300
xspice: add missing --tls-port default
commit dd90fa9277283b4806aba307ca952bea0402b534
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 12:55:42 2011 +0300
0.0.16
Brown paper bag release: fix scripts/xspice to run.
Did a few more fixes in the same time:
less verbose error messages by default
add missing command line in xspice for --x509-cert-file
check for existance of certificates before running Xorg
commit 7c4804541084ba8f1d11c4c86f0276235520c7be
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 13:36:10 2011 +0300
scripts/xspice: prevent running with missing certificates
since spice-server aborts if it is missing any of the ca-cert, server cert
or server key, when running with --tls-port, check for them ourselves first.
also add missing --x509-cert-file switch, and add --disable-ticketing
to example in --help.
commit 432c5870104f583166234b9655628f359983bbfa
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 13:11:54 2011 +0300
spiceqxl_io_port: make dprint silent
and read XSPICE_IO_PORT_DEBUG_LEVEL environment variable.
commit 345c0b9818d5624858cfeb6b9ddba92d4eb64a0d
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 13:11:19 2011 +0300
scripts/xspice: fix --cgdb
commit a596303cb1f6bfcbb3ea9575faa8e984c52eb5a8
Author: Alon Levy <alevy@redhat.com>
Date: Sat Jul 23 12:55:10 2011 +0300
scripts/xspice: fix to run
commit ec418d246d083cb5c2317d2f5f6a775de252a5b9
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 03:53:20 2011 +0300
0.0.15: now with xspice!
xspice is a new X server that is also a Spice server. See
README.xspice for more information.
+ added configure options to accomodate an extra driver (spiceqxl_drv.so)
built alongside existing qxl_drv.so
+ XSPICE define where the code could not be split easily (qxl_driver.c
and qxl.h)
- no functional changes to driver.
+ some small cleanups (still too many warnings)
commit a84cc00d777ee2e078eae94f3f65f8174dba9bdd
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 04:33:40 2011 +0300
add missing copyright headers
commit 51003b11a0ad3ecccdb07319398ca7fb43af5271
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 02:25:46 2011 +0300
xspice: fix make distcheck
commit fa1700964a3da4cba85f61f4f563d39d09cd4cd4
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 01:20:58 2011 +0300
xspice: add most options existing in qemu
Add (copy from ui/spice-core.c) most of the options from qemu for
spice server. Notable exception is per channel port selection, so
the only sure way to verify all channels use the secure port (or
the normal one) is to not set the port (or not set the secure port).
About options: All options are settable either from environment
variables called XSPICE_SOMETHING or by a SpiceSomething parameter
in the Device section of the xorg configuration file. The xspice wrapper
added later makes use of those environment variables and gives a
more standard command line parameter interface.
commit e289df207b63064d10455fec6e406171711605d5
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 01:26:57 2011 +0300
spiceqxl_io_port: s/init_qxl_ram/xspice_init_qxl_ram/
commit e36912352b34f711dedc007d9b07eff8427bf5d0
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 01:25:21 2011 +0300
xspice/qxl_driver: fix implicitly defined function warning
commit bd39af72b31c9855362161d9e08c0b2e788dc143
Author: Alon Levy <alevy@redhat.com>
Date: Sun Jun 26 18:39:41 2011 +0200
xspice: qxl_unmap_memory: stop worker and track worker status
stop the worker thread and track the status, ignoring io requests (i.e.
prevent red_dispatcher writes to red_worker) if red_worker is stopped.
This fixes spice red_worker asserts from actions attepted after X
has destroyed a screen. X runs in a loop destroying and recreating screens
multiple times during the process lifetime, whenever the last X client
has exited.
Note that the spice server is kept up during a X screen restart. This is
on purpose, to avoid a spice-client closing when doing a window manager
restart. Cleanup of the spice-server on atexit - still to do.
commit c4aff2b753e80e49f88e95ea02d1ff1de21a2391
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 18:44:29 2011 +0300
xspice/qxl_ring: yield when ring is full
commit ee0e638e119d54fb3f9eda6de18f8fb3884d8509
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 18:22:28 2011 +0300
xspice: README, TODO, config, xspice launcher script
xspice is placed under scripts, adding a new Makefile.am, only
installed if --enable-xspice.
spiceqxl.xorg.conf.example is placed under examples to be installed
to share/doc if --enable-xspice.
commit 4d04f2bb72bf8d7aff6f33d2dd77d8c5c0e77f83
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 18:20:09 2011 +0300
xspice: add inputs (mouse and keyboard)
uses xf86AddInputDriver, xf86PostButtonEvent, xf86PostMotionEvent and xf86PostKeyboardEvent
reused xspice_get_spice_server to access the single spice server instance.
commit c54fef726efbf6c2f00e27b85a46a47741af1786
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 18:24:38 2011 +0300
xspice: implement ioport_write
commit c48574980b1c0924e04a93631ea8fda09f6487da
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 18:18:57 2011 +0300
xspice: add init_qxl_ram
commit 0848656de81df95a456c740d59b05ab51a71b425
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:58:17 2011 +0300
xspice: add display interface
commit 6c92a6e04e7bc9fb86bacc426ee63e810f462f61
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:48:15 2011 +0300
xspice: init spice server, add main loop
Initialize a SpiceServer instance, and implement SpiceCoreInterface,
that is fd read, write notification and watchs (timers).
The SpiceServer instance creation is wrapped in xspice_get_spice_server to allow
access from the pointer and keyboard drivers introduced later.
The fd implementation is off because Xserver doesn't allow us to be
notified on write unblock, only read. Workaround is to poll.
commit 2e869f6489113a07300c937e6103a5e019b68f93
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:45:31 2011 +0300
xspice: add SpicePort config option
commit 3b99e0e25337aa8aecdc7b414ca8021cb12628e1
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:25:42 2011 +0300
xspice: implement map_helper, unmap_helper, add init_qxl_rom
Memory is taken from malloc instead of from the pci bar.
Adds shadow_rom to qxl_screen_t.
Introduces init_qxl_rom, which is directly taken from the qxl device
in qemu. Plenty of TODO's added in this commit about various constants
and about factoring out the code to not do this copy paste from qemu.
commit 267ce8421450bdbe99df8ac0c0b55482a19203ef
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:14:27 2011 +0300
xspice: use spiceqxlModuleData as entry point
commit 76fd7158eb521eb12a18835d7c4f1d3b5f156796
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:10:57 2011 +0300
xspice: don't load ramdac and vgahw sub modules
commit 00cc49ce4d8ce48b1c29e9a34c10db410483d4b2
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:10:45 2011 +0300
xspice: allocate a single slot
commit f3ca425f08275de670c963047a3d86e1fe481b2b
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 17:01:38 2011 +0300
xspice: stop using pci and vga
This ifdefs out all the parts in qxl_driver.c that are pci device specific
and are not required by xspice. No functional change. The resulting spiceqxl_drv.so
doesn't run.
commit 9e30b11be0134713922555a710b6be0e664b3af2
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 16:30:21 2011 +0300
xspice: add spiceqxl_io_port, empty implementation
commit d7c3e279081c932f30231a060feb5df3460055b2
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 16:11:09 2011 +0300
xspice: use spiceqxl as name of xspice driver
Fixes a few places that have hardcoded "qxl" to use the already defined
QXL_DRIVER_NAME.
commit f9d4fc347ba7927d4a723c3226f215bdcaab126e
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 16:04:52 2011 +0300
xspice: add configure option and make target
adds --enable-xspice[=no|yes|only], which builds an spiceqxl_drv.so target, and
defines SUPPORT_XSPICE. Fails build if spice-server not found. If you
set to only it will not build the qxl driver. This is useful for easier
packaging by not creating unpackaged artifacts.
commit e76334e08ca939f1963ce7ece0e60a3d12247467
Author: Alon Levy <alevy@redhat.com>
Date: Tue Jul 19 09:33:43 2011 +0300
configure.ac: show configure options
commit a8e911bf3862a29c2ef9648699448c40f206401a
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:41:24 2011 +0300
qxl_driver: introduce helpers for memory map and unmap
qxl_map_memory_helper and qxl_unmap_memory_helper introduced, here as
a simple split, later different implementation if XSPICE defined will
be added. Nicer then putting an ifdef inside the map/unmap functions.
commit edf1a6596388b1e5b871cb1be4a1f7c6ba75e4c1
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:29:46 2011 +0300
qxl_driver: add setup_slot helper
used in qxl_reset. Later ifdefed with XSPICE, which only uses a single
slot covering all memory (really it should just avoid calling the translation
mechanism, but for now this is simple enough).
commit fc87a47c7fb61c2a5c3c8563b6fd1a500541649a
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:34:51 2011 +0300
add config options (empty for now)
commit 141154b6b5cf3abf7855477b72edc1618a0188e1
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:22:09 2011 +0300
partially replace outb with ioport_write
replace everywhere it is needed for xspice - places left out are ifdefed
out later based on the same define mentioned in qxl.h, XSPICE.
commit e59bb1a7ea16751c185a9ab33d93f7242118cb4c
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:13:30 2011 +0300
qxl_ring: keep qxl pointer
Add a qxl_screen_t* member to qxl_ring to make generelizing outb to
ioport_write easier in the next patch. This means we do an extra deref
and addition for every outb, but it means the code becomes simpler for
doing outb in qxl_drv.so and a function call for spiceqxl_drv.so
commit 3c6b36fab37e3d5ab66d0080bd086eaff9778ec6
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 03:43:01 2011 +0300
qxl: bump spice-protocol to 0.8.1 for RINGs size defines
commit 698d12e3f9c4b2c25f5730308203eae3f031d6e0
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 24 14:27:22 2011 +0300
log git commit if any during load
commit 5af8fd656deba5e2ac3d9fab161ff7cc80a68ec5
Author: Alon Levy <alevy@redhat.com>
Date: Tue May 24 11:17:02 2011 +0300
configure.ac: remove unused DRIVER_NAME
commit 2a206fb4c4fdc7bb09e0b1e6cd6c4111c9268095
Author: Alon Levy <alevy@redhat.com>
Date: Fri Jul 22 01:27:26 2011 +0300
qxl_surface: fix unused print_region warning
introduced a define for enableing it, DEBUG_REGIONS.
commit ce5507756e87a73bc6275ac275073932cd122583
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jul 15 11:00:51 2011 -0400
Revert "use spice-protocol defines for ring sizes"
This reverts commit 9ee2aa1ccefe1f3fecaf481f38581c9b0f201ef4.
Conflicts:
src/qxl_driver.c
commit 9b915fab9d29f66b825d7a46e158f026f10a41dc
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jul 14 13:59:55 2011 -0400
0.0.14
commit 4d4b0d35ce4c321b84f5686be6f16a58ae3f1980
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 16:46:14 2011 +0300
cleanup (add eol between system and non system includes)
commit 8bce20872cf3ef5bed5b6b6ce26f508c8466cd1e
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:58:53 2011 +0300
qxl_driver: whitespace fixes
removing whitespace in lines consisting only of it.
most of those areas are touched later, but not all.
commit 9f4e67c41f708164ddd979d99471217d2f721807
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:44:21 2011 +0300
qxl_driver: fix three incompatible pointer passed warnings
commit 66a30b8e44e0ec173fbadfd233b4b204e33fb9f5
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:31:25 2011 +0300
qxl_driver: fix initialization from wrong pointer warning
commit 9ee2aa1ccefe1f3fecaf481f38581c9b0f201ef4
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:24:35 2011 +0300
use spice-protocol defines for ring sizes
commit a3d3ab64d24b966179c0af5d23ceaf4bf9dcf9f1
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 14:03:38 2011 +0300
qxl.h: move spice include right after system includes
commit 6f57df2d498a3cc8a4c44ca026624a51c09ccca1
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 13:54:28 2011 +0300
qxl_image.c: fix defined but unused warning
commit f0428e6f6308c5eba060678f8e98bc759fd5cb39
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 13:53:01 2011 +0300
qxl_mem.c: fix pointer arithmatic warning (-Wpointer-arith)
commit 37b1d20a57d7a6b5a2efc622b628230a16be8e3e
Author: Alon Levy <alevy@redhat.com>
Date: Wed Apr 27 13:12:53 2011 +0300
qxl.h: double include protection
commit b8b8754421f98cc6edc7993e5b65b9228102bcd1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Mar 20 14:15:07 2011 -0400
Fix VT switching
- Surfaces need to be evacuated before switching VT
- The device must be reset
- Framebuffer access must be turned off
- Pixmaps created while switched away must be created in host memory.
commit ae165af1ad3fed9d6443f5733afecfb3b577a1aa
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Mar 19 13:38:06 2011 -0400
Generate tighter damage for PolyFillRect
https://bugzilla.redhat.com/show_bug.cgi?id=552000
commit ab8fd100430f7a142799960ce371b36f4c673cda
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Sat Mar 19 15:19:13 2011 -0400
Tiled upload of images after software fallback.
Instead of uploading the full software image in one go, upload it in
512x512 tiles to avoid having to find huge huge blocks of memory and
potentially running out.
commit 81e3d5c118bbe75688be61d7739a48452f1a9415
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Mar 19 11:56:00 2011 -0400
Don't re-upload read-only surfaces after a software fallback.
Surfaces that were used in a read-only way don't need to be uploaded
again since they didn't change. This is a particularly important
optimization for Composite since sources and masks there don't have
tight damage tracking regions.
commit 3657800a64af34d04a18bbf342a648ab4e28c294
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 20:08:24 2011 +0200
s/qxl_ram_header/QXLRam/
commit b25d9a5c425aad88da704df6a7551d12b4f140f1
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 15:55:25 2011 +0200
use structs from spice-protocol qxl_dev.h
A bunch of renames and just plain removal (where the
struct was never used):
* s/qxl_cursor_cmd/QXLCursorCmd/
* s/qxl_mode/QXLMode/
* s/qxl_command/QXLCommand/
* remove qxl_command_ext
* s/qxl_rect/QXLRect/
* s/qxl_release_info/QXLReleaseInfo/
* remove QXLReleaseInfo_ext (prev qxl_release_info_ext)
* s/qxl_clip/QXLClip/
* s/qxl_point/QXLPoint/
* s/qxl_pattern/QXLPattern/
* s/qxl_point16/QXLPoint16/
* s/qxl_brush/QXLBrush/
* s/qxl_mask/QXLQMask/
* s/QXL_BRUSH/SPICE_BRUSH/
* s/QXL_IMAGE/SPICE_IMAGE/
* s/qxl_image_descriptor/QXLImageDescriptor/
* s/qxl_data_chunk/QXLDataChunk/
* s/qxl_bitmap_format/SpiceBitmapFmt/
* s/qxl_bitmap/QXLBitmap/
* s/qxl_image/QXLImage/
* s/qxl_fill/QXLFill/
* s/qxl_opaque/QXLOpaque/
* s/qxl_copy/QXLCopy/
* s/qxl_transparent/QXLTransparent/
* s/qxl_alpha_blend/QXLAlphaBlend/
* s/qxl_copy_bits/QXLCopyBits/
* s/qxl_blend/QXLBlend/
* s/qxl_rop3/QXLRop3/
* s/qxl_line_attr/QXLLineAttr/
* s/qxl_stroke/QXLStroke/
* s/qxl_text/QXLText/
* use QXLBlackness,QXLInvers (typo needs fixing later), QXLWhiteness
* s/QXL_CLIP_TYPE/SPICE_CLIP_TYPE/
* s/qxl_compat_drawable/QXLCompatDrawable/
* s/qxl_drawable/QXLDrawable/
* s/qxl_surface_cmd/QXLSurfaceCmd/
* remove qxl_compat_update_cmd
* remove qxl_update_cmd
* remove QXL_CURSOR_DEVICE_DATA_SIZE
* s/CURSOR_TYPE/SPICE_CURSOR_TYPE/
* s/qxl_cursor/QXLCursor/
* s/qxl_rom/QXLRom/
* remove QXL_SURF_TYPE_PRIMARY
* s/qxl_surface_create/QXLSurfaceCreate/
commit 9fd9bf3676f343ef3e124874c45add88ce2a084f
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 15:47:54 2011 +0200
use spice-protocol qxl_dev.h enums
commit e18ea01e672e08e46f63292a5cd5a55be8b8f434
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 12:47:54 2011 +0200
build: add spice-protocol dep
commit 688d7679cb7dbcd57ec07cbaee9b115efbd639c1
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 16:04:14 2011 +0200
qxl_driver: remove unused variable (found by gcc 4.6.0)
commit 260ee7001a4c0f3bf5e93e355b23ee8417c7c63a
Author: Alon Levy <alevy@redhat.com>
Date: Thu Feb 10 16:03:52 2011 +0200
gcc-4.6.0 fix: cast unmatching function pointers
commit 4bfbdbb821ebd8112ea58b026f50c3d6d813cc67
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 26 08:42:32 2011 -0500
Bump version number
commit 2258af0d7e970e5bf3a0d3722cfbc42b4e8fac6d
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 26 07:43:08 2011 -0500
Remove calls to SourceValidate() from uxa-damage.c
These were kludges and are not necessary with new servers. Note that
they were never necessary for the QXL driver because we generally
don't use software cursors.
commit 46a91d2db56dc92ea2f661fa4ea20842c915773e
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Mon Jan 24 21:50:53 2011 -0500
Make it compile with and without dixLookupPrivate() changes.
commit 7d82b5470fd61765934665294a4437f46c7795bf
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Tue Nov 16 11:40:29 2010 -0500
Only add images to the cache if they are 128x128 or bigger
Keep track of how many live images there are, for debugging purposes.
commit acb4654ccf0aea3b66d0ac9397a13e9a2c1e7178
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Tue Nov 16 11:33:01 2010 -0500
Add debugging code
commit d7a3be0f400a68dd128f8040cb775bf369f9f7d3
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Nov 16 08:41:50 2010 -0500
More explicit life cycle management
commit 72ef08efd801538e60fd3dc2d46b0278a8df4b50
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Nov 13 16:30:36 2010 -0500
Add a surface cache
commit 32d119db640e9fd93eb0fd4f1efad31779bb63a9
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Thu Nov 11 08:38:37 2010 -0500
Don't unmap memory until after uxa_close_screen; allow surface creation without vtSema
commit 24a3f9f978c906b0be6dc04c3527b9dce5b6161a
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Sun Nov 7 04:08:15 2010 -0500
uxa: In change_window_attributes() only read back if the backing pixmap changed
This speeds up log in time considerably.
commit ed41c3a610af0c5182e52d72d311d06581594a39
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Oct 25 17:36:51 2010 -0400
Comment out debugging spew
commit a3adaf144c05ff6fc9647cfb95147218ad68b401
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Oct 25 17:21:17 2010 -0400
Migrate pixmaps out of video memory before mode setting
After mode setting migrate them back in.
commit ffcfa53e0d8456d283bf2861fc72f94e08b9b37b
Author: Søren Sandmann <ssp@redhat.com>
Date: Sun Oct 24 20:28:11 2010 -0400
Add qxl_surface_evacuates/replace_all() methods.
These functions will be used to migrate surfaces out of video memory
when we have to reset the device.
commit 11d8429b82215a676219ed6c5515f02b61052c49
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Oct 22 12:38:00 2010 -0400
Track live surfaces in a doubly linked list.
This allows us to find the surfaces that have to be moved out of video
memory at reset time.
commit 52b4325f00e79909342658938f479c7e0930a37e
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Oct 21 22:14:28 2010 -0400
Track the pixmap in the surface struct.
This is in preparation for making surfaces survives resets and mode
sets. To do that, we'll need to evacuate them out of video memory, and
then copy them back in. If some surface can't be reallocated, we'll
need to make sure it is removed from its corresponding surface.
commit efd9f6a3e379ed02c3eec059e7f26f54a82649e1
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Oct 19 15:43:07 2010 -0400
Move the surface lists into qxl_screen_t
That way things don't break horribly if you have multiple graphics cards
commit 31d4f0ce6208c78db4782c0d39dbe29fb8e25168
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Oct 19 14:45:39 2010 -0400
Fix a bunch of warnings
commit 95ddf806c92a84f9517634382ffeb0e198186231
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Oct 15 16:35:48 2010 +0200
free qxl->uxe with regular free not xfree
commit de9ce7c7b8ca7c6eff9ff93cd668fbd3b13f2c76
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Oct 15 16:30:58 2010 +0200
Fix the driver crashing qemu on 32 bits
When casting a 32bit pointer to a uint64 the following happens:
ptr -> int32 -> int64 -> uint64, so if the address is above
0x80000000 which is quite normal for mapped io, the int32 -> int64
cast causes sign extension, not good!
Also fix the printing of the memslots the memslot phys addresses
are always 64 bit, so tell printf to always read 64 bits, otherwise
we end up printing the higher 32 bits of the address as size on 32
bits.
commit 4fd3791cd4a36df6125a13fc9332ed3c9249cd2d
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Oct 15 20:24:05 2010 +0200
Don't access the qxl device when our vt is not focussed
Trying to do so causes the X-server to segfault as it has
dropped iopl permission, which is, erm, undesirable :)
commit 3863e55263c6eff0fa7fbc544780c1cef5df9f0c
Author: Hans de Goede <hdegoede@redhat.com>
Date: Thu Oct 7 18:35:23 2010 +0200
Fix restoration of text mode font when leaving the vt (rhbz#633647)
commit fde682311fed56eb4f71dd2c4625218d7f77ce1a
Author: Hans de Goede <hdegoede@redhat.com>
Date: Thu Oct 7 12:03:24 2010 +0200
Change default virtual size to match the highest available resolution
With the old default virtual size of 1024x768, using higher resolutions
is not possible without an xorg.conf. Since the default now a days is
to not have an xorg.conf, this is sort of unfortunate.
This patch makes these higher resolutions available, while keeping the
default resolution used when none is specified through xorg.conf at
1024x786, so that the spice client window won't be way too large for
smaller screens by default.
Note that when running inside a vm with a qxl device with a 8MB
framebuffer the code, for automatically setting the virtualsize to the
largest width and height seen in the resolution list, would lead to a too
large virtual size. The 8MB list has both 1920x1080 and 1600x1200
resolution which lead to a virtualsize of 1920x1200 which does not fit,
there is a special check for this situation, which maximizes the available
width in this case. This means that for using 1600x1200 on an 8MB device
an xorg.conf is still necessary.
This change does come at the prize of using more memory, but that
seems like a reasonable price to pay to give us parity wrt supported
resolutions with the windows driver. Also this is a must have to allow
the to be written Linux agent to change the guest resolution to match
the client machines one when running in auto fullscreen mode.
In the long run we should add support for resizing the fb on the fly to
match the resolution.
commit 9b3e355f37841a6c25ebf2452614d3618367dc9c
Author: Hans de Goede <hdegoede@redhat.com>
Date: Thu Oct 7 12:01:55 2010 +0200
Make non default qxl modes available
Currently unless an xorg.conf with modelines is used a lot of the
qxl supported modes like 1920x1080 are not available, because the xorg
default modelines set does not have modelines for them.
This patch adds code to dynamically generate modelines for all modes
in the qxl mode list, bringing the xorg driver up to par with the windows
driver wrt supported resolutions.
Note that an xorg.conf specifying a large enough virtual screen size is
still needed for resolutions > 1024x768, but one no longer needs to add
modelines in it. This is fixed in my next patch.
This patch also adjusts a few (fake) clock limits to make all the
modes reported by the qxl device when compiled with a 16MB framebuffer
work.
commit 50e4a57bbe7535d289116c93fe79d20a435fb1ef
Author: Hans de Goede <hdegoede@redhat.com>
Date: Thu Oct 7 18:35:58 2010 +0200
Make virtual resolution match actual resolution on startup
When setting a Virtual size in xorg.conf, currently there can be
a difference between the actual output resolution (say 1600x1200) and
the virtual resolution (for example 2048x1600). This causes parts
of the desktop too be unreachable because the cursor is bound to
the spicec window and thus one cannot pan over the virtual desktop.
Moreover other parts of the driver don't seem to like this and I've
seen several hangs / crashes which I think are related.
commit 0737c92f266a72a7d0c892bead5a77795bc06e12
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Oct 15 11:49:28 2010 -0400
Add put_image() acceleration
commit 59b8ac875d5f1170864b0dc0215b6c6f4b82ef14
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Oct 15 10:25:16 2010 -0400
Some memory management changes
commit 05f6f7d362c3b4c3e01f121d0f47964a12e18db4
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Oct 15 07:39:53 2010 -0400
Split uxa_glyphs_init() into uxa_init_resources().
uxa_glyphs_init() eventually allocates a pixmap which has to be done
after damage setup since otherwise _dixInitPrivates(PIXMAP_PRIVATE)
will assert().
commit 3240754854ba9e45e9299cbaeb1fdb0abf9d83e3
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Oct 14 14:00:01 2010 -0400
Add dependency tracking for surfaces.
The device needs dependent surfaces to be referenced in
surfaces_dest[] and surfaces_rects[] of the drawable command.
commit d12291d684ff1d46285ae5928638cd33c96b8477
Author: Søren Sandmann <ssp@redhat.com>
Date: Sat Oct 2 01:43:21 2010 -0400
Fix surface_init()
This function needs to set free_surfaces to NULL because it can be
called multiple times. If not, the same surface will end up in the
free list more than once, which leads to double frees and other bugs.
commit 0b9dc625f399dfa5af6484a772673487afdaaa09
Author: Søren Sandmann <ssp@redhat.com>
Date: Sat Oct 2 00:30:05 2010 -0400
Fix segmentation fault when no surfaces are available
commit d0457b0e8c8595fbbe4c56dafb5c7daf722b4b23
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Sep 29 06:49:51 2010 -0400
Faster malloc() implemenetation
commit 9e86930d0d7a282d9db3fd8088f07445951175fd
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Sep 29 00:01:37 2010 -0400
Delete most debug spew
commit 2fb7e9bbd8264a79b35eca716acef565ad66fda1
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Sep 28 09:26:34 2010 -0400
Initial (buggy) support for copy area from offscreens
commit fded799c0e7bfdbbdf53b4609641a98130b2dff2
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Sep 27 06:55:50 2010 -0400
Enable solid fills for surfaces
commit 01dc285614fcd353f689da808fda7997b169e1c8
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Sep 27 06:12:30 2010 -0400
Fix surface bugs
commit 553a4963fe653ca948db556d684eafb1980a68a7
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Mon Sep 27 03:19:38 2010 -0400
Set the correct size of pixmaps
commit e1e5366f25012caa51e309f3c96ad0bd7543e0d9
Author: Søren Sandmann <ssp@localhost.localdomain>
Date: Wed Sep 15 11:04:24 2010 -0400
Update to the new dixPrivate ABI.
commit c91939f318c472a2bfbc9fdbf526647dada87159
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Jul 9 10:27:24 2010 -0400
Initial preparations for surfaces.
- Surface command enums
- Memory contexts for allocating video memory
- Internal API for creating, drawing to, and destroying surfaces
commit 38cf1ae55006125cf502199b9fb3a4f75f4b009f
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Jun 22 00:26:46 2010 -0400
Tighten damage region for fill rect
commit 8f05e9149da590f4374557e8a41e8b9e35fa007f
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Jun 22 00:12:27 2010 -0400
Make the fetched regions much tighter for core text
commit 1f9bf097d5e983afbc38b60dc44e9386c8e226e7
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Jun 21 23:38:21 2010 -0400
At finish_access() do the whole region
commit 4d3c4b28fbb0e2b684c9ffe859d1a4abaf7c22b5
Author: Søren Sandmann <ssp@redhat.com>
Date: Mon Jun 21 23:17:37 2010 -0400
Disable acceleration; fix bug with forgotten multiplication with bpp
commit 23e9d51df8b8ece10356da850944b1bedc5167de
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Jun 11 12:48:37 2010 -0400
Add some debugging code.
commit 6ec925515fdaf403d85534283eb981be6aaf05fc
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jun 11 11:30:42 2010 -0400
Add a region argument to prepare access.
Download individual boxes.
commit a10cb2087168dd068ffea666ea4aab2d076f4c12
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jun 10 13:45:29 2010 -0400
Add stripped-down version of damage.c as uxa-damage.c. Don't use it yet
commit ae35aad56becedc7ebc2f858283b70b5fc382569
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Jun 9 12:18:39 2010 -0400
Add solid fill
commit cbc9f2bc2f05bb4f4589873b86776eb4a4bce65c
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Jun 9 12:05:40 2010 -0400
Add support for copying
commit 3169cd116ee7210589b6bb8718f401d2f68ab773
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Jun 9 11:28:26 2010 -0400
Use the correct strides. It's now slow, but working
commit d3cf206b9bfb3c59e2dfc113a7843ea421189239
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jun 10 10:56:41 2010 -0400
Remove unused ops from qxl.h
commit 356b3ab866f6e2f16cdee3c0a60d9236879fc4c2
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Jun 8 08:34:37 2010 -0400
Disable all the damage handling
commit 1bc58f80e13d9246cd38ac36d5ef299c4b5b9d3b
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue Jun 8 08:26:18 2010 -0400
Add prepare/finish access
commit a222ec8a729d9e333b7e0873efa592ba3fcb7177
Author: Søren Sandmann <ssp@redhat.com>
Date: Thu Jun 3 10:49:48 2010 -0400
Initial prepare/finish access
commit f7244b049674d5907a945ec355c17f33576586d1
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Jun 2 11:06:07 2010 -0400
Do initial uxa setup
commit 65d5ac5a0eecbf0ee3abdb6998ce5e615e05bb4e
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Jun 2 10:13:56 2010 -0400
Add a copy of UXA, but don't use it yet
commit e691e979b476f1ff9c6c93e12f6cea02dcb8c841
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue May 25 06:58:57 2010 -0400
Make sure memory space is not bigger than the memory
commit 25329392a76eafa9cd583d2fa18b83e678dac3be
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue May 25 05:21:57 2010 -0400
More updates; it now works with surface0
commit 7c9c77fc0cb5a87b513c8438c17e6a81f3efaeab
Author: Søren Sandmann <ssp@redhat.com>
Date: Tue May 25 04:27:17 2010 -0400
Update header to latest layout
commit 760f19767b8e140f73a4e9e68774c45effcd6eff
Author: Søren Sandmann <ssp@redhat.com>
Date: Fri Apr 23 13:23:53 2010 -0400
Initial support for surface0
commit 0ce5e9a3f459685ebdd900bfe2f85e073565f4bc
Author: Søren Sandmann <ssp@redhat.com>
Date: Wed Apr 21 10:51:50 2010 -0400
Update qxl.h to deal with surface0
commit 586669561b01e289f989911cd363810420539435
Author: Soren Sandmann <ssp@localhost.localdomain>
Date: Mon Apr 19 09:31:08 2010 -0400
Set correct amount of video memory
commit e04e850ed7d07fc12f941fd13a5fc6f32f7153e1
Author: Soren Sandmann <ssp@localhost.localdomain>
Date: Thu Apr 15 04:47:14 2010 -0400
Add memslot support
commit 480e5028a60fb2a3d349200518241eb8bb27013c
Author: Soren Sandmann <ssp@localhost.localdomain>
Date: Tue Apr 13 08:35:04 2010 -0400
Memslots support
commit 6973d3b2f76685ce6c0d2a73091d571263331174
Author: Soren Sandmann <ssp@localhost.localdomain>
Date: Tue Apr 13 04:54:59 2010 -0400
Add memslot arguments to virtual_ and physical_address
commit 797c9ad548c194407945c18b62dd0d10897ec332
Author: Soren Sandmann <ssp@localhost.localdomain>
Date: Tue Mar 23 11:55:32 2010 -0400
Add rom entries and port definitions for the memslots.
commit ae902114c1d9ffc40f21806cdc4ae78679b255dd
Author: Christopher Hames Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Tue Aug 10 11:55:39 2010 -0400
Fix build against video ABI 8
PaintWindowBackground and PaintWindowBorder haven't been
used in a while and have been removed from the Screen
struct in Xserver 1.9.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
commit 4640accec00aeb98f48f7d7d655301bbee409db8
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 16:49:04 2010 -0400
config: add comments for main statements
commit 7be72f7633a48951fc766920ca504da8fce77770
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 16:07:00 2010 -0400
config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 6514166ef339b699f8b83919d55091aa2678ca46
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 14:05:22 2010 -0400
config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 09d6bc9587e3cc96cf5c16f9fda8c30eeeb2cba5
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 20:24:42 2010 -0400
config: remove unrequired AC_HEADER_STDC
Autoconf says:
"This macro is obsolescent, as current systems have conforming
header files. New programs need not use this macro".
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit b6e42f71622fd86a8f30368e49aac4c35b4a0f14
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 19:41:31 2010 -0400
config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
AC_PROG_C_C99. This sets gcc with -std=gnu99.
If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit e6a4f32b962b08f1294b4c5e1a5c8220e9822b90
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sun Jun 13 09:55:45 2010 -0400
COPYING: update file with Copyright notices from source code.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 563f31ad081038ece8b5a5b525dd516fcd6ad0fd
Author: Dave Airlie <airlied@redhat.com>
Date: Sat Mar 13 19:52:56 2010 +1000
qxl: remove asserts that make no sense anymore
Not sure why nobody noticed these, once I dropped qxl into Fedora it asserted.
Looks like they were missed when p->Private was changed to an index.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d9a142d60603920069f478890884f20cbd7886b3
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Mon Feb 8 20:08:52 2010 -0500
config: move compiler flags from configure.ac to Makefile.am
CFLAGS is an automake defined variable that should not be set
by the module. It should not be AC_SUBST either, it already is.
Use AM_CFLAGS in Makefile.am. This will allow the user to override
the flags as they will be in the right order.
The -g option is already part of the default flags.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 269276497a4f452cc943afe0eb9072519621d36e
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Mon Feb 8 19:07:22 2010 -0500
config: remove unrequired '-I$(top_srcdir)/src'
The current dir is already included by default in the makefile
top_builddir = ..
DEFAULT_INCLUDES = -I. -I$(top_builddir)
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 64a42c229af2b6a530a022e0dfff78649d63bb70
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Mon Feb 8 18:42:52 2010 -0500
config: remove unused INCLUDES='-I$(top_srcdir)/src'
This statement is redundant and not used in the makefile
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit ae33c52060a59e68466c47020d158950347007f1
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Mon Feb 8 18:12:38 2010 -0500
config: remove unused variable XORG_INCS
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit aa91dc597c38ae411dfb226c67e3ccffd12513f7
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 18:11:09 2010 -0500
Version 0.0.12
commit d4012a71266af13de979e6f7eb0c21bc69d28311
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 13:12:35 2010 -0500
Go back to drawing with QXL_EFFECT_OPAQUE instead of BLEND
This was accidentally changed in 73ef1f79a64595a8.
commit da82bd2146efae355018a81da64585cb902c3f27
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 13:10:34 2010 -0500
Fixing 15/16 bit confusion accidentally broke 24 bits.
commit 4f1a188f6b655bd7e46d73b0a65ef161057e6ba4
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 17:36:26 2010 -0500
Bump version number to 0.0.11
commit f68d83c3d9e0aecb844b4903d3d0d6c32bdcf5cd
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 17:34:53 2010 -0500
Eliminate some warnings about casting between u64 and pointers.
commit fb0ad81f8c84108ae7b20aaea2642fa07228df65
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 12:22:29 2010 -0500
Bump version number
commit 821b185478d0962a51bd8d9320a911d720fd8ce5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 12:20:52 2010 -0500
Only use QXL "16 bit" modes when the screen depth is 15.
What QXL calls 16 bit is actually x1r5g5b5.
commit 2dd4e71fc90b5065fea088b5c4f0aa51c58b2611
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 10:36:48 2010 -0500
Remove some unused variables
commit 73ef1f79a64595a8547c4f4d4f9161673a438319
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Feb 6 09:32:00 2010 -0500
Do the undamage handling in qxl_copy_n_to_n()
Previously it would do it in both copy_window() and copy_area(). The
problem with that, aside from duplication of a bit code, was that
sometimes the copy operations would be empty, which meant that no
damage was generated for the copy so that the pending damage region
was actually corresponding to some earlier operation, and so
discarding it caused rendering corruption.
This change moves the damage handling into qxl_copy_n_to_n() and only
does something when there is actually some copying going on.
commit 33f36098c766d86cb6f292e2806510d00e2caab6
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jan 28 06:44:57 2010 -0500
Store modes pointer out of qxl_map_memory()
Since we have to map everything, then unmap it, then map it again, we
can't store pointers to modes in the mode Private because the mapping
may have changed. So, instead store an index, and make sure the modes
pointer is stored map time and removed at unmap time.
commit 443e5015d9c72022b3d5404c8381c7e6354ae799
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Wed Jan 27 20:29:46 2010 -0800
Fix build on OpenSolaris
- Don't hardcode -Wall in Makefile.am since configure.ac sets it already
- Use <stdint.h> instead of Windows headers when building on Solaris,
even which not using gcc
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
commit 57aaaa7e27334e167e4b3440773e6f5694b73568
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jan 27 14:49:08 2010 +1000
bump to 0.0.9
so you can't autogen on RHEL5 but you can build from tarballs
no problem.
commit fd0ac1f42cde8bcf28736ede176b0c9e36e52e88
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:08 2010 -0500
config: add INSTALL and ChangeLog #23814
All modules are required to have an INSTALL file and a ChangeLog file.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 7295e82a55991ba1711fb6ebc48d57a1e1ffdbda
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:06 2010 -0500
configure.ac: remove -I$(prefix)/include from INCLUDES #24676
Using $prefix for any purpose will yield incorrect results
as not all modules uses the same prefix and that modules can use
different directory which is configurable.
The main include dir comes from XORG_CFLAGS
Reported-By: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6dc97a050e52cf4d4dea22c934cd83dcf1f18013
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:05 2010 -0500
configure.ac: sdkdir usage duplicates the sdk include dir
The sdkdir variable provides a duplicate copy of the include/xorg
directory. The statement is removed as this was it's only used.
In the Makefile, there is now only one instance of the -I sdkdir
The sdkdir is provided in XORG_CFLAGS.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fbc0da08ac3619695df93bcd8c4f7409babc47f7
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:02 2010 -0500
configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242
This macro aggregate a number of existing macros that sets commmon
X.Org components configuration options. It shields the configuration
file from future changes.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit bea47d64fdbbf96902ed67bf69db0f8f3752960e
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:07 2010 -0500
make: Automake 'foreign' option is specified in configure.ac. #24206
Remove from Makefile.am
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3dd6bd7fc5b6b00ed95d357dfadf3a258de7b7b5
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:04 2010 -0500
git: .gitignore: use common defaults with custom section # 24239
Using common defaults will reduce errors and maintenance.
Only the very small or inexistent custom section need periodic maintenance
when the structure of the component changes. Do not edit defaults.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit a2991214c03ffee9294cfad476d9d1ba2459d02b
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Jan 23 11:14:03 2010 -0500
packaging: add COPYING and README
http://wiki.x.org/wiki/NewModuleGuidelines
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 528aeaa8620bbc2cc268204520d5b3bb8ca88ba7
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 15 09:17:10 2010 -0500
Bump to 0.0.8
commit 8fb67eda1c2b7366109973e36fa6f46bd44c63ae
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 15 09:15:33 2010 -0500
Use QXL_EFFECT_OPAQUE instead of QXL_EFFECT_BLEND
This is required to make video detection work.
commit e658fa5182e57f58485095bc54e53b785d5db75e
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 15 08:56:04 2010 -0500
Bump to 0.0.7
commit 1db64677301a52581d07f19e4bb44e4aa5a03004
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 15 06:48:35 2010 -0500
For fills, only undamage the parts that are actually filled.
Sometimes more operations than one are coalesced into one damage
event. this means filling should only undamage the parts actually
filled.
commit d35d1f6718c80f2497e930fc887fcea9172d6a91
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 11 04:58:25 2010 -0500
qxl: Keep track of a separate pending_copy damage region.
To improve performance and fix some bugs in conjunction with moving
windows around, keep damage in a separate pending_copy
region. Accelerated operations then delete this region, and whenever
new damage appears, it is unioned onto the "to_be_sent" region, which
is then submitted at BlockHandler time.
commit 24e525d36b9feb4adff4db76e8838c28d0027dbe
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 11 03:45:20 2010 -0500
Change camel case names to underscore names.
commit a3f1b11f035051cf3e1452f81d47da80e48e17c0
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Jan 11 03:36:45 2010 -0500
Keep track of bytes_per_pixel in the qxl struct.
Eliminate assumptions in various places that the mode is always 32
bits. This almost, but not quite, makes it work with 16 bit modes. The
reason it doesn't work is that the QXL_BITMAP_FMT_16BIT assumes a 555
visual, but fb assumes an 565 visual.
But now at least it doesn't crash anymore.
commit 335f16154dc4c61950c95e9bbcd70e28654c1edb
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jan 11 09:59:16 2010 +1000
bump version to 0.0.6 for release for Fedora inclusion
commit 60a38ab077046a5ba457a3a39ace2a780dbbd3d6
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jan 11 09:39:00 2010 +1000
qxl: just call the wrapped function instead of the fb layer directly.
this make it build against newer X servers a lot easier
commit 6c1454c6eb7172438d5802f116b1322a46108d16
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jan 11 09:38:38 2010 +1000
qxl: move Damage creation to CreateScreenResources times.
since damage isn't setup at Screen Init time
commit 985ef88e65e6269f5afbe71d5fa59e87219f74ad
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jan 11 09:38:14 2010 +1000
qxl: drop EXA usage for now since we don't use it yet.
commit d8c0485bc8172dc77e38bf91599629678ae43b89
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Jan 8 14:50:22 2010 +1000
qxl: make build against later servers
commit 08687fc520fd8136cbac63c669e13c2fb3e504e8
Author: Dave Airlie <airlied@dhcp-1-4.bne.redhat.com>
Date: Wed Dec 23 13:27:12 2009 +1000
qxl: make default be 1024x768
This change lets us validate a lot of modes and if the user
doesn't supply a virtual line they'll get 1024x768,
because we have no monitor, its hard to know what the best
thing to do in this case.
To get larger modes add a Virtual line to xorg.conf
commit 92c535f4ea0c3dbe50ccca2c730e0ab06c3aba55
Author: Dave Airlie <airlied@dhcp-1-4.bne.redhat.com>
Date: Wed Dec 23 13:26:15 2009 +1000
qxl: add sanity check to make sure we aren't back in VGA mode.
For some reason we still sometimes end up back in VGA mode,
I suspect a kernel VGA access somewhere while under KD_GRAPHICS,
on real HW it would ignore this, qxl seems to "unique" and not
in a good way.
commit f7ba4bae1372e1c6f29416c69ee68856630aad52
Author: Dave Airlie <airlied@dhcp-1-4.bne.redhat.com>
Date: Tue Dec 22 20:02:36 2009 +1000
qxl: fix access to qxl ring
This really needs to be volatile as the hw will change it underneath
us. Really we should be using proper MMIO accessors for this stuff
not casting structs to mmio memory.
commit c581bf5524a7574b29cb2e4313eafb9344fd6b14
Author: Dave Airlie <airlied@dhcp-1-4.bne.redhat.com>
Date: Tue Dec 22 20:01:14 2009 +1000
qxl: fix 2 trivial cosmetic issues
1. use correct values for unmap vid mem BAR sizes, removes warning in logs.
2. print values from ROM not uninitialised values from qxl struct.
commit b544f48047a4d1f12cca5ec15b6d9900e75a8cd4
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Nov 7 03:42:07 2009 -0500
Bump version
commit 5cfac92284baf988fd51c31d70cb0ee6d9dc9cd0
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Nov 7 03:41:42 2009 -0500
Avoid submitting commands when device is in VGA mode.
When someone runs "init 3", the device will be switched into VGA mode
with no notification to the driver. However, if commands are submitted
when the device is in VGA mode, they will be queued up, and then, the
next time a mode set set, an assertion in the device will take down
the entire virtual machine.
So this patch checks whether the device is in VGA mode before
submitting each command. This is racy because the switch to VGA could
happen just after we check, but there doesn't seem to be a better way.
(Apart from removing the assert() in the QXL device itself thereby
making it robust against command submission in VGA mode. But the
author of the device is opposed to that).
commit 71b30ea06a553e60580c7fe81e354f83b7c85327
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Nov 6 13:05:06 2009 -0500
Do not wait for idle before mode set
commit 35427856c51a5fd85526ff813fe60c4cd4994fcb
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jul 15 00:10:16 2009 -0400
Reset before setting mode
commit d9792b1b222d6597421047f319b323df9264e8a8
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jul 1 15:33:39 2009 -0400
Eliminate a couple of warnings
commit 4df2ccebb6614fe664b6b6cf7a5a0cac54572a7a
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jul 1 15:30:03 2009 -0400
Add lookup3.h to Makefile.am
commit 123c16f82884777a54a751994f7a54a8a6716094
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jun 30 21:31:52 2009 -0400
Bump version number and include stdint.h
commit fe61bc9f103e98161e9817ebe385f93e203b157e
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jul 1 15:19:31 2009 -0400
Comment out some debugging spam
commit f9eefc07ee0761fc64059597692e065b6bf16994
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jun 30 21:30:02 2009 -0400
Update vendor ID
commit b0ce9d296678b2897dcf0939abe962dbe4ca61e5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Apr 27 19:02:46 2009 -0400
Remove mmtest.c test program
commit 88f1bb8f9a5c2a4d80407c6b6f518871125f6784
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Apr 9 08:24:12 2009 -0400
Dump display tree on OOM
commit 62bc612d4b193bae569dcf431c0c5edf35d37360
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Apr 9 07:23:13 2009 -0400
Use a linked hash table implementations; use the Jenkins hash function
commit f2a92deb51fcf7f637f07accf5dbdd91bc253fee
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Apr 8 08:37:16 2009 -0400
Move hash table back into qxl_image.c
commit 79fc46437aa4e7bc764de4cde5b031ca6bc30ba1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Apr 8 07:06:19 2009 -0400
Beginning of new hash table implementation
commit c0e5e3e476d6db748176bab0950cc2fa80182fc9
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Mar 31 04:28:46 2009 -0400
Bump version
commit 69ab0c56d3d6bd06d1afec6d7744baa784a514f8
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Mar 31 04:28:02 2009 -0400
Initial naive image caching implementation.
It attempts to cache all image puts without exception; the id is
produced by hashing and copying every time.
commit a82edc29579887be456122ff65218d10b514000e
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Mar 29 23:58:47 2009 -0400
Compute hash codes for images
commit 3c6fe57d45da1ff7e21df030e321377678ffbcff
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Mar 29 22:43:27 2009 -0400
Formatting qxl.h, add qxl_image_destroy()
commit 4b48daf466e2bacdb4cb84080ea8df9009612693
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Mar 29 22:30:07 2009 -0400
TODO; beginning of image hashing; move virtual/phsyical functions to qxl.h
commit 7be9348dca4fa55289439b045079a9e819bf00e7
Merge: 23b2863 cb237a7
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Thu Mar 19 13:49:13 2009 -0400
Merge branch 'master' of git+ssh://sandmann@shell.devel.redhat.com/home/boston/sandmann/public_git/xf86-video-qxl
commit 23b2863efd566d6d90e39fad6801dc3abe8bdeef
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Thu Mar 19 13:48:49 2009 -0400
Cast-fest to get rid of void pointer arithmetic
commit 45b0a8bef5b791c07a965ba7e11c45196f949c86
Author: Søren Sandmann Pedersen <ssp@localhost.localdomain>
Date: Thu Mar 19 13:43:05 2009 -0400
Add pointer arithmetic warnings back in
commit cb237a7b873206f1e11c4bc71e0d57b2d4a7bfbc
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Mar 18 14:13:33 2009 -0400
TODO
commit b2e069f0d5ab1026d48787e8a22c8fb07a5095a6
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Mar 12 13:00:42 2009 -0400
TODO
commit 0e642938e8e627738e0ec6a3b1814ede2b2c6d7b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Mar 6 09:34:07 2009 -0500
Reenable hardware cursors
commit f4eb6409e5bbe44fa393dd952a5f8329da141a76
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Mar 6 09:03:52 2009 -0500
Copy bits in qxlCopyNtoN rather than relying on a separate
fbCopyArea() to do it This ensures that miHandleExposures() which get
called at the end of fbDoCopy(), will be called with the shadow
framebuffer in a sane state.
This fixes a number of issues with scrolling partially covered windows.
commit f453a3ab875f7c7dcfab09a69cdea92461e340b5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Mar 6 08:24:57 2009 -0500
Fix qxl_sleep(); make CopyArea deal better with Paintwindow damage
commit 9ddbfa28c34554385223112ae5020282d234297a
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Mar 4 14:19:01 2009 -0500
Add hardware cursor support
commit 779fd58b7394fb28d263ea8401bc6f0607007ef1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Mar 3 06:32:29 2009 -0500
Remove #if 0'd code
commit fcc0996aee800ef3b2bf0984785f478e1ecccc19
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Mar 3 06:28:10 2009 -0500
Add cursor structs; delete some unused variables
commit 5b1f956905f389356f6abee9206e45c344a2d1b9
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Feb 27 12:52:38 2009 -0500
Bump version number
commit fa766e67eb8415affc0f10aaa30e28f0e0198faf
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Feb 27 12:52:07 2009 -0500
Use window offsets rather than pixmap offsets, among other things
commit 1085a8a4c42605f75f820232648285faa7f82523
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Feb 27 06:28:21 2009 -0500
Debug spam
commit 818cdad0fc52553e3c38d5a23e5b9275b70778e7
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 10:55:29 2009 -0500
Add copy acceleration; use the right fill colors
commit 5fed65c51d848748327079122a4e1c875f471e66
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 08:20:05 2009 -0500
Get the offsets closer to right
commit a40a14c1f2c56f7d9d014a5e310e976471ba8c20
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 07:10:35 2009 -0500
Accelerate window background painting
commit eb57c4f1968d08bc10320cf37394ff1a520f992d
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 06:54:28 2009 -0500
Wrap PolyFillRects
commit 80d208741c84b41c51f035fc71dbb523c319413f
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 05:34:19 2009 -0500
Wrap CreateGC
commit 39607168413c9708ac1104fa5e2568139b12b7a4
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 26 04:28:00 2009 -0500
TODO
commit cfaa1868ef4b5c0cb81718200fb8fc5b64b617c5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 25 06:35:34 2009 -0500
Don't use shadow framebuffer; use our own damage tracker instead.
commit 0cdd4f50b175c4747b25a22335c4092c9de11018
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 25 05:22:25 2009 -0500
TODO
commit f7d76a2d16db28c980f74ad16079b018502dfa17
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 13:45:40 2009 -0500
Set version number to 0.0.1
commit 5fdb5ad5234db2ece8b14eadf677e171ba3f1c18
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 13:44:53 2009 -0500
Wait for the command ring to go idle before setting the mode
Set the correct stride in the ModifyPixmapHeader call, and onlhy call
qxl_mem_free_all() if the memory system is initialized.
commit 2be423058eec1bdd32dd55e124d9d7034494aad9
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 10:18:08 2009 -0500
Squash compiler warnings
As part of this, don't use -Wpointer-arith
commit e7cecde277f7eeed75db96ec5219d4da3ea1caed
Merge: 4d0f59c 92046f5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 10:10:14 2009 -0500
Merge branch 'master' of git+ssh://sandmann@shell.devel.redhat.com/home/boston/sandmann/public_git/xf86-video-qxl
Conflicts:
src/qxl_driver.c
commit 4d0f59c148db48dbbacedd78c73f24874535a6bf
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 10:09:30 2009 -0500
Free all memory on mode switch
commit 92046f5ebd946a08f5064f6aaa888e8d71215ee1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 24 09:58:03 2009 -0500
Call ModifyPixmapHeader() when mode switching
This seems to be the best way to make sure the screen pixmap has the right size.
commit 2212716b046053084ad1d01daf8b623aec871cc0
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 17 05:45:29 2009 -0500
Working garbage collection
commit 68f2a3083dedee88d30826ca27a53ec2135493f1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 17 05:45:00 2009 -0500
TODO
commit c10d91829975a07c87678dba1655eeacbab005ba
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Feb 5 16:20:03 2009 -0500
Initial garbage collection support
commit 505d8113b15c39e1be8799cf79ede2d66ac44537
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 20:05:38 2009 -0500
Implement qxl_ring_pop()
commit bbeef5031346c8adfffd739f91f3c04a5c088412
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 19:28:37 2009 -0500
Zero the palette
commit ecfd62b99811e149b20be5bc993774f4e992c281
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 19:18:40 2009 -0500
TODO
commit 1b55a16a9758afc3c3ed825cb6eeea63cc145e7b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 19:13:01 2009 -0500
TODO
commit 9740b860071ad8a198179464c2c24efb4b9b7b9f
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 18:58:05 2009 -0500
Working image submission
commit fa8e43057d4ac9bab5cd99c57151abdaebcbfb97
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Feb 4 16:14:52 2009 -0500
Add bitmap structs, plus beginning of image creation
commit b3921383a78e1d834f6822323699b860c4f42cf3
Merge: f82e6f9 73f4125
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 17:21:04 2009 -0500
Merge commit 'ajax/hwcursor'
commit f82e6f91bb26dd049a946577c123bf4303f3fe96
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 17:20:49 2009 -0500
Add image structs and beginning of copy command submission
commit 73f4125fb53a6928313c1b6e1a98222fcbfb7adf
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 16:12:13 2009 -0500
Begin hardware cursor support.
commit 42768eb171d0d7235d64c9ab23ba256af0248a52
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 16:09:47 2009 -0500
Draw random colors instead of ugly raster ops
commit 11bdbadc3b6873215883d9013b8e6a3e9dc7b7e9
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 15:20:50 2009 -0500
TODO
commit 12e47b5fae4c6f0610527c91598147b48fc82834
Merge: 8c7d6e5 3349acf
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 14:44:13 2009 -0500
Merge commit 'ssp/master'
commit 363352c761a421de24d19b761373b2cc1eb19b85
Merge: 3349acf 8c7d6e5
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 13:58:19 2009 -0500
Merge branch 'master' of git+ssh://sandmann@shell.devel.redhat.com/home/boston/ajackson/public_git/xf86-video-qxl
commit 3349acf2e7296e5fc721489ea4a88bb2feda5c26
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Feb 3 13:55:11 2009 -0500
Don't read memory before it's mapped
commit 8c7d6e56137046efbad5b353a25c2171da01898a
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 13:24:58 2009 -0500
Remove dead comment
commit 92fd0dfed2a4379db30d7a1d67891db254b8fd29
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 11:06:01 2009 -0500
Typo fix.
commit 02ebf439eafd2cdef72835bf34337cc2759870a5
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 11:04:49 2009 -0500
Read timestamp from the ROM.
commit c6fe700b950e828e8efef1e9639cd30081fd2d14
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 11:00:10 2009 -0500
TODO: VRAM BAR notes.
commit 94b814a675a07d28e6c81a878656a64c6c0b3770
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 10:28:21 2009 -0500
Add the standard X warning flags.
commit 7eb3820f1fa09e5d411de9e02ef6572cbc4809fe
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 10:18:04 2009 -0500
Silence a warning.
commit 74940d595a69f413aad26f5413a26500cd796b6f
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Feb 3 10:17:28 2009 -0500
Typo fix.
commit 4c6cb08fbf0759cbda8bcb7bf723c18aa261dba1
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Mon Feb 2 17:51:07 2009 -0500
Get rid of some warnings; setup two other rings
commit 3fb2c5b7fb15b4f1dc1611f98f2b5070abbfa3da
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Feb 1 16:57:58 2009 -0500
Remove more debug spam
commit 916735fea435670dbd95ea46c7b0aba87ba63416
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sun Feb 1 16:54:34 2009 -0500
TODO; various cleanups
commit cd2bb5852677ea4c45185f22fc6542c3562acd23
Merge: 7d82898 981485e
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 31 16:23:36 2009 -0500
Merge branch 'master' of git+ssh://sandmann@shell.devel.redhat.com/home/boston/sandmann/public_git/xf86-video-qxl
commit 7d82898b0a1984c8c4ee6e6ba88cd5383b5ffa26
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 31 16:21:31 2009 -0500
Use new qxl_ring data type for command submission
Also add forgotten qxl_ring.c file
commit 981485e95c9c07169e827729409955ff609ed037
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 31 16:21:31 2009 -0500
Use new qxl_ring data type for command submission
commit 245ba829035abaacd400f3141bf2b7480fc4839d
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 31 16:11:44 2009 -0500
Add qxl_ring.c to deal with general command submission
commit 9cc17de8187c793c180c900885f1e4fcb6bafcd6
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 31 15:40:36 2009 -0500
Get rid of qxl_mem.h header
commit 0f55802c13207c51c10f357d73d68e9ed976f5d4
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 30 17:58:13 2009 -0500
Pack to multiple of 1; remove forced crash
commit 14357f8823170846654b840ed2f98052ef4ea605
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 30 16:43:34 2009 -0500
release_info is a union, not a struct
commit 569f0dd215b6bfccaff8bb5d4046f246d1d11e67
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 28 17:48:35 2009 -0500
Add debug spam, hack around bug in the X server shadow code
commit 75c60beccabbdc10daffe47b3aeca4468c4c9508
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 28 15:07:55 2009 -0500
Keep track of physical address of io pages; submit random fill on shadow update
commit 99aca0a6089d8da7872f135579fd560dbbf6aa6d
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Wed Jan 28 14:21:56 2009 -0500
Add ring macros; add a TODO file; clean up warnings
commit 41af66fef212638bddcdc1de396474b1ad418b63
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jan 27 15:18:50 2009 -0500
More command submission preparation
commit 1bf5406bea90937be90ade7f454b170e87ef4bf8
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Jan 27 14:42:55 2009 -0500
Various preparations for command submission
- Add some more enums
- Remove debug spam
- Hook up the memory manager
commit e42e99ab31b15676f829a16610f5fb99d8fa5a84
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 14:11:09 2009 -0500
Comment out spamming
commit 027cfcb5fba899f4191f4d2b18646dd667b7ff96
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 14:04:45 2009 -0500
Hook up the free list correctly when a block is not split
commit cfadf617c396ab822bb8f5ae5f83c551843f845f
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 13:57:44 2009 -0500
Only split a free block if there remains enough space for struct block
commit d9a05473dbd7c407f3bd343bcc0348735616d579
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 13:34:21 2009 -0500
Fix a couple of free list corruptions; add more spam
commit 0f4f80e6972eda1ddfad3f5e78d97fc5e3580238
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 12:50:32 2009 -0500
Fix bug where the new block was not correctly attached to its successor
commit 014ae41cfbfd3ec18f514ba4fc282a1f3f906895
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 12:36:09 2009 -0500
Add qxl_mem.c and mmtest to build system
commit 9e845d2beb65e1d1d672ba9784418e4aff8051d2
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 12:22:05 2009 -0500
Add mmtest.c plus various debug spam
commit 49761efda465b8c49e5c28bd0aea58baa107d5d3
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Jan 24 10:16:19 2009 -0500
Add simple-minded initial memory manager implementation.
commit aff78c5631118a0a44f618d226bc193dc7b5858c
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 23 16:50:10 2009 -0500
Release ring is uin64_t
commit 7b7e81446a5f3936e6c9f2066f40646610f961c0
Author: Søren Sandmann Pedersen <ssp@dhcp-100-3-19.bos.redhat.com>
Date: Fri Jan 23 16:20:48 2009 -0500
s/unsigned int/uint32_t/
commit 8af2c6ef2d9fd8f2133d718d99811ba140c573f6
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 23 14:54:07 2009 -0500
Set the size of Video RAM to size of draw area
commit 6c2ea58fcd364630558c73d9acc07b82add6b278
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 23 12:48:56 2009 -0500
Cast rom to uint32_t *
commit 6168830b5aabafc8059cb0e91eff22b4ad32a266
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Fri Jan 23 12:11:55 2009 -0500
Restore mode offset calculation
commit fd2e5aac8f6a65a3ecf1a5a816006431fe3a1646
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jan 22 22:00:38 2009 -0500
Add struct qxl_rom
Fix up the mappings so that it will find the ram header magic word.
commit cecfdaecade3c4987fce6d7ae4aa39f212b5ae55
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jan 22 21:01:19 2009 -0500
Change names to match QXL device; clear up confusion of ram vs. vram
commit be24f31678d99112ffbe25e1807240663a8ff591
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Thu Jan 22 20:07:43 2009 -0500
Fix sizes without libpciaccess (they are reported in number of bits to shift)
Also add more spam.
commit 6f066a21b40dfd024b053c1673bdb26443690d4b
Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Thu Jan 22 18:38:18 2009 -0500
Make it compile without libpciaccess
Also remove generated config.h.in file.
commit f137dfbb16666208336b51b7300e82aa7b7613c9
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 6 13:32:34 2009 -0500
Add qxl_drawable
commit dd2487205f14a366cb649d80efc3fabafb26b845
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 6 13:18:20 2009 -0500
include micmap.h
commit bee8e67aff756d3ba3fe1fe5b8eea7386db6b982
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 6 13:16:13 2009 -0500
Fix return in CreateScreenResources
commit 8b6f8f9199d776fb1e9f5983a1ca86caf078efd8
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 6 13:15:31 2009 -0500
Don't run off the end of qxlSwitchMode without explicit return
commit f76cdcae1b85fda711b7b5822a11f35516ddd7d3
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 6 13:13:17 2009 -0500
Address, not value.
commit 6e5b8af5a54ebe618dab3385950104a9fd793750
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Jan 5 20:03:33 2009 -0500
Add shadow buffer.
commit 1d7e19bfc1ac2ca5e49a7c14e7af339c755e5be3
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 13 15:41:18 2008 -0500
Add RAM header detail
commit 7eb6bf971bbea04d24b95474646699b0c1b2f569
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 13 14:48:57 2008 -0500
Minor mode debugging
commit 584be64b834e2a66c6f3a1b767166d3bad554d83
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 13 14:47:55 2008 -0500
Take bpp into account in mode selection
commit 11d8d3b9e95b1319cb4493cd8cfdf9d8af0900d2
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 13 14:31:11 2008 -0500
Draw area setup
commit 7b09fada2d63b238168434ac0e7e38085cf06b43
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 13 14:05:12 2008 -0500
qxl io ports are bytes, not ints.
commit dfd38ead63e9cdf26629022fb2280b3758215187
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 16:47:11 2008 -0500
Get outl defined
commit f01ed224725f6e1fa88a767ff602ec085bf76859
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 16:39:55 2008 -0500
More mode setup
commit b0edee203a6773feabd1ea5b164ce739a68d55ea
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 16:26:43 2008 -0500
Start adding mode setup.
commit 65c145a94fd09d087f5446194ed72cb311ed85b1
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 16:22:28 2008 -0500
Add I/O port definitions, stash I/O base in the screen.
commit fc45ca8ed1407cd68102e5b4214f4a35016dd30c
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 16:02:15 2008 -0500
Add mode validation.
commit 5152af1ca6780e40f328f04e77978541521b4cdb
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 15:56:16 2008 -0500
Stash pointer to the mode list for easy walking.
commit ebd3ff70eeb0fc7965b62b72014c2882b669feb1
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 15:53:39 2008 -0500
qxl_mode structure
commit e3c066268661f85c50bf169d008a5494aa0e8414
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:34:32 2008 -0500
Validate command RAM signature
commit e1687cbb7ccf0a30de24693447e1344b63b3922b
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:32:48 2008 -0500
Attempt to find command RAM magic
commit 241b23ced8ae172e9af63c49e2911b5e15a49efb
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:28:32 2008 -0500
Size VRAM correctly.
commit 0ca5c444978ebe9df13d4c5f600449074c2996e8
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:19:46 2008 -0500
Attempt to fix mode parsing
commit 26ea8a0a68923c43aa25867b0535642855048649
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:17:11 2008 -0500
Print mode list
commit cd32f8a879b578645053b09a8f9022a548754f1e
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:10:55 2008 -0500
More ROM decode
commit 4e93894c28656ab851ab5d7dee88b59ca3369eea
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:06:10 2008 -0500
Fix endianness of ROM check
commit 00dd02687c79db44768f835dadae72e5aa1b0ebd
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:05:16 2008 -0500
Catch bad ROM signature
commit 75b203c665b860602746f12b8cee6fb53307e805
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 12 13:00:11 2008 -0500
Start decoding the ROM header
commit a7ab0239a0ebaf068e9e9b6115508db478e2e174
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Nov 11 17:55:27 2008 -0500
More silliness
commit bf117afcfe26de1db15b1c3ff0d84fa79926199b
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Nov 11 17:52:52 2008 -0500
Try to fix probe
commit c2c19525444fff12f4a7dab9088abf87638f78c1
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Nov 11 17:28:44 2008 -0500
Memory mapping setup
commit 6caf30591c0039228662020c1f0b03b1183d9948
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Nov 11 16:58:01 2008 -0500
Rename, qxlUnmapMem -> qxlUnmapMemory
commit cb4f86b87bb28c2b64051082702957950838848e
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Oct 30 16:33:21 2008 -0400
Initial skeleton driver
Generated by dwww version 1.16 on Sat Oct 3 07:36:52 CEST 2026.