mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-26 17:12:07 +00:00
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 <a.heider@gmail.com> Reviewed-by: Axel Davy <davyaxel0@gmail.com>
This commit is contained in:
parent
828ec41154
commit
8b13aac966
@ -29,11 +29,14 @@
|
||||
#define D3DADAPTER9DRM_NAME "drm"
|
||||
/* current version */
|
||||
#define D3DADAPTER9DRM_MAJOR 0
|
||||
#define D3DADAPTER9DRM_MINOR 1
|
||||
#define D3DADAPTER9DRM_MINOR 2
|
||||
|
||||
/* version 0.0: Initial release
|
||||
* 0.1: All IDirect3D objects can be assumed to have a pointer to the
|
||||
* internal vtable in second position of the structure */
|
||||
* internal vtable in second position of the structure
|
||||
* 0.2: IDirect3DDevice9_SetCursorPosition always calls
|
||||
* ID3DPresent_SetCursorPos for hardware cursors
|
||||
*/
|
||||
|
||||
struct D3DAdapter9DRM
|
||||
{
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user