当前位置: 首页 > 专利查询>辉达公司专利>正文

图形处理器,图形处理系统及产生图像的方法技术方案

技术编号:3024751 阅读:127 留言:0更新日期:2012-04-11 18:40
在图形处理器中,渲染目标程序与后处理目标程序共享对具有可编程执行核心的主机处理器的存取。所述渲染目标程序根据几何数据产生图像的片段数据。所述后处理目标程序运行以根据所述片段数据产生像素数据帧并将所述像素数据存储于帧缓冲器中。与所述主机处理器的操作并行地,扫描输出引擎读取先前所产生的帧的像素数据并将所述像素数据提供至显示装置。所述扫描输出引擎周期性地触发所述主机处理器,以操作所述后处理目标程序来产生下一个帧。可对所述扫描输出引擎与所述后处理目标程序之间的定时进行控制,以便当所述扫描输出引擎结束对当前帧的读取时,所要显示的下一个帧在帧缓冲器中准备就绪。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体而言涉及图形处理器,且具体而言,涉及使用可编程硬件进行的实时显示后处理。
技术介绍
基于计算机的图像渲染通常首先对景物进行几何表示。将各种物体描述为可置于景物中的“图元”(通常是例如三角形等简单的多边形,以及点及线)的集合。选择一取景座标系,并将这些图元变换至该座标系中。然后,将图元转换成二维(2-D)“片段”阵列表示形式,其中每一片段均具有颜色并可具有其他属性,例如深度座标或曲面法线。可在图元及/或片段级上引入照明、纹理、灰雾及各种其他会增强视觉真实性的效果。在渲染过程结束时,将每一片段的数据(一般至少是颜色值)存储于图像缓冲器中。所述图像缓冲器是通过一“扫描输出”过程读出,所述“扫描输出”过程等时地运行,以便以规定的屏幕刷新速率将像素递送至显示装置。实时动画要求渲染过程以约30Hz的速率递送新图像。典型的显示装置以约60-80Hz的屏幕刷新速率运行。为满足这些处理速率要求,许多计算机系统包括专用图形协处理器,其对由中央处理器(CPU)提供的数据实施渲染操作且还执行同步扫描输出操作来驱动显示装置。典型的图形处理器包括彼此不同步运行的渲染目标与扫描输出引擎。渲染目标程序为“后面”图像缓冲器中的新图像产生片段数据,而扫描输出引擎则使用“前面”图像缓冲器中先前经过渲染的图像来驱动显示器。当完成对新图像的渲染时,切换“后面”与“前面”缓冲器,以便扫描输出引擎开始显示新渲染的图像,而渲染目标程序则向前移至下一图像。一般而言,在对下一图像的渲染完成之前,扫描输出引擎可对同一图像读取两次或三次。渲染目标程序与扫描输出引擎在实施方案方面通常差别很大。渲染目标程序一般是灵活性的及可编程的。典型的渲染目标程序包括具有功能单元的执行核心(或若干个并行的执行核心),可指令所述功能单元执行任意的操作序列。通过适当编程,可使执行核心执行各种渲染算法的任意组合来产生特定图像,并可根据需要改变这些算法。相比之下,扫描输出引擎通常具有有限的处理能力且不可编程。而是,扫描输出引擎具有一序列管线式专用处理电路,片段数据即流经这些管线式专用处理电路,其中这些处理电路实施各种操作来将片段数据变换成像素值。举例来说,某些扫描输出引擎支持加法覆盖(例如光标或视频覆盖),其可以高于所渲染图像的速率进行更新;颜色修正(例如γ修正,以虑及显示响应中的非线性);或者对片段数据的过滤,以与屏幕上的像素数量相匹配(例如以实现图形保真)。所述专用电路一般设计成以固定延迟工作,以确保等时地将像素数据递送至显示装置。在某些处理器中,可启用或禁用各种扫描输出—时间操作(例如可将覆盖接通或断开)或改变操作的参数(例如γ修正的参数或覆盖的位置)。但是,由于每一操作均是在不同的专用电路中实施,因而一般不可能在不建构不同扫描输出引擎的情况下在管线中添加新的操作、改变操作顺序、或改变用于实施特定操作的算法。因此,扫描输出引擎的重新配置能力非常有限。添加新的特征一般需要对电路进行改动,而此可能会影响芯片面积及排程、最大成本及延迟。随着实时渲染技术的持续进步,越来越需要一种可在显示速率下添加各种效果的、功能更强大且更灵活的扫描输出引擎。此外,图形处理器可驱动的显示装置的范围也已最大;除传统的CRT监视器之外,图形处理装置还可用于驱动LCD监视器、数字微镜投影仪、等离子体监视器、等等。每一类型的显示装置均对其像素的驱动具有不同的要求,且很难在单个硬件管线中适应所有这些要求。因此,非常希望在片段-像素转换过程中具有更大的灵活性。因此,希望使图形处理器具有以显示步调来执行任意操作序列的能力。
技术实现思路
本专利技术的实施例提供图形处理器,在所述图形处理器中,渲染目标程序与后处理目标程序通过可编程的执行核心来共享对主机处理器的存取。所述渲染目标程序运行以根据几何数据来产生图像的片段数据并将所述片段数据写入至图像缓冲器。所述后处理目标程序运行以根据一个或多个填满的图像缓冲器中的所述片段数据来产生像素数据帧,并将所述像素数据写入至帧缓冲器中。与主机处理器的操作并行地,扫描输出引擎从帧缓冲器中读取先前所产生帧的像素数据,并将所述像素数据提供至显示装置。所述扫描输出引擎周期性地触发所述主机处理器来操作所述后处理目标程序产生下一个帧。较佳对所述扫描输出引擎与所述后处理目标程序之间的定时进行控制,以在所述扫描输出引擎结束对当前帧的读取时,要显示的下一个帧已在帧缓冲器中准备就绪。根据本专利技术的一个方面,一种图形处理器包括可编程执行核心、仲裁单元、及扫描输出引擎。所述可编程执行核心配置成可在若干上下文之间进行切换,并进一步经配置以执行与被切换到的上下文相关联的执行程序指令。所述仲裁单元耦接至所述执行核心,且经配置以控制所述执行核心在不同上下文之间的切换。所述扫描输出引擎经配置以将所产生的像素数据帧等时地传输至显示端口,并经耦接以周期性地将触发信号传输至所述仲裁单元。所述上下文包括渲染上下文,其具有用于产生图像数据的第一程序指令序列与其相关联;及后处理上下文,其具有用于根据所述图像数据来产生像素数据帧的程序指令与其相关联。所述仲裁单元进一步经配置以响应于所述触发信号而将所述执行核心切换至所述后处理上下文。在某些实施例中,所述扫描输出引擎进一步配置成使所述触发信号相对于帧事件的结束具有实质固定的时间关系。在某些实施例中,所述仲裁单元进一步经配置以使所述执行核心保持于所述后处理上下文中,直至在所述第二程序指令流中检测到帧终止事件为止,并在此后将所述执行核心切换至所述渲染上下文。所述帧结束事件可例如对应于在所述第二程序指令流中出现一指向所述第二程序指令流的起点的无条件跳转指令。根据本专利技术的另一方面,提供一种用于产生图像的方法。在处理器的共享执行核心中,操作渲染目标程序;所述渲染目标程序响应于第一程序指令序列而产生图像的片段数据。与操作所述渲染目标程序并行地,操作扫描输出引擎以将像素数据帧等时地递送至显示装置;所述扫描输出引擎周期性地产生触发信号。响应于所述触发信号,在所述处理器的共享执行核心中操作后处理目标程序;所述后处理目标程序响应于第二程序指令序列而根据一个或多个图像的片段数据来产生新的像素数据帧,且可将所述新的像素数据帧提供至所述扫描输出引擎。在某些实施例中,所述第二程序指令序列可例如包括用于对图像的所述片段数据进行下降过滤的指令;用于对图像的所述片段数据进行升高过滤的指令;用于为所述帧中每一像素计算一LCD过激励值的指令;及/或用于使用两个或更多个不同图像的片段数据来形成合成图像的指令。根据本专利技术的再一方面,一种图形处理系统包括图像缓冲器、帧缓冲器及多处理器。每一图像缓冲器经配置以存储图像的片段数据,且每一帧缓冲器经配置以存储帧的像素数据。所述多处理器包括可编程执行核心、仲裁单元、及扫描输出引擎。所述可编程执行核心配置成可在若干上下文之间进行切换,以便所述执行核心执行与被切换到的上下文相关联的程序指令。所述仲裁单元耦接至所述执行核心,且经配置以控制所述执行核心在不同上下文之间的切换。所述扫描输出引擎经配置以将像素数据帧等时地从所述帧缓冲器传输至显示端口,并经耦接以周期性地将触发信号传输至所述多处理器的仲裁单元。所述上下文包括渲染上下文,其具有用于产生图像的片段数据及将每一图像的所述本文档来自技高网
...

【技术保护点】
一种图形处理器,其包括:多处理器,其经配置以执行多个目标程序,包括:渲染目标程序,其经配置以执行第一程序指令序列以用于产生图像数据;及后处理目标程序,其经配置以执行第二程序指令序列以用于从所述图像数据中产生像素数据帧;其中所述多处理器包括仲裁单元,所述仲裁单元经配置以控制所述多个目标程序的执行,及扫描输出引擎,其经配置以将所产生像素数据帧等时地传输至显示端口,并经耦接以周期性地将触发器信号传输至所述仲裁单元,其中所述仲裁单元进一步经配置以操作所述后处理目标程序,以响应于所述触发器信号而产生新的像素数据帧。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:邓肯A里亚赫约翰M丹斯金乔纳M阿尔本迈克尔A奥格林茨安东尼迈克尔塔马西
申请(专利权)人:辉达公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利