* [PATCH qxl.ko] Use surface_id 0 for primary surface on all monitors
@ 2014-06-03 14:56 David Mansfield
2014-06-04 2:14 ` Dave Airlie
0 siblings, 1 reply; 2+ messages in thread
From: David Mansfield @ 2014-06-03 14:56 UTC (permalink / raw)
To: David Airlie; +Cc: dri-devel
[-- Attachment #1: Type: text/plain, Size: 597 bytes --]
spice-server and downstream code expect that the primary surface
will always have surface_id = 0, while in reality, once allocated, the
surface_id in qxl.ko is NEVER 0. In a dual head environment, all
monitors render portions of the primary surface.
However, when the monitor config events are generated and sent,
the primary surface is only mapped to the correct identifier
(i.e. 0) for the primary head (where crtc index is 0).
The fix is to look at the "primary" flag in the bo and always
use id 0, irrespective of which head is being configured.
--
Thanks,
David Mansfield
Cobite, INC.
[-- Attachment #2: qxl_force_primary_surface.patch --]
[-- Type: text/x-patch, Size: 473 bytes --]
--- qxl/qxl_display.c 2014-05-19 09:27:28.298217035 -0400
+++ qxl.orig/qxl_display.c 2014-05-19 09:31:00.327028070 -0400
@@ -574,6 +574,10 @@
bo->surf.height, bo->surf.stride, bo->surf.format);
qxl_io_create_primary(qdev, base_offset, bo);
bo->is_primary = true;
+ }
+
+ if (bo->is_primary) {
+ DRM_DEBUG_KMS("setting surface_id to 0 for primary surface %d on crtc %d\n", bo->surface_id, qcrtc->index);
surf_id = 0;
} else {
surf_id = bo->surface_id;
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH qxl.ko] Use surface_id 0 for primary surface on all monitors
2014-06-03 14:56 [PATCH qxl.ko] Use surface_id 0 for primary surface on all monitors David Mansfield
@ 2014-06-04 2:14 ` Dave Airlie
0 siblings, 0 replies; 2+ messages in thread
From: Dave Airlie @ 2014-06-04 2:14 UTC (permalink / raw)
To: David Mansfield; +Cc: dri-devel
I've hand fixed this up and applied it, but please in future submit
patches using the guidelines in Documentation/SubmittingPatches.
Dave.
On 4 June 2014 00:56, David Mansfield <spice@dm.cobite.com> wrote:
> spice-server and downstream code expect that the primary surface
> will always have surface_id = 0, while in reality, once allocated, the
> surface_id in qxl.ko is NEVER 0. In a dual head environment, all
> monitors render portions of the primary surface.
>
> However, when the monitor config events are generated and sent,
> the primary surface is only mapped to the correct identifier
> (i.e. 0) for the primary head (where crtc index is 0).
>
> The fix is to look at the "primary" flag in the bo and always
> use id 0, irrespective of which head is being configured.
>
I've hand fixed this up and applied it, but please in future submit
patches using the guidelines in Documentation/SubmittingPatches.
Dave.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-06-04 2:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-03 14:56 [PATCH qxl.ko] Use surface_id 0 for primary surface on all monitors David Mansfield
2014-06-04 2:14 ` Dave Airlie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.