具有深度引擎的动态复位的图形系统的制作方法

文档序号:6454792阅读:214来源:国知局
专利名称:具有深度引擎的动态复位的图形系统的制作方法
技术领域
本发明大体上涉及一种图形系统,且更具体地说,涉及一种具有深度引擎的动态复 位的图形系统。
M双A
图形系统可渲染用于例如视频游戏、图形、计算机辅助设计(CAD)、模拟和可视 化工具、成像等各种应用的2维(2-D)和3维(3-D)图像。可用表面来模拟3-D图像。 可用多边形来近似表示每个表面,所述多边形通常是三角形。用于表示3-D图像的三角 形的数目可视表面的复杂性和图像的所需分辨率而定。三角形的数目可以相当大,例如 数百万个三角形。每个三角形由三个顶点界定。每个顶点可与例如空间坐标、色彩值和 纹理坐标的各种属性相关联。每个属性可具有三个或四个分量。举例来说,空间坐标通 常由水平(x)、垂直(y)和深度(z)坐标给出。色彩值通常由红色、绿色和蓝色(r、 g、 b)值给出。纹理坐标通常由水平和垂直坐标(u和v)给出。
图形系统中的图形处理器可执行各种图形操作以渲染2-D或3-D图像。所述图像可 由许多三角形组成,且每个三角形由图片元素(即,像素)组成。所述图形处理器通过 确定每个三角形内的每个像素的分量值来渲染所述三角形。图形操作可包含光栅化、纹 理映射、着色等。

发明内容
图形系统可包含图形处理器,其具有处理单元,所述处理单元执行各种图形操作以 渲染图形图像。
一个方面涉及- 一种设备,所述设备包括多个单元,其经配置以处理图形图像;以 及深度引擎,其经配置以接收和处理基于选择值而从两个单元中的一者选择的数据。
另一方面涉及一种机器可读存储媒体,其存储一组指令,包括使用若千图形处理 模块来处理图形图像;以及基亍选择值而选择性地将数据输入从两个单元中的一者切换
到深度引擎。
另 一方面涉及---种设备,所述设备包括多个用于处理图形图像的装置;以及用于接收和处理基于选择值而从两个单元中的一者选择的数据的深度测试装置。
另一方面涉及一种方法,所述方法包括使用若千图形处理模块来处理图形图像; 接收选择值;以及基于所述选择值而选择性地将数据输入从两个单元中的一者切换到深 度引擎。


图1说明无线通信装置。
图2说明图1的无线装置内的图形处理器的组件。
图3说明具有两个深度引擎的图形处理器的另一配置。
图4说明具有深度引擎的动态复位的图形处理器的另--,配置。
具体实施例方式
图1说明无线通信装置100,其可在无线通信系统中使用。装置ioo可以是蜂窝式
电话、终端、手机、个人数字助理(PDA)、膝上型计算机、视频游戏单元或某一其它 装置。装置100可使用码分多址(CDMA)、时分多址,例如全球移动通信系统(GSM) 或某 -其它无线通信标准。
装置100可经由接收路径和传输路径提供双向通信。在接收路径上,- 个或 --个以 上基站所传输的信号可由天线112接收,且被提供给接收器(RCVR) 114。接收器114 调节和数字化接收到的信号,且向数字部分120提供样本以供进一步处理。在传输路径 上,传输器(TMTR) 116接收待从数字部分120传输的数据,处理并调节所述数据, 并产生经调制的信号,其经由天线112传输到一个或---个以上基站。
可用一个或一个以上数字信号处理器(DSP)、微处理器、精简指令集计算机(RISC) 等来实施数字部分120。数字部分120还可制造在一个或一个以上专用集成电路(ASIC) 或某一其它类型的集成电路(IC)上。
数字部分120可包含各种处理和接口单元,例如调制解调器处理器122、视频处理 器124、应用程序处理器126、显示处理器128、控制器/处理器130、图形处理器140 和外部总线接口 (EBI) 160。
调制解调器处理器122执行用于数据传输和接收的处理,例如编码、调制、解调和
解码。视频处理器124可对视频应用(例如摄像放像机(camcorder)、视频重放和视频
会议)的视频内容(例如,静止图像、移动视频和移动文本)执行处理。应用程序处理
器126针对例如多向呼叫、web浏览、媒体播放器和用户接口的各种应用执行处理。显示处理器128可执行处理以促进视频、图形和文本在显示单元180上的显示。控制器/ 处理器130可指导数字部分120内的各种处理和接口单元的操作。
高速缓冲存储器系统150可存储用于图形处理器140的数据和/或指令。EBI 160促 进数据在数字部分120 (例如,高速缓冲存储器)与主存储器170之间的转移。
图形处理器140可针对图形应用而执行处理,且可如本文所描述那样实施。 一般来 说,图形处理器140可包含用于任何一组图形操作的任何数目的处理单元或模块。图形 处理器40及其组件(下文以图2到图4描述)可在各种硬件单元中实施,所述硬件单 元例如ASIC、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵 列(FPGA)、处理器、控制器、微控制器、微处理器和其它电子单元。
图形处理器140的某些部分可在固件和/或软件中实施。举例来说,可用执行本文所 描述的功能的固件和/或软件模块(例如,程序、函数等等)来实施控制单元。固件和/ 或软件代码可存储在存储器(例如,图1中的存储器170)中,且由处理器(例如,处 理器130)执行。存储器可在处理器内或在处理器外部实施。
图形处理器140可实施软件接口,例如开放式图形库(开放式GL)、直接3D等。 在公开可获得的日期为2004年10月22日的题为"开放式GL⑧图形系统说明书(The OpenGL Graphics System: A Specification)"版本2.0中描述开放式GL。
图2说明图1的无线装置100内的图形处理器40的一种配置140A的---些组件或 处理单元。图2可表示GPU(图形处理单元)的前部。每个处理单元可以是以专用硬件、 处理器或两者的组合实施的引擎。举例来说,可用专用硬件来实施图2中所示的引擎, 而可用可编程中央处理单元(CPU)或内建处理器来实施碎片着色器214。
在其它配置中,可视所需的优化而定以各种次序来布置处理单元200到216。举例 来说,为了节省功率,可能希望较早在管线中执行模板和深度测试,使得不可见的像素 较早被丢弃,如图2中所示。作为另一实例,模板和深度引擎206可位亍纹理映射引擎 212之后,如图3中所示。
在图2中,各种处理单元200到216布置在管线中,以渲染2-D和3D图像。代替 图2中所示的单元或除图2中所示的单元之外,图形处理器140A的其它配置可包含其 它单元。
命令引擎200可接收并解码传入的指定待执行的图形操作的渲染命令或指令。三角 形位置和z设置引擎202可计算用于随后的光栅化过程的必要参数。举例来说,三角形 位置和z设置引擎202可计算用于每个三角形的三条边的线性等式的系数、用于深度(z) 斜率的系数等。三角形位置和z设置引擎202可被称为图元设置,其进行视口变换和图元组合、对剪切窗口的图元拒绝以及背面剔除(backface culling)。
光栅化引擎204 (或扫描转换器)可将每个三角形或每条线分解成像素,并针对每 个像素产生屏幕坐标。
深度引擎206可对每个像素执行模板测试,以确定是否应显示或丢弃像素。模板缓 冲器可存储正被渲染的图像中每个像素位置的当前模板值。深度引擎206可将每个像素 的所存储的模板值与参考值进行比较,且基于所述比较而保留或丢弃所述像素(例如, 产生通过或失败旗标)。
如果适用的话,深度引擎206还可对每个像素执行深度测试(也称为z测试),以 确定是否应显示或丟弃所述像素。z缓冲器存储正被渲染的图像中的每个像素位置的当 前z值。深度引擎206可将每个像素的z值(当前z值)与z缓冲器中的对应z值(所 存储的z值)进行比较,基亍所述比较而产生通过或失败旗标,显示所述像素,且更新 z缓冲器以及可能模板缓冲器(如果当前z值比所存储的z值更靠近/更近的话)。如果当 前z值比所存储的z值更远,那么深度引擎206可丢弃所述像素。此早期深度/模板测试 和操作可拒绝可能的不可见像素/图元。
属性设置引擎208可计算用于像素属性的随后插入的参数。举例来说,属性设置引 擎208可计算用于属性插入的线性等式的系数。像素插入引擎210可基于像素的屏幕坐 标和来自属性设置引擎208的使用信息来计算用于每个三角形内的每个像素的属性分量 值。属性设置引擎208和像素插入引擎210可组合在属性内插器中,以在每一可见图元 的像素上进行内插。
纹理映射引擎(或纹理引擎)212可执行纹理映射(如果启用的话),以将纹理应用 于每个三角形。纹理图像可存储在纹理缓冲器中。每个三角形的三个顶点可与纹理图像 中的三个( ,v)坐标相关联,且三角形的每个像素于是可与纹理图像中的特定纹理坐 标相关联。可通过用每个像素的纹理坐标所指示的位置处的纹理图像的颜色修改所述像 素的颜色来实现纹理化。
每个像素与例如颜色、深度、纹理等信息相关联。"碎片"是像素及其相关联的信 息。碎片着色器214可将包括指令序列的软件程序应用于每个碎片。碎片着色器214可 修改z值。碎片着色器214可产生对是否丢弃像素的测试,并将测试结果发送到深度引 擎206。碎片着色器214还可将纹理请求发送到纹理映射引擎212。
碎片引擎216可完成最终像素渲染,且对每个碎片执行例如阿尔法测试(如果启用
的话)、雾化融合、阿尔法融合、逻辑运算和抖动操作等功能,且将结果提供给色彩缓
冲器。如果启用阿尔法测试,那么碎片引擎216可将阿尔法测试的结果发送给深度引擎216,其可确定是否显示像素。
如在图2中那样在早期阶段执行深度测试可节约功率和带宽。图形处理器140A不 需要浪费计算功率和存储器带宽来对那些不可见像素执行属性设置、像素插入、纹理拾 取和应用着色器程序。
然而,些着色器程序修改深度值。图3说明在碎片着色器214之后执行深度测试 300且停用早期深度引擎206的图形处理器140B。在管线中具有两个完全相同的深度引 擎206, 300在设计中构成了冗余性,这对功率和微芯片面积不利。
图4说明通过设计具有一个深度引擎400的图形处理器140C而实现的对此问题的 解决方案,所述深度引擎400可基于图形应用而动态地切换或复位到早期Z测试位置或 后着色器。图形应用可进行早期深度(z)测试,或在着色器z值修改之后进行后期深 度测试。图形处理器140C中的软件或数字部分120可事先知道着色器程序。
图4中的"早期z"输入可以是一位二进制值(1或0),以指示早期z或非早期z。 如果选择"早期z",那么第一多路复用器402将数据从光栅化引擎204传递到深度引擎 400,且第二多路复用器404将数据从深度引擎400传递到属性设置引擎208。图4中的 多路复用器402、 404和406可由例如开关等其它组件来实施。
如果不选择"早期z",那么第二多路复用器404将数据从光栅化引擎204传递到属 性设置引擎208,且第 一多路复用器402将数据从碎片着色器214传递到深度引擎400。 第三多路复用器406可将数据从深度引擎400传递到另一组件,例如碎片引擎216。
图4中的图形处理器140C具有支持早期Z和经着色器修改的Z情况的灵活性。与 图3相比,图形处理器140C不需要建立两个完全相同的深度引擎。
本文所描述的图形系统可用于无线通信、计算、联网、个人电子装置等。所属领域 的技术人员将容易明白对上文所描述的实施例的各种修改,且在不脱离本发明的精神或 范围的情况下,本文所定义的一般原理可应用于其它实施例。因此,本发明不希望限于 本文所展示的实施例,而是应被赋予与本文所揭示的原理和新颖特征一致的最宽范围。
权利要求
1. 一种设备,其包括多个单元,其经配置以处理图形图像;以及深度引擎,其经配置以接收和处理基于选择值而从两个单元中的一者选择的数据。
2. 根据权利要求1所述的设备,其中所述深度引擎经配置以对每个像素执行模板测 试,以确定是否丢弃所述像素,所述模板测试包括将每个像素的所存储的模板值与 参考值进行比较。
3. 根据权利要求1所述的设备,其中所述深度引擎经配置以接收阿尔法测试结果和碎片着色器测试结果中的至少一者,对每个像素执行模板测试,且确定是否显示所述 像素。
4. 根据权利要求1所述的设备,其中所述深度引擎经配置以对每个像素执行深度测 试,以确定是否丢弃所述像素,所述深度测试包括将每个像素的当前z值与缓冲器 中所存储的对应z值进行比较,以及基于所述比较而确定是否丢弃所述像素。
5. 根据权利要求1所述的设备,其中所述深度引擎经配置以接收阿尔法测试结果和碎 片着色器测试结果中的至少一者,对每个像素执行深度测试,且确定是否显示所述 像素,所述深度测试包括将每个像素的当前z值与缓冲器所存储的对应z值进行比 较。
6. 根据权利要求1所述的设备,其中所述多个单元包括命令引擎、三角形位置和z设 置单元、光栅化引擎、属性设置引擎、像素插入引擎、纹理引擎和碎片着色器中的 至少两者。
7. 根据权利要求1所述的设备,其中所述两个单元包括光栅化引擎和碎片着色器。
8. 根据权利要求1所述的设备,其中所述碎片着色器经配置以执行修改z值和丢弃像 素中的至少一者。
9. 根据权利要求1所述的设备,其进 -步包括切换装置,其用以接收所述选择值且选 择性地将数据从第一单元或第二单元传递到所述深度引擎。
10. 根据权利要求l所述的设备,其中所述设备是移动电话。
11.一种机器可读存储媒体,其存储一组指令,所述指令包括 使用若干图形处理模块来处理图形图像;以及基于选择值而选择性地将数据输入从两个单元中的 者切换到深度引擎。
12. 根据权利要求n所述的机器可读存储媒体,其中所述两个单元包括光栅化引擎和碎片着色器。
13. —种设备,其包括多个用于处理图形图像的装置;以及用于接收和处理基于选择值而从两个单元中的 者选择的数据的深度测试装置。
14. 根据权利要求13所述的设备,其中所述两个单元包括光栅化引擎和碎片着色器。
15. —种方法,其包括使用若千图形处理模块来处理图形图像;接收选择值;以及基于所述选择值而选择性地将数据输入从两个单元中的 者切换到深度引擎。
16. 根据权利要求15所述的方法,其进一步包括对每个像素执行模板测试,以确定是 否丢弃所述像素,所述模板测试包括将每个像素的所存储的模板值与参考值进行比 较。
17. 根据权利要求15所述的方法,其进 步包括接收阿尔法测试结果和碎片着色器测试结果中的至少一者; 对每个像素执行模板测试;以及 确定是否显示所述像素。
18. 根据权利要求15所述的方法,其进一步包括对每个像素执行深度测试,以确定是 否丢弃所述像素,其中所述深度测试包括将每个像素的当前z值与缓冲器中所存储 的对应z值进行比较。
19. 根据权利要求15所述的方法,其进一歩包括接收阿尔法测试结果和碎片养色器测试结果中的至少一者;对每个像素执行深度测试,其中所述深度测试包括将每个像素的当前z值与缓冲 器中所存储的对应Z值进行比较;以及基于所述深度测试,确定是否显示所述像素。
20. 根据权利要求15所述的方法,其中所述模块包括命令引擎、三角形位置和z设置 单元、光栅化引擎、属性设置引擎、像素插入引擎、纹理引擎和碎片养色器中的至 少两者。
21. 根据权利要求15所述的方法,其中所述两个单元包括光栅化引擎和碎片着色器。
22. 根据权利要求15所述的方法,其中所述碎片着色器经配置以执行修改z值和丢弃 像素中的至少-- 者。
全文摘要
一种图形系统包含图形处理器,其包括多个经配置以处理图形图像的单元;以及深度引擎,其经配置以接收和处理基于选择值而从两个单元中的一者选择的数据。
文档编号G06T15/00GK101443818SQ200780017169
公开日2009年5月27日 申请日期2007年5月15日 优先权日2006年5月16日
发明者春 于, 布莱恩·鲁藤伯格, 云 杜, 焦国方 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1