CN114371878A - 一种基于无光标图层的display IP模块硬件鼠标实现方法 - Google Patents

一种基于无光标图层的display IP模块硬件鼠标实现方法 Download PDF

Info

Publication number
CN114371878A
CN114371878A CN202210022700.5A CN202210022700A CN114371878A CN 114371878 A CN114371878 A CN 114371878A CN 202210022700 A CN202210022700 A CN 202210022700A CN 114371878 A CN114371878 A CN 114371878A
Authority
CN
China
Prior art keywords
cursor
hardware
display
layer
mouse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210022700.5A
Other languages
English (en)
Other versions
CN114371878B (zh
Inventor
郑明智
冀谦祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Icube Corp ltd
Original Assignee
Icube Corp ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Icube Corp ltd filed Critical Icube Corp ltd
Priority to CN202210022700.5A priority Critical patent/CN114371878B/zh
Publication of CN114371878A publication Critical patent/CN114371878A/zh
Application granted granted Critical
Publication of CN114371878B publication Critical patent/CN114371878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及输入设备控制领域,特别涉及一种基于无光标图层的display IP模块硬件鼠标实现方法。该包括以下步骤:S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。该方法性能优越,CPU占用率低,显存占用率低,跟硬件鼠标一样的性能,可自定义去除冗余重复硬件操作;可拓展性强,当应用层需要新的鼠标功能时通过修改驱动进行适配,不需要更新硬件;更能完全发挥硬件性能,比如某些场景不需要鼠标时,空出光标图层给其他用途使用。

Description

一种基于无光标图层的display IP模块硬件鼠标实现方法
技术领域
本发明涉及输入设备控制领域,特别涉及一种基于无光标图层的display IP模块硬件鼠标实现方法。
背景技术
现在GPU的DP模块关于鼠标(光标图层)实现由以下方法和优缺点
(1)方案一:DP IP自带硬件鼠标
实现方式:DP自带鼠标图层功能,所有鼠标动作由硬件完成。
优点:这个直接由硬件支持,性能优越,不占用cpu资源,软件适配简单或者无需适配;
缺点:如果后面光标技术更新就要修改硬件去适应,比如现在drm里面有涉及的第二代光标接口的热点功能或以后的更加前沿功能就要通过更新硬件或者硬件固件实现,成本代价高。
(2)方案二:xserver自行实现soft cursor
实现方法:通过配置xorg配置文件支持,如果是厂商自研modesetting,修改对应应用层driver代码即可。
优点:无需驱动,硬件支持,只要相关xserver配置或者在应用层驱动适配即可;
缺点:纯CPU渲染后通过和主图层合成呈现,频繁对图层进行干预,浪费cpu资源,性能差,存在滞后拖影,光标消失等现象。
(3)方案三:framebuff 指定光标图层法
实现方法:驱动支持即可,所有plane初始化时指定一个图层为DRM_PLANE_TYPE_CURSOR 然后通过drm_crtc_init_with_planes初始化即可。
优点:开发简单,几行驱动层代码即可实现;
缺点:性能理论上介于硬件鼠标和软件鼠标之间,实际可能因为硬件和软件环境问题,体验比软件鼠标还差。
发明内容
本发明提供一种基于无光标图层的display IP模块硬件鼠标实现方法,旨在在驱动层实现硬件鼠标功能。
本发明提供一种基于无光标图层的display IP模块硬件鼠标实现方法,包括以下步骤:
S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;
S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;
S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。
作为本发明的进一步改进,所述步骤S1中,所述锁定的光标图层位于多个图层的最上端。
作为本发明的进一步改进,所述步骤S1中,光标的属性包括坐标、大小、crtc大小、光标对用户态内存、光标状态。
作为本发明的进一步改进,所述步骤S2中,对光标进行设置操作过程包括:
S21.通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要包括设置光标形状、大小、所在内存的对象。
作为本发明的进一步改进,所述步骤S2中,对光标进行移动操作过程包括:
S22.通过接受到用户态调用cursor_move回调进行处理,主要包括对光标移动处理、光标移动出界异常处理。
作为本发明的进一步改进,所述步骤S2中,对光标进行隐藏销毁操作过程包括:
S23.通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于不传递handle=0的应用通过监控主图层状态进行联动销毁光标图层。
作为本发明的进一步改进,该方法还包括步骤:
S4.卸载释放资源,在应用层层面,在驱动协助时对光标对象申请的资源进行释放;在硬件层面,涉及到硬件状态时把对应寄存器复位。
本发明的有益效果是:
(1)性能优越,CPU占用率低,显存、内存占用率低,跟硬件鼠标一样甚至更好的性能,可自定义去除冗余重复硬件操作;
(2)可拓展性强,当应用层需要新的鼠标功能时可以通过修改驱动进行适配,不需要更新硬件;
(3)更能完全发挥硬件性能,比如某些场景不需要鼠标时,可以空出光标图层给其他用途使用。
附图说明
图1是本发明一种基于无光标图层的display IP模块硬件鼠标实现方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
目前部分display IP没有实现鼠标图层功能,或者已经实现鼠标图层功能但性能或功能存在缺陷,因此要在应用图层获取跟硬件鼠标一样的性能。
如图1所示,本发明的一种基于无光标图层的display IP模块硬件鼠标实现方法,其包括:
S1.初始化,选择合适plane作为光标图层,并申请自定义光标对象,用于存放所有光标属性,如坐标,大小,crtc大小,光标对用户态内存,光标状态等。
S21.光标设置,通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要是设置光标形状,大小,所在内存的对象等。
S22.光标移动,通过接受到用户态调用cursor_move回调进行处理,主要对光标移动进行处理,其中涉及光标移动出界异常处理。
S23.光标隐藏销毁,通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于某些应用不传递handle=0的通过监控主图层状态进行联动销毁光标图层。
S3.光标状态机,合理处理光标设置、移动、移动出界、隐藏、销毁。各种状态的过渡平滑和正常。
步骤S1、S21~S23、S3均会触发硬件寄存器操作,其中该操作根据硬件特性进行指令精简,生成指令发送至display硬件进行显示,提高效率,根据选择的硬件方案自行配置,比如部分硬件支持vblank的要在对应周期内进行光标显示。
S4.卸载释放资源,在驱动协助时要对光标对象申请的资源进行释放,如果涉及到硬件状态要把对应寄存器复位。
本发明的方法实现方式为:类似硬件鼠标,应用层调用栈,在驱动层实现本来IP直接实现的功能,选择一个合适的图层锁定为光标图层,后续所有光标动作通过锁定图层实现,而且锁定的光标图层永远处于其他图层之上,方便光标显示。
本方法的优点为:
性能优越,CPU占用率低,显存(内存)占用率低,跟硬件鼠标一样甚至更好的性能,可自定义去除冗余重复硬件操作;可拓展性强,当应用层需要新的鼠标功能时可以通过修改驱动进行适配,不需要更新硬件;更能完全发挥硬件性能,比如某些场景不需要鼠标时,可以空出光标图层给其他用途使用。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,包括以下步骤:
S1.光标初始化,选择一图层锁定为光标图层,并申请自定义光标对象,存放所有光标属性;
S2.对光标进行设置、移动、隐藏销毁的操作,并通过光标状态机处理各项操作状态的切换过渡;
S3.光标的各项操作触发硬件寄存器操作,并根据硬件特性生成指令发送至display硬件进行显示。
2.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S1中,所述锁定的光标图层位于多个图层的最上端。
3.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S1中,光标的属性包括坐标、大小、crtc大小、光标对用户态内存、光标状态。
4.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行设置操作过程包括:
S21.通过接受到用户态调用cursor_set2/cursor_set回调函数进行处理,主要包括设置光标形状、大小、所在内存的对象。
5.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行移动操作过程包括:
S22.通过接受到用户态调用cursor_move回调进行处理,主要包括对光标移动处理、光标移动出界异常处理。
6.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,所述步骤S2中,对光标进行隐藏销毁操作过程包括:
S23.通过接受到用户态调用cursor_set2/cursor_set传递handle=0时进行光标隐藏,对于不传递handle=0的应用通过监控主图层状态进行联动销毁光标图层。
7.根据权利要求1所述基于无光标图层的display IP模块硬件鼠标实现方法,其特征在于,还包括步骤:
S4.卸载释放资源,在应用层层面,在驱动协助时对光标对象申请的资源进行释放;在硬件层面,涉及到硬件状态时把对应寄存器复位。
CN202210022700.5A 2022-01-10 2022-01-10 一种基于无光标图层的display IP模块硬件鼠标实现方法 Active CN114371878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210022700.5A CN114371878B (zh) 2022-01-10 2022-01-10 一种基于无光标图层的display IP模块硬件鼠标实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210022700.5A CN114371878B (zh) 2022-01-10 2022-01-10 一种基于无光标图层的display IP模块硬件鼠标实现方法

Publications (2)

Publication Number Publication Date
CN114371878A true CN114371878A (zh) 2022-04-19
CN114371878B CN114371878B (zh) 2024-05-14

Family

ID=81144768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210022700.5A Active CN114371878B (zh) 2022-01-10 2022-01-10 一种基于无光标图层的display IP模块硬件鼠标实现方法

Country Status (1)

Country Link
CN (1) CN114371878B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560532A (zh) * 2023-07-06 2023-08-08 麒麟软件有限公司 一种wayland环境下远程桌面获取硬件光标的实现方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794143A (zh) * 2005-12-30 2006-06-28 中国科学院计算技术研究所 一种基于原语机制的外设网络调用方法
CN1975644A (zh) * 2006-12-29 2007-06-06 中国电信股份有限公司 为遥控器提供鼠标功能的方法和装置
CN101488332A (zh) * 2009-01-06 2009-07-22 东莞康特尔电子有限公司 一种基于WinCE***的屏幕显示加速混合***和方法
US20100156923A1 (en) * 2008-12-24 2010-06-24 Fujitsu Microelectronics Limited Graphics display device and graphics display method
CN102184070A (zh) * 2010-06-22 2011-09-14 上海盈方微电子有限公司 一种硬件支持光标显示的方法及装置
CN102368211A (zh) * 2011-06-28 2012-03-07 上海盈方微电子有限公司 一种使用osd加速实现硬件鼠标的方法
CN104281356A (zh) * 2013-07-01 2015-01-14 腾讯科技(深圳)有限公司 屏幕分享方法及装置
CN104991722A (zh) * 2015-07-06 2015-10-21 天脉聚源(北京)传媒科技有限公司 光标显示方法及装置
CN106155654A (zh) * 2015-04-03 2016-11-23 阿里巴巴集团控股有限公司 屏蔽网页操作的方法、装置及电子设备
CN107589989A (zh) * 2017-09-14 2018-01-16 晨星半导体股份有限公司 基于安卓平台的显示装置及其图像显示方法
CN110471584A (zh) * 2019-07-05 2019-11-19 深圳市格上格创新科技有限公司 一种手持输入设备的鼠标光标控制方法和装置
CN112463086A (zh) * 2019-09-06 2021-03-09 华为技术有限公司 一种显示控制方法及电子设备
CN112965617A (zh) * 2021-01-15 2021-06-15 聚融医疗科技(杭州)有限公司 一种多屏超声诊断设备多鼠标输入控制方法与***
CN113805770A (zh) * 2021-08-12 2021-12-17 荣耀终端有限公司 一种光标的移动方法及电子设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794143A (zh) * 2005-12-30 2006-06-28 中国科学院计算技术研究所 一种基于原语机制的外设网络调用方法
CN1975644A (zh) * 2006-12-29 2007-06-06 中国电信股份有限公司 为遥控器提供鼠标功能的方法和装置
US20100156923A1 (en) * 2008-12-24 2010-06-24 Fujitsu Microelectronics Limited Graphics display device and graphics display method
CN101488332A (zh) * 2009-01-06 2009-07-22 东莞康特尔电子有限公司 一种基于WinCE***的屏幕显示加速混合***和方法
CN102184070A (zh) * 2010-06-22 2011-09-14 上海盈方微电子有限公司 一种硬件支持光标显示的方法及装置
CN102368211A (zh) * 2011-06-28 2012-03-07 上海盈方微电子有限公司 一种使用osd加速实现硬件鼠标的方法
CN104281356A (zh) * 2013-07-01 2015-01-14 腾讯科技(深圳)有限公司 屏幕分享方法及装置
CN106155654A (zh) * 2015-04-03 2016-11-23 阿里巴巴集团控股有限公司 屏蔽网页操作的方法、装置及电子设备
CN104991722A (zh) * 2015-07-06 2015-10-21 天脉聚源(北京)传媒科技有限公司 光标显示方法及装置
CN107589989A (zh) * 2017-09-14 2018-01-16 晨星半导体股份有限公司 基于安卓平台的显示装置及其图像显示方法
CN110471584A (zh) * 2019-07-05 2019-11-19 深圳市格上格创新科技有限公司 一种手持输入设备的鼠标光标控制方法和装置
CN112463086A (zh) * 2019-09-06 2021-03-09 华为技术有限公司 一种显示控制方法及电子设备
CN112965617A (zh) * 2021-01-15 2021-06-15 聚融医疗科技(杭州)有限公司 一种多屏超声诊断设备多鼠标输入控制方法与***
CN113805770A (zh) * 2021-08-12 2021-12-17 荣耀终端有限公司 一种光标的移动方法及电子设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
卓明敏等: "C-Free 5控制台光标控制功能的增加方法", 福建电脑, vol. 35, no. 6, pages 57 *
崔婷等: "探析数字高清电视***集中图像引擎***的设计和实现", 信息记录材料, vol. 22, no. 9, 1 September 2021 (2021-09-01), pages 118 *
李亚菲等: "交互式矢量化技术在水文站网分布图编绘中的应用", 科技视界, no. 10, 5 April 2016 (2016-04-05), pages 290 *
董剑;张源;杨珉;: "利用硬件加速层优化Android显示***", 小型微型计算机***, no. 07, 15 July 2012 (2012-07-15), pages 1546 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560532A (zh) * 2023-07-06 2023-08-08 麒麟软件有限公司 一种wayland环境下远程桌面获取硬件光标的实现方法
CN116560532B (zh) * 2023-07-06 2023-09-26 麒麟软件有限公司 一种wayland环境下远程桌面获取硬件光标的实现方法

Also Published As

Publication number Publication date
CN114371878B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
JP7114633B2 (ja) 画面ミラーリング方法、装置、端末及び記憶媒体
US10602135B2 (en) Video processing method, device and terminal
JP2000331150A (ja) グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体
US20070101325A1 (en) System and method for utilizing a remote memory to perform an interface save/restore procedure
CN106339061A (zh) 一种移动终端及其运行应用程序的方法
CN114371878A (zh) 一种基于无光标图层的display IP模块硬件鼠标实现方法
JP3797372B2 (ja) 描画命令のフックを利用した画像の転送
US9424814B2 (en) Buffer display techniques
JP2006351013A (ja) 電子装置において保存/リストア手順を行なうための方法及びシステム
CN102375759B (zh) 利用有限状态机防止代码重入的方法
CN111258668A (zh) 一种gpu虚拟桌面动态切换显示的方法及装置
CN101561780A (zh) 一种使用文件来存储应用程序状态的方法
JP5486135B2 (ja) イメージオブジェクトの移動方法および装置
WO2017129107A1 (zh) 一种图像绘制的方法、相关设备及***
JP3826941B2 (ja) 描画命令のフックを利用した画像の転送
JP3797371B2 (ja) 描画命令のフックを利用した画像の転送
US11677902B2 (en) Data processing method and related product
JP2000029443A (ja) アニメ―ション回路を具えるスクリ―ンドライバ
CN112182599A (zh) 一种主密钥自动加载方法、装置、电子设备及可读存储介质
WO1999040518A1 (en) Method and apparatus to synchronize graphics rendering and display
CN114564289B (zh) 任务切换方法、装置及电子设备
CN110704208A (zh) 多个***的消息处理方法、服务器及存储介质
US7424638B2 (en) Multipath processor with dedicated buses
CN111445381A (zh) 一种基于exa的rga图形加速方法和存储设备
JP3797373B2 (ja) 描画命令のフックを利用した画像の転送

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant