用于图形处理的图形存储器加载掩模的制作方法

文档序号:8501165阅读:512来源:国知局
用于图形处理的图形存储器加载掩模的制作方法
【技术领域】
[0001] 本发明涉及用于图形处理的技术,且更具体来说,涉及用于存取图形存储器的技 术。
【背景技术】
[0002] 图形处理单元通常用以呈现二维(2D)或三维(3D)内容以供显示。对于可能具有 受限制计算及存储器容量的一些装置(例如,移动装置),一次呈现整个显示屏是不可能的 或可能效率低下。因此,此些装置一次可呈现显示屏的一部分。此过程被称作"分格"。在 分格的情况下,例如可一次一个地处理显不器的被称作分格的每一部分,直到呈现整个显 示器为止。
[0003] 包含使用分格操作的那些单元的图形处理单元可用以绘制用户接口(ui)。n的 操作可包含例如在更新及呈现n对象(例如,移动窗口)时复制屏幕周围的数据。这些对 象可移动到所呈现帧内的不同位置。在这样做时,数据读取及写入可占据宝贵的处理循环 或其它装置资源。从图形存储器(GMEM)读取及写入数据还可占据宝贵处理循环或其它宝 贵装置资源。

【发明内容】

[0004] 通常,处理用于显示到屏幕的视频数据可包含从主存储器到GMEM的加载、GMEM中 的呈现及从GMEM到主存储器的回写。根据本发明的实例可避免到GMEM的不必要的加载。 因此,对于其中例如像素尚未从其上一次所呈现的状况改变的状况的至少一部分,可以避 免像素从主存储器到GMEM的加载。用于此些像素的数据可已经存储于主存储器中,且对于 未改变的像素,重复这些步骤将仅为将相同数据回写到主存储器。
[0005] 在根据本发明的实例中,可创建掩模,其指示哪一像素或哪些像素群组不需要被 加载到GMEM。此情形可允许对于尚未从像素上一次所呈现的状况改变的像素,避免或跳过 从主存储器到GMEM的加载、GMEM中的呈现及到主存储器的回写。如果不需要改变,那么对 于所述像素或像素群组,可跳过GMEM加载。对于不使用深度缓冲器作为处理屏幕图像的深 度的部分的应用,掩模可存储于深度缓冲器中。
[0006] 在一个实例中,本发明描述一种方法,其包含创建掩模,所述掩模指示哪些像素群 组不需要被加载到图形存储器(GMEM)。掩模指示不需要将像素群组加载到GMEM。所述方 法可呈现图片的平铺块,包含基于来自掩模的指示加载GMEM及基于来自掩模的指示跳过 从GMEM的加载。
[0007] 在另一个实例中,本发明描述一种用于解码视频数据的装置,所述装置包含经配 置以创建掩模的视频解码器,所述掩模指示哪些像素群组不需要被加载到GMEM。掩模指示 不需要将像素群组加载到GMEM。所述装置可在屏幕上呈现平铺块,包含基于来自掩模的指 示加载GMEM及基于来自掩模的指示跳过从GMEM的加载。
[0008] 在另一个实例中,本发明描述一种装置,其包含用于创建掩模的装置,所述掩模指 示哪些像素群组不需要被加载到GMEM。掩模指示不需要将像素群组加载到GMEM。所述装 置还包含用于在屏幕上呈现平铺块的装置,包含用于基于来自掩模的指示加载GMEM的装 置及用于基于来自掩模的指示跳过从GMEM的加载的装置。
[0009] 在另一个实例中,本发明描述一种计算机程序产品。所述计算机程序产品包含上 面存储有指令的计算机可读存储媒体,所述指令在执行时致使装置的一或多个处理器创建 掩模,所述掩模指示哪些像素群组不需要被加载到GMEM。掩模指示不需要将像素群组加载 到GMEM。所述指令进一步致使处理器在屏幕上呈现平铺块,包含基于来自掩模的指示加载 GMEM及基于来自掩模的指示跳过从GMEM的加载。
[0010] 随附图式及以下描述中陈述一或多个实例的细节。其它特征、目标及优点将从所 述描述及图式以及权利要求书而显而易见。
【附图说明】
[0011] 图1为说明可用以实施本发明的图形存储器加载掩模的实例计算装置的框图。
[0012] 图2为说明根据本发明中所描述的一或多个实例的实例GPU及存储器结构的框 图。
[0013] 图3为说明基于平铺块的呈现("分格")架构中的帧的平铺块的概念图。
[0014] 图4为说明根据本发明中所描述的一或多个实例的可实施图形处理管线的实例 的图形处理单元(GPU)的实例的框图。
[0015] 图5为说明根据本发明中所描述的一或多个实例的实例分格管线的框图。
[0016] 图6为说明光栅化的实例的图。
[0017] 图7为说明根据本发明中所描述的一或多个实例的实例方法的流程图。
【具体实施方式】
[0018] 本发明通常涉及图形处理,且更具体来说,涉及数据到图形存储器(GMEM)的加载 的操作的控制。因为将数据加载到GMEM可占据宝贵处理循环或其它宝贵装置资源,所以如 果不需要此加载,那么跳过将数据加载到GMEM可为有利的。
[0019] 除非已经由用以清除存储器的区域的"清除"命令或用以移动数据块的块传送 (Bit)命令显式地写入到例如GMEM等资源,驱动程序(例如,图形驱动程序)便可在执行任 何呈现命令(例如,绘制命令)之前将所有像素加载到GMEM中。清除及Bit命令将所呈现 的区的范围给予驱动程序,且因此通知驱动程序不需要加载的区。并无其它操作经由装置 驱动程序接口(DDI)给予驱动程序此暗示。实际上,应用程序将极经常地经由正常呈现命 令(例如,绘制)写入每一像素。借助于清除及Bit命令,应用程序知道显示器的已被"触 摸"的区域。在已对像素群组执行已知操作时触摸像素群组。举例来说,如果执行Bit致使 每一像素为蓝色,那么触摸每一像素,且系统知道每一像素为蓝色。在另一个实例中,像素 群组可形成例如三角形等基元,在光栅化期间,三角形的基元落在像素上时,触摸此像素群 组。换句话说,像素将用以绘制基元。
[0020] 因为应用程序知道其在Bit或清除命令之后"触摸"每一像素,所以其将不清除资 源,因为在技术上其为浪费的呈现操作,且将使应用程序在大多数平台上运行得更慢。驱动 程序当前不可能知道应用程序已呈现给每一像素,且因此必须将所有像素加载到GMEM中, 此举为昂贵的操作。换句话说,其占据系统资源。在一些n情形中,呈现时间的1/3可因 将这些像素加载到GMEM中而被浪费。
[0021] 在一个实例中,在其中例如像素尚未从其上一次所呈现的状况改变的状况下,对 于一或多个像素可避免从主存储器到GMEM的加载、GMEM中的呈现及到主存储器的回写。 这是因为这些未改变的像素的数据已经存储于主存储器中,且从一个时间到下一时间将不 会改变。因为数据未改变,所以皆可跳过从主存储器到GMEM的加载、GMEM中的呈现及到主 存储器的回写,因为在此处理之后,未改变的像素的存储于主存储器中的数据自身未改变。 举例来说,何时已对像素或像素群组执行已知操作(例如,绘制)以使得像素的状态已知, 且因此可确定是否需要改变像素。如果不需要改变,那么对于所述像素或像素群组,可跳过 GMEM加载。因此,根据本发明的一个实例,可创建图形存储器加载掩模,其指示哪一或哪些 像素不需要被加载到GMEM。此情形可允许对于尚未从其上一次所呈现的状况改变的像素, 避免或跳过从主存储器到GMEM的加载、GMEM中的呈现及到主存储器的回写。
[0022] 图1为说明可用以实施本文中所描述的图形存储器加载掩模的实例计算装置2的 框图。计算装置2可包括个人计算机、桌上型计算机、膝上型计算机、计算机工作站、平板计 算装置、视频游戏平台或控制台、无线通信装置(例如,移动电话、蜂窝式电话、卫星电话和 /或移动电话手持机)、陆线电话、因特网电话、手持式装置(例如,便携式视频游戏装置或 个人数字助理(PDA))、个人音乐播放器、视频播放器、显示装置、电视、电视机顶盒、服务器、 中间网络装置、主机计算机,或处理及/或显示图形数据的任何其它类型的装置。
[0023] 如图1的实例中所说明,计算装置2包含用户输入接口 4、CPU 6、存储器控制器8、 系统存储器10、图形处理单元(GPU) 12、GMEM 14、显示接口 16、显示器18和总线20。用户 输入接口 4、CPU 6、存储器控制器8、GPU 12及显示接口 16可使用总线20彼此通信。总线 20可为多种总线结构中的任一者,例如第三代总线(例如,超传输总线或无限带宽总线)、 第二代总线(例如,高级图形端口总线、外围组件互连(PCI)高速总线,或高级eXentisible 接口(AXI)总线)或另一类型的总线或装置互连件。应注意,图1中展示的不同组件之间 的总线及通信接口的特定配置仅是示范性的,且具有相同或不同组件的计算装置及/或其 它图形处理系统的其它配置可用于实施本发明的技术。
[0024] CPU 6可包括控制计算装置2的操作的通用或专用处理器。用户可将输入提供到 计算装置2以致使CPU 6执行一或多个软件应用程序。在CPU 6上执行的软件应用程序可 包含操作系统、字处理器应用程序、电子邮件应用程序、电子数据表应用程序、媒体播放器 应用程序、视频游戏应用程序、图形用户接口应用程序或另一程序。用户可经由一或多个输 入装置(未图示)(例如,键盘、鼠标、麦克风、触摸垫或经由用户输入接口 4耦合到计算装 置2的另一输入装置)将输入提供到计算装置2。
[0025] 在CPU 6上执行的软件应用程序可包含指示CPU 6以致使向显示器18呈现图形 数据的一或多个图形呈现指令。举例来说,软件可为不需要GPU 12使用深度缓冲器处理深 度信息的n。因此,深度缓冲器可用以实施根据本发明的技术的图形存储器加载掩模,如下 文将更详细地论述。
[0026] 在一些实例中,所述软件指令可符合图形应用编程接口(API),例如开放图形库 (OpcnGL K)API、开放图形库嵌入系统(OpenGL ES)API、Direct3D API、X3D API、DirectX API、RenderMan API、WebGL API或任何其它公共或专有标准图形API。为了处理图形呈现 指令,CPU 6可将一或多个图形呈现命令发出到GPU 12以致使GPU 12执行图形数据的呈 现的一些或全部。在一些实例中,待呈现的图形数据可包含例如点、线、三角形、四边形、三 角形带等图形基元的列表。
[0027] 存储器控制器8促进数据进出系统存储器10的传递。举例来说,存储器控制器8 可接收存储器读取及写入命令,且服务关于存储器系统10的此类命令以便为计算装置2中 的组件提供存储器服务。存储器控制器8通信地耦合到系统存储器10。虽然存储器控制器 8在图1的实例计算装置2中被说明为与CPU 6及系统存储器10两者分开的处理模块,但 在其它实例中,存储器控制器8的功能性中的一些或全部可实施于CPU 6及系统存储器10 中的一或两者上。
[0028] 系统存储器10可另外存储由计算装置2的其它组件使用及/或产生的信息。举 例来说,系统存储器10可充当用于GPU 12的装置存储器且可存储将在GPU 12上操作的 数据以及由GPU 12执行的操作而产
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1