summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndre Heider <[email protected]>2019-04-11 08:42:47 +0200
committerAxel Davy <[email protected]>2019-04-20 13:06:29 +0200
commit8b13aac9666951bade6ac5fff9eb7c45a7d2748a (patch)
treea298760f45980121af4c404700f76836964b7565 /src
parent828ec411545ee6cdcabe228002fca3e4c5d14274 (diff)
st/nine: skip position checks in SetCursorPosition()
For HW cursors, "cursor.pos" doesn't hold the current position of the pointer, just the position of the last call to SetCursorPosition(). Skip the check against stale values and bump the d3dadapter9 drm version to expose this change of behaviour. Signed-off-by: Andre Heider <[email protected]> Reviewed-by: Axel Davy <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/nine/device9.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index db1c3a1d23d..0b1fe59cb70 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -793,9 +793,11 @@ NineDevice9_SetCursorPosition( struct NineDevice9 *This,
DBG("This=%p X=%d Y=%d Flags=%d\n", This, X, Y, Flags);
- if (This->cursor.pos.x == X &&
- This->cursor.pos.y == Y)
- return;
+ /* present >= v1.4 handles this itself */
+ if (This->minor_version_num < 4) {
+ if (This->cursor.pos.x == X && This->cursor.pos.y == Y)
+ return;
+ }
This->cursor.pos.x = X;
This->cursor.pos.y = Y;