Whenever we can't accelerate, and DebugRenderFallbacks is turned on,
print out the reason we couldn't accelerate.
---
src/qxl_uxa.c | 65 +
1 files changed, 56 insertions(+), 9 deletions(-)
diff --git a/src/qxl_uxa.c b/src/qxl_uxa.c
index
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.
---
src/qxl.h|2 ++
src/qxl_driver.c | 14 --
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/s
Hello,
The following is some notes on what I am planning to do for UMS memory
management. It basically amounts to a rewrite of qxl-surface-ums.c
Comments appreciated, especially regarding eviction policy, where my
current plan is very naive: Just keep kicking out the least recently
used surface u
r, to catch crtc/monitor config errors
Split crtc_set_mode_major()
Avoid calling qxl_update_monitors_config() with invalid config
Bypass rrcrtc.c screen size bounds check
Change output status when update monitors config
Return a preferred mode matching the current mode
Søre
Jeremy White writes:
> The following patch series remove nearly all warnings from
> xf86-video-qxl.
Some general comments:
- You have this pattern where you assign a string to a global variable
and then you assign that variable to a field instead of the string
itself. If this really is nece
Jeremy White writes:
> Hey Alon (and all),
>
> Could this patch be done instead with an #ifdef on XORG_VERSION_CURRENT?
>
> It'd be nice if the tip of spice could continue to be useful with older
> Xorgs (said a guy who's focused on RHEL development... :-/).
>
> If that would be okay, I can spin
From: Søren Sandmann Pedersen
Then check that we have the right version before accessing the
set_client_capabilities() function.
---
server/red_worker.c |8 ++--
server/spice.h |2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/server/red_worker.c b/server
Alon Levy writes:
> The solution is the SPICE_INTERFACE_QXL_MAJOR & SPICE_INTERFACE_QXL_MINOR
> versions which are stored in the compiled qemu binary in
> hw/qxl.c:qxl_interface
>
> Any change to the QXLInterface must be accompanied by a change to
> those two constants, in the usual manner - maj
Jeremy White writes:
> The following commit:
>
> commit 2fecf3a171e64ca0dad5653ed740409dc5af2edf
> Author: Søren Sandmann
> AuthorDate: Tue Dec 20 09:01:17 2011 -0500
> Commit: Søren Sandmann Pedersen
> CommitDate: Wed Sep 5 18:17:21 2012 -0400
>
> Enabl
From: Søren Sandmann Pedersen
No new symbols are added, but there is an addition to QXLInterface:
void (*set_client_capabilities)(QXLInstance *qin,
uint8_t client_present,
uint8_t caps[58]);
---
server/spice.h |2
From: Søren Sandmann Pedersen
---
server/red_worker.c |2 ++
spice-common|2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index f87967c..17d9ef8 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -10377,6
From: Søren Sandmann Pedersen
When a new client connects, there may be commands in the ring that it
can't understand, so we need to process these before forwarding new
commands to the client. By doing this after changing the capability
bits we ensure that the new client will never see a co
From: Søren Sandmann Pedersen
A new interface
set_client_capabilities (QXLInstance *qin,
uint8_t client_present,
uint8_t caps[58]);
is added to QXLInstance, and spice server is changed to call it
whenever a client connects or disconnects
From: Søren Sandmann Pedersen
---
client/display_channel.cpp |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/client/display_channel.cpp b/client/display_channel.cpp
index d08072d..49a4c6a 100644
--- a/client/display_channel.cpp
+++ b/client/display_channel.cpp
@@ -652,6
Søren Sandmann writes:
> Alon Levy writes:
>
>>> ---
>>> server/red_worker.c | 2 ++
>>> spice-common| 2 +-
>>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/server/red_worker.c b/server/red
Søren Sandmann Pedersen writes:
> @@ -1292,7 +1315,7 @@ static void qxl_set_mode(PCIQXLDevice *d, int modenr,
> int loadvm)
>
> d->mode = QXL_MODE_COMPAT;
> d->cmdflags = QXL_COMMAND_FLAG_COMPAT;
> -#ifdef QXL_COMMAND_FLAG_COMPAT_16BPP /* new
Alon Levy writes:
>> ---
>> server/red_worker.c | 2 ++
>> spice-common| 2 +-
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/server/red_worker.c b/server/red_worker.c
>> index 843f559..23f3464 100644
>> --- a/server/red_worker.c
>> +++ b/server/red_worker.c
>> @@
This new interface lets spice server inform the guest whether
(a) a client is connected
(b) what capabilities the client has
There is a fixed number (464) of bits reserved for capabilities, and
when the capabilities bits change, the QXL_INTERRUPT_CLIENT interrupt
is generated.
Signed-off-by: Sor
---
server/red_worker.c | 2 ++
spice-common| 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index 843f559..23f3464 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -10377,6 +10377,8 @@ static void handle_new_displ
No new symbols are added, but there is an addition to QXLInterface:
void (*set_client_capabilities)(QXLInstance *qin,
uint8_t client_present,
uint8_t caps[58]);
---
server/spice.h | 2 +-
1 file changed, 1 insertion(+), 1
---
gtk/channel-display.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gtk/channel-display.c b/gtk/channel-display.c
index 99fe9c9..326ad22 100644
--- a/gtk/channel-display.c
+++ b/gtk/channel-display.c
@@ -682,6 +682,7 @@ static void
spice_display_channel_reset_capabilities(SpiceChannel *
The client_present field is a byte that is set of non-zero when a
client is connected and to zero when no client is connected.
The client_capabilities[58] array contains 464 bits that indicate the
capabilities of the client. Each bit corresponds to a
SPICE_DISPLAY_CAP_* capability. In particular,
Hi,
Here are new revisions of the capabilities patches. Also included here
is a new SPICE_DISPLAY_CAP_A8_SURFACE capability since this is
logically distinct from the composite command.
Thanks,
Soren
___
Spice-devel mailing list
Spice-devel@lists.freede
Even though the ability to handle a8 surfaces was added at the same
time as the composite command, they are logically separate, so add a
capability bit to indicate the presence of a8 surfaces.
---
spice/protocol.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/spice/protocol.h b/spice/protoco
Gerd Hoffmann writes:
>> The scheme I had in mind was this:
>>
>> - When a new non-a8-capable client appears, don't send it any of the
>> a8 surfaces
>>
>> - If the client doesn't understand a8 surfaces,
>>
>> - keep all a8 surfaces rendered on the server side
>>
>>
Gerd Hoffmann writes:
>> I don't know of a good way to deal with the situation where the new
>> client is unable to handle existing surfaces.
>
> We need a sensible solution here. If we can't handle capability
> downgrade at runtime the capability negotiation between guest and client
> doesn't m
Alon Levy writes:
>> Good question.
>>
>> I don't know of a good way to deal with the situation where the new
>> client is unable to handle existing surfaces. I suppose in principle
>> spice-server could emulate their existence, sending them as images, but
>> I'm not familiar enough with spice-
Gerd Hoffmann writes:
> On 08/27/12 19:20, Søren Sandmann Pedersen wrote:
>> From: Søren Sandmann Pedersen
>>
>> The client_present field is a byte that is set of non-zero when a
>> client is connected and to zero when no client is connected.
>>
>> The
Hi,
The following patches add the ability for spice-server to advertise
the capabilities of connected clients to guests. They do this through
adding some new fields to QXLRom:
- whether a client is present
- a bit field to indicate which SPICE_DISPLAY_CAP_* capabilities the
client has.
Th
From: Søren Sandmann Pedersen
This new interface lets spice server inform the guest whether
(a) a client is connected
(b) what capabilities the client has
There is a fixed number (464) of bits reserved for capabilities, and
when the capabilities bits change, the QXL_INTERRUPT_CLIENT interrupt
From: Søren Sandmann Pedersen
A new interface
set_client_capabilities (QXLInstance *qin,
uint8_t client_present,
uint8_t caps[58]);
is added to QXLInstance, and spice server is changed to call it
whenever a client connects or disconnects
From: Søren Sandmann Pedersen
The client_present field is a byte that is set of non-zero when a
client is connected and to zero when no client is connected.
The client_capabilities[58] array contains 464 bits that indicate the
capabilities of the client. Each bit corresponds to a
Hi,
The following patches add the ability for spice-server to advertise
the capabilities of connected clients to guests. They do this through
adding some new fields to QXLRom:
- whether a client is present
- a bit field to indicate which SPICE_DISPLAY_CAP_* capabilities the
client has.
Th
From: Søren Sandmann Pedersen
All the real work is done in spice-common, so this is a pretty simple
change.
---
gtk/channel-display.c | 9 +
spice-common | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gtk/channel-display.c b/gtk/channel-display.c
index
ssia
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
In red-parse-qxl.c add support for parsing QXLComposite into
SpiceComposite. In red-worker.c add support for marshalling
SpiceComposite onto the wire.
---
server/red_memslots.c | 2 +-
server/red_parse_qxl.c | 59 +++-
server
From: Søren Sandmann Pedersen
All the real work is being done in spice-common, so this patch is just
hooking up the virtual calls.
---
client/canvas.cpp | 7 +++
client/canvas.h| 1 +
client/display_channel.cpp | 11 +++
client/display_channel.h | 1 +
4
From: Søren Sandmann Pedersen
Graduality is irrelevant for A8 images, so instead of using RGB-ness
as a short-cut, add a new macro BITMAP_FMT_HAS_GRADUALITY() that
returns true for the existing RGB images, but false for A8.
---
server/red_common.h| 2 +-
server/red_parse_qxl.c | 2
ssia
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
Most desktop applications on Linux rely on the X11 Render extensions
for image compositing, which is poorly supported in SPICE. This patch
implements support for a compositing command that supports the image
compositing features of Render.
The pixman library that
From: Søren Sandmann Pedersen
This format is needed to add Render support to the X driver, so we
need the ability to compress and decompress it.
---
common/canvas_base.c| 4
common/lz.c | 24 +++-
common/lz_common.h | 5 +++--
common
From: Søren Sandmann Pedersen
Pixman requires all strides to be aligned to a multiple of 4. With the
upcoming a8 images, this is not guaranteed anymore.
---
common/canvas_utils.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/canvas_utils.c b/common/canvas_utils.c
index 7b92436
ssia
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
This new command is intended to be used for implementing the Composite
request from the Render X extension. See
http://www.x.org/releases/current/doc/renderproto/renderproto.txt
for a description of the Render extension.
Composite has three fields: src, mask
ssia
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
This format corresponds to a sequence of bytes, each of which
represents an alpha value.
---
spice/enums.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/spice/enums.h b/spice/enums.h
index c4e38aa..7cdea0f 100644
--- a/spice/enums.h
+++ b/spice/enums.h
Hans de Goede writes:
>> @@ -5882,7 +5888,8 @@ static const LzImageType
>> MAP_BITMAP_FMT_TO_LZ_IMAGE_TYPE[] = {
>> LZ_IMAGE_TYPE_RGB16,
>> LZ_IMAGE_TYPE_RGB24,
>> LZ_IMAGE_TYPE_RGB32,
>> -LZ_IMAGE_TYPE_RGBA
>> +LZ_IMAGE_TYPE_RGBA,
>> +LZ_IMAGE_TYPE_A8
>> };
>>
>>
All the real work is being done in spice-common, so this patch is just
hooking up the virtual calls.
---
client/canvas.cpp | 7 +++
client/canvas.h| 1 +
client/display_channel.cpp | 11 +++
client/display_channel.h | 1 +
4 files changed, 20 insertions(+)
di
In red-parse-qxl.c add support for parsing QXLComposite into
SpiceComposite. In red-worker.c add support for marshalling
SpiceComposite onto the wire.
---
server/red_memslots.c | 2 +-
server/red_parse_qxl.c | 59 +++-
server/red_parse_qxl.h | 1 +
server/red_worker.c
Graduality is irrelevant for A8 images, so instead of using RGB-ness
as a short-cut, add a new macro BITMAP_FMT_HAS_GRADUALITY() that
returns true for the existing RGB images, but false for A8.
---
server/red_common.h| 2 +-
server/red_parse_qxl.c | 2 +-
server/red_worker.c| 23
SSIA
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
The following patch sets spanning spice, spice-common, spice-protocol
and spice-gtk implement support for the following new features:
- a new A8 surface format
- a new Composite command
The Composite command is useful for implementing render suport in the
X11 guest driver. There are some
From: Søren Sandmann Pedersen
This new command is intended to be used for implementing the Composite
request from the Render X extension. See
http://www.x.org/releases/current/doc/renderproto/renderproto.txt
for a description of the Render extension.
Composite has three fields: src, mask
From: Søren Sandmann Pedersen
This format corresponds to a sequence of bytes, each of which
represents an alpha value.
---
spice/enums.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/spice/enums.h b/spice/enums.h
index c4e38aa..7cdea0f 100644
--- a/spice/enums.h
+++ b/spice/enums.h
SSIA
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
Most desktop applications on Linux rely on the X11 Render extensions
for image compositing, which is poorly supported in SPICE. This patch
implements support for a compositing command that supports the image
compositing features of Render.
The pixman library that
From: Søren Sandmann Pedersen
This format is needed to add Render support to the X driver, so we
need the ability to compress and decompress it.
---
common/canvas_base.c| 4
common/lz.c | 24 +++-
common/lz_common.h | 5 +++--
common
From: Søren Sandmann Pedersen
Pixman requires all strides to be aligned to a multiple of 4. With the
upcoming a8 images, this is not guaranteed anymore.
---
common/canvas_utils.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/canvas_utils.c b/common/canvas_utils.c
index 7b92436
SSIA
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
All the real work is done in spice-common, so this is a pretty simple
change.
---
gtk/channel-display.c | 8
spice-common | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/gtk/channel-display.c b/gtk/channel-display.c
index
Gerd Hoffmann writes:
> We surely need a switch to make a8 visible to the guest. live migration
> between hosts with & without a8 isn't going to fly, so you only can
> enable a8 once all host machines in your cluster are upgraded.
>
> One way is to simply bump the qxl pci revision from 3 to 4.
>
From: Søren Sandmann Pedersen
This format is needed to add Render support to the X driver, so we
need the ability to compress and decompress it.
---
common/canvas_base.c|4
common/lz.c | 24 +++-
common/lz_common.h |5
From: Søren Sandmann Pedersen
Pixman requires all strides to be aligned to a multiple of 4. With the
upcoming a8 images, this is not guaranteed anymore.
---
common/canvas_utils.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/common/canvas_utils.c b/common
From: Søren Sandmann Pedersen
Graduality is irrelevant for A8 images, so instead of using RGB-ness
as a short-cut, add a new macro BITMAP_FMT_HAS_GRADUALITY() that
returns true for the existing RGB images, but false for A8.
---
server/red_worker.c | 25 -
spice-common
From: Søren Sandmann Pedersen
This format corresponds to a sequence of bytes, each of which
represents an alpha value.
---
spice/enums.h |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/spice/enums.h b/spice/enums.h
index 802e1ee..71e2e06 100644
--- a/spice/enums.h
+++ b
Hello,
The following patches add support for a new A8 bitmap format, and for
LZ compression of it. This format is heavliy used by the X server
Render extension for glyphs and geometry information.
I have verified that the patches with an experiemental version of the
QXL X driver that can generate
Yonit Halperin writes:
> Did you check if there are other operations, besides the "nomask"
> ones, that can be translated to the current QXL_DRAW commands, mainly
> the QXL_DRAW_ROP3 one?
Well, X does have some raster ops but they are very rarely used in newer
applications.
> * The number of ca
This branch here:
http://cgit.freedesktop.org/~sandmann/xf86-video-qxl/log/?h=trackimages
will produce various types of information in the X log file when the
option "EnableImageStats" is given in xorg.conf. Specifically, it will
track whenever an operation triggers a fallback and record the
with MurmurHash3
missed when added qxl_option_helpers.c
Gerd Hoffmann (1):
support _ASYNC io calls and interrupt handling (busy wait)
Søren Sandmann (6):
Translate the access region according to the drawable offset.
Use new 8BIT_A format for 8 bit pixmaps.
Don
Alon Levy writes:
> 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 m
Git master should be somewhat faster now.
Soren
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel
From: Søren Sandmann Pedersen
In Fedora 13, the linker doesn't pull in DT_NEEDED libraries anymore,
so we have to list the things that we depend on explicitly.
This affects several X extension libraries, and also the pthread
library.
---
client/x11/Makefile.am |6 +-
configu
72 matches
Mail list logo