All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] load_cursor_argb is supposed to return a Bool, not void
@ 2014-04-14 18:22 Keith Packard
       [not found] ` <1397499723-19704-1-git-send-email-keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Keith Packard @ 2014-04-14 18:22 UTC (permalink / raw)
  To: xorg-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

By mis-declaring this function, we ended up using software cursors
because the value seen by the caller was 0.

Signed-off-by: Keith Packard <keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
---
 src/sna/sna_display.c      | 8 ++++++--
 src/sna/sna_display_fake.c | 3 ++-
 src/uxa/intel_display.c    | 7 +++++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 6e2d118..a3441e1 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1681,11 +1681,12 @@ sna_crtc_set_cursor_position(xf86CrtcPtr crtc, int x, int y)
 	(void)drmIoctl(to_sna(crtc->scrn)->kgem.fd, DRM_IOCTL_MODE_CURSOR, &arg);
 }
 
-static void
+static Bool
 sna_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 {
 	struct sna *sna = to_sna(crtc->scrn);
 	struct drm_i915_gem_pwrite pwrite;
+        int ret;
 
 	__DBG(("%s: CRTC:%d\n", __FUNCTION__, to_sna_crtc(crtc)->id));
 
@@ -1694,7 +1695,10 @@ sna_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 	pwrite.offset = 0;
 	pwrite.size = sna->mode.cursor_width*sna->mode.cursor_height*4;
 	pwrite.data_ptr = (uintptr_t)image;
-	(void)drmIoctl(sna->kgem.fd, DRM_IOCTL_I915_GEM_PWRITE, &pwrite);
+	ret = drmIoctl(sna->kgem.fd, DRM_IOCTL_I915_GEM_PWRITE, &pwrite);
+        if (ret != 0)
+                return FALSE;
+        return TRUE;
 }
 
 static void
diff --git a/src/sna/sna_display_fake.c b/src/sna/sna_display_fake.c
index c709d99..3cf0042 100644
--- a/src/sna/sna_display_fake.c
+++ b/src/sna/sna_display_fake.c
@@ -115,9 +115,10 @@ sna_crtc_show_cursor(xf86CrtcPtr crtc)
 {
 }
 
-static void
+static Bool
 sna_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 {
+        return TRUE;
 }
 
 static void
diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c
index 0f06793..f755cb6 100644
--- a/src/uxa/intel_display.c
+++ b/src/uxa/intel_display.c
@@ -432,16 +432,19 @@ intel_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
 	drmModeMoveCursor(mode->fd, crtc_id(intel_crtc), x, y);
 }
 
-static void
+static Bool
 intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 {
 	struct intel_crtc *intel_crtc = crtc->driver_private;
 	int ret;
 
 	ret = dri_bo_subdata(intel_crtc->cursor, 0, 64*64*4, image);
-	if (ret)
+	if (ret) {
 		xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR,
 			   "failed to set cursor: %s\n", strerror(-ret));
+                return FALSE;
+        }
+        return TRUE;
 }
 
 static void
-- 
1.9.1

_______________________________________________
xorg-devel-go0+a7rfsptAfugRpC6u6w@public.gmane.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] load_cursor_argb is supposed to return a Bool, not void
       [not found] ` <1397499723-19704-1-git-send-email-keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
@ 2014-04-14 18:35   ` Julien Cristau
       [not found]     ` <20140414183554.GM4433-DH0RHqKap0bQFgiFqc9mtSKrdGxDUCcD@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Julien Cristau @ 2014-04-14 18:35 UTC (permalink / raw)
  To: Keith Packard
  Cc: xorg-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On Mon, Apr 14, 2014 at 11:22:03 -0700, Keith Packard wrote:

> By mis-declaring this function, we ended up using software cursors
> because the value seen by the caller was 0.
> 
> Signed-off-by: Keith Packard <keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
> ---
>  src/sna/sna_display.c      | 8 ++++++--
>  src/sna/sna_display_fake.c | 3 ++-
>  src/uxa/intel_display.c    | 7 +++++--
>  3 files changed, 13 insertions(+), 5 deletions(-)
> 
Only since
http://cgit.freedesktop.org/xorg/xserver/commit/?id=901fbfbbbd71c0d82080957f8ba09eebbc786f2b

Which could probably have used a different name to avoid silent
breakage.

Cheers,
Julien
_______________________________________________
xorg-devel-go0+a7rfsptAfugRpC6u6w@public.gmane.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] load_cursor_argb is supposed to return a Bool, not void
       [not found]     ` <20140414183554.GM4433-DH0RHqKap0bQFgiFqc9mtSKrdGxDUCcD@public.gmane.org>
@ 2014-04-14 19:35       ` Keith Packard
  0 siblings, 0 replies; 3+ messages in thread
From: Keith Packard @ 2014-04-14 19:35 UTC (permalink / raw)
  To: Julien Cristau
  Cc: xorg-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 388 bytes --]

Julien Cristau <jcristau-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org> writes:

> Only since
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=901fbfbbbd71c0d82080957f8ba09eebbc786f2b
>
> Which could probably have used a different name to avoid silent
> breakage.

Yeah, that probably would have been a better change.

-- 
keith.packard-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org

[-- Attachment #1.2: Type: application/pgp-signature, Size: 810 bytes --]

[-- Attachment #2: Type: text/plain, Size: 219 bytes --]

_______________________________________________
xorg-devel-go0+a7rfsptAfugRpC6u6w@public.gmane.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-04-14 19:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-14 18:22 [PATCH] load_cursor_argb is supposed to return a Bool, not void Keith Packard
     [not found] ` <1397499723-19704-1-git-send-email-keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
2014-04-14 18:35   ` Julien Cristau
     [not found]     ` <20140414183554.GM4433-DH0RHqKap0bQFgiFqc9mtSKrdGxDUCcD@public.gmane.org>
2014-04-14 19:35       ` Keith Packard

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.