[发明专利]执行并行着色操作有效
申请号: | 201010535140.0 | 申请日: | 2010-11-03 |
公开(公告)号: | CN102054265B | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | T·G·阿克宁-穆勒;R·P·萨特 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 永新专利商标代理有限公司72002 | 代理人: | 赵腾飞,王英 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 并行 着色 操作 | ||
背景技术
本发明总体上涉及基于处理器的系统,并更加具体地,涉及进行图形处理的基于处理器的系统。在图形处理中,可以操纵电子数据以呈现用于显示在计算机显示器上的图形图像。
剔除算法被用在计算机图形学中以避免执行不必要的工作。例如,可编程的剔除消除了实际永远不会在最终的描绘中出现的图形元素所需要的处理。被其它元素遮挡的图形元素永远不会出现在实际的最终描绘中,然而对那些元素的处理却可能消耗处理带宽并对性能产生不利影响。对不在视锥体中的对象不需要进行处理。类似地,对不显示在图形描绘中的表面上的特征不需要进行处理。
剔除着色器针对多个元素(例如像素或顶点)而自动生成,并针对每组图元而被读取一次以确定是否剔除一个组中的所有元素。例如,可以做出是否一次性剔除多个像素的决定。在被称为图块的像素组上执行剔除测试,这样如果一个图块被剔除,那么在该图块中没有像素需要被着色或者在该图块中的每个像素都可以执行更短且更有效的着色器。为了剔除面片(patch)内部的多个点,对保守的界限或多点包围进行剔除测试。
典型的剔除算法由于其需要额外的处理而导致一些开销成本。因此,存在由于剔除算法所造成的性能下降,即使如此,从净出上看,当剔除实际上消除了图块或顶点组时,这些算法导致了性能的提升。
附图说明
图1为对根据本发明的一个实施例的可编程的图形管线的概要性描绘;
图2为对根据本发明的一个实施例的双核心处理器体系结构的描绘;
图3为针对本发明的一个实施例的流程图;以及
图4为针对一个实施例的系统描绘。
具体实施方式
在一些实施例中,图形处理核心可以包括至少两个或更多个管道(pipe)。根据一些实施例,可以在一个管道上执行较低频率的操作(较不经常发生的操作),而同时在另一个管道上执行同一个指令流中的较高频率的操作。在一些情况下,较低频率的操作的结果可以被保持以供稍后在另一个管道上的较高频率的操作中使用。在一些情况下可以提升效率,在这些情况中有可能使用较低频率管道中未被使用的时隙(slot)来执行操作,这些操作协助在较高频率管道中执行的操作。
有可能存在许多这种并行性的例子。例如,较低频率的操作可以是剔除着色器,而较高频率的操作可以是像素着色器。较低频率的操作可以是固定功能剔除操作,例如视锥体剔除操作或背面剔除操作,而较高频率的操作可以是光栅化。再如另一个示例,较低频率的操作可以是几何着色,而较高频率的操作可以是像素着色。一般来说,在图形管线(pipeline)中的任何操作都可以并行地运行。如本文所使用的,并行运行的意思是,在图形管线的至少两个不同管道上的操作是同一个指令流的组成部分并且被同时执行。
在一些情况下,图形管线可以包括一个或多个管道,这些管道中的一个管道比其它管道宽。例如,在一个实施例中,一个管道可以是16道宽而另一个管道可以是1道宽。可以在较宽的管道上执行较高频率的操作而在较窄的管道上执行较低频率的操作。然而,可以存在具有各种宽度的任何数量的管道。在下面的讨论中给出了一个示例,在这个示例中,在较低频率管道中执行剔除着色,而在较高频率管道中执行像素着色。这是一个极其具有优势的实施例,因为它在当通过使用较低频率管道上的原本不被使用的时隙而使剔除着色可以与像素着色同时被执行时,可以实现只有很少或没有开销的剔除着色。然而,本发明并不局限于此,并且可以应用到任何数量的管道、任何多样的管道宽度以及以不同频率并行执行的各种操作中的任何操作。
根据一些实施例,可以并行地执行实际的顶点或像素着色器程序。在双管线体系结构中,一条管线,被称为U管线或U-管道,负责执行主要指令,而第二条更受限制的管道,被称为V管线或V-管道,负责执行标量指令。标量指令一次对单独一个元素进行操作。U-管道对一次处理多个数据项的矢量操作进行操作。
在典型的图形管线中,可编程的着色器阶段可以是工作量的主导部分。由于工作量的高吞吐量,这些着色器被编译为运行在U-管道上的代码,一次处理多个元素。需要一些标量指令来用来粘合这些矢量操作,但是存在未被利用的空时隙。这些空时隙可以被利用以执行针对下一个图块或绘图调用的剔除着色器程序。
“绘图调用”是一个状态集合以及一组几何体,从而可以使用一个(或至少是很少量的)应用程序接口调用来将整个组和状态经由应用程序接口送入图形卡,节约了开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010535140.0/2.html,转载请声明来源钻瓜专利网。