识别输入索引流中的基元制造技术

技术编号:21519538 阅读:33 留言:0更新日期:2019-07-03 10:45
公开了用于从界定将要渲染的一组基元的索引流中移除复位索引并且识别所述索引流中的基元的技术。可以由在中央处理单元上执行的应用程序来指定所述索引流。所述技术涉及将所述索引流的基元拓扑分类为需要基于偏移的技术或需要非基于偏移的技术。通过根据基元拓扑确定每个后续的索引是否可以与先前的索引形成基元(例如,线带、三角带)来完成此分类。如果每个后续的索引可以与先前的索引形成基元,那么所使用的技术是非基于偏移的技术。如果每个后续的索引不与先前的索引形成基元,而是需要至少两个索引来形成新的基元(例如,线列表、三角列表),那么所使用的技术是基于偏移的技术。

Identifying Primitives in Input Index Stream

【技术实现步骤摘要】
【国外来华专利技术】识别输入索引流中的基元对相关申请的交叉引用本申请要求2016年11月17日提交的美国专利申请No.15/354,513和2016年11月24日提交的欧洲申请No.EP16200463.4的权益,所述申请以引用的方式并入,就好像在本文完全阐述一样。
所公开的实施方案大体针对于图形处理,并且具体来说,针对于识别输入索引流中的基元。
技术介绍
用于渲染三维图形的硬件接受指定向屏幕绘制的基元的输入。此输入的至少部分包括参考顶点的索引,所述顶点指定基元的形状、位置和属性。通常需要将这些索引从用户提供的格式处理成更适合于在图形硬件上使用的格式。图形硬件通常是巨量并行的,因为渲染的动作涉及大量类似但独立的操作(例如,计算不同像素的色彩值,转变不同顶点的位置等)。为了能够向巨量并行处理单元提供将要高度利用的足够的负荷,应快速且有效地处理输入索引。附图说明通过结合附图借助示例给出的以下描述,可以得到更详细的理解,附图中:图1是可以在其中实施一个或多个所公开的实施方案的示例性装置的框图;图2是根据示例的加速处理装置的框图;图3是示出在图2中所说明的图形处理管线的额外细节的框图;图4是根据示例的各种基元拓扑的说明;图5是根据示例用于在给定特定基元拓扑的情况下从可以包括复位索引的一组索引中识别基元的方法的流程图;图6说明用于从索引块识别基元的基于偏移的技术的示例性应用;图7是根据示例用于在给定特定基元拓扑的情况下从可以包括复位索引的一组索引中识别基元的方法的流程图;以及图8说明用于从索引块识别基元的非基于偏移的技术的示例性应用。具体实施方式本公开针对于用于从界定将要渲染的一组基元的索引流中移除复位索引并且识别所述索引流中的基元的技术。可以从图形卡外部的中央处理单元接收所述索引流,并且可以由在中央处理单元上执行的应用程序来指定所述索引流。所述技术涉及将所述索引流的基元拓扑分类为需要基于偏移的技术或需要非基于偏移的技术。通过根据基元拓扑确定每个后续的索引是否可以与先前的索引形成基元(例如,线带、三角形带)来完成此分类。如果每个后续的索引可以与先前的索引形成基元,那么所使用的技术是非基于偏移的技术。如果每个后续的索引不与先前的索引形成基元,而是需要至少两个索引来形成新的基元(例如,线列表、三角形列表),那么所使用的技术是基于偏移的技术。非基于偏移的技术涉及识别索引流中的可能是基元的索引的每个分组并且移除包括复位索引的所有此类分组。基于偏移的技术更复杂并且涉及从索引流计算根据其获得输出基元的偏移。所述偏移与索引流中的复位索引的位置相关。为了确定所述偏移,首先通过根据基元拓扑识别可能是基元的每个索引分组来识别一组初始候选基元,并且不关注复位索引的位置。随后,对于每个初始的候选基元,确定那个基元中的最新的复位索引的位置。位置的范围是从0到基元的大小减去1,开始于最新的索引。使用这些位置来识别最终的候选基元。更具体来说,产生一组最终的候选基元,每个最终的候选基元对应于不同的初始的候选基元。向每个最终的候选基元指派等于前一初始的候选基元中的复位索引的位置的偏移,或者,如果初始的候选基元不具有复位索引,那么将所述偏移指派给前一最终的候选基元。使用所述偏移来识别最终的候选基元的索引。更具体来说,将任何特定的最终的候选基元的索引识别为将在以下情况下产生的索引:使输入索引流中的输入索引的位置朝向更老的索引移位了等于指派给最终的候选基元的偏移的数目个索引。举例来说,如果向最终的候选基元指派偏移1,那么向最终的候选基元指派索引流的比指派给初始的候选基元的索引老一个的索引。在说明性示例中,如果索引流包括索引1、R、3、4、5、6(其中“R”是复位索引),初始的候选基元是[4,5,6],并且对应的最终的候选基元具有偏移1,那么最终的候选基元具有向初始的候选基元的索引的左边移位一的索引(其为索引3、4和5)。一旦获得最终的候选基元,移除具有复位索引的基元,并且剩余的是输出基元,输出以供在图形处理管线中使用。图1是其中实施本公开的一个或多个方面的示例性装置100的框图。装置100包括(例如)计算机、游戏装置、手持装置、机顶盒、电视机、移动电话或平板计算机。装置100包括处理器102、存储器104、存储装置106、一个或多个输入装置108和一个或多个输出装置110。装置100还包括分别驱动输入装置108和输出装置110的输入驱动器112和输出驱动器114。应理解,装置100可以包括在图1中未示出的额外部件。处理器102包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一裸片上的CPU和GPU,或一个或多个处理器核心,其中每个处理器核心可以是CPU或GPU。存储器104位于与处理器102相同的裸片上,或者可以与处理器102分开地定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM,或缓存。存储装置106包括固定或可移除的存储装置,例如硬盘驱动器、固态驱动器、光盘,或闪存驱动器。输入装置108包括键盘、小键盘、触摸屏、触摸垫、检测器、麦克风、加速度计、陀螺仪、生物识别扫描仪,或网络连接(例如,用于传输和/或接收无线IEEE802信号的无线局域网卡)。输出装置110包括显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线,或网络连接(例如,用于传输和/或接收无线IEEE802信号的无线局域网卡)。输入驱动器112与处理器102和输入装置108通信,并且准许处理器102从输入装置108接收输入。输出驱动器114与处理器102和输出装置110通信,并且准许处理器102将输出发送到输出装置110。输出驱动器114包括耦合到显示装置118的加速处理装置(“APD”)116。APD116被配置成从处理器102接受计算命令和图形渲染命令、处理那些计算和图形渲染命令,并且向显示装置118提供像素输出以供显示。APD116包括被配置成根据单指令多数据(“SIMD”)范式执行计算的一个或多个并行处理单元。然而,描述成由APD116执行的功能性还可以由不根据SIMD范式来处理数据的处理装置执行。图2是根据示例的加速处理装置116的框图。处理器102在系统存储器104中维持一个或多个控制逻辑模块以供处理器102执行。控制逻辑模块包括操作系统120、驱动器122和应用126。这些控制逻辑模块控制处理器102和APD116的操作的各个方面。举例来说,操作系统120直接与硬件通信并且为在处理器102上执行的其他软件提供到硬件的接口。驱动器122通过向在处理器102上执行的软件(例如,应用126)提供应用编程接口(“API”)来控制APD116的操作,以访问APD116的各种功能性。驱动器122还包括即时编译器,其编译着色器程序以供APD116的处理部件(例如,在下文进一步详细论述的SIMD单元138)执行。APD116执行选定功能的命令和程序,例如可以适合于并行处理的图形操作和非图形操作。APD116可以用于执行图形管线操作,例如像素操作、几何计算,并且基于从处理器102接收的命令而向显示装置118渲染图像。APD116还基于从处理器102接收的命令或不是图形处理管线134的“正常”信息流的部分的命令而执行不与图形操作直接相关(或不本文档来自技高网...

【技术保护点】
1.一种用于从一组索引识别基元的方法,所述方法包括:识别所述一组索引的基元拓扑,其中所述基元拓扑指定在基元中包括的索引的数目;从所述一组索引识别候选基元,所述候选基元各自包括根据所述基元拓扑在基元中包括的所述数目个索引;丢弃包括复位基元的候选基元以获得输出基元;以及将所述输出基元转发到世界空间管线以进行每基元处理。

【技术特征摘要】
【国外来华专利技术】2016.11.24 EP 16200463.4;2016.11.17 US 15/354,5131.一种用于从一组索引识别基元的方法,所述方法包括:识别所述一组索引的基元拓扑,其中所述基元拓扑指定在基元中包括的索引的数目;从所述一组索引识别候选基元,所述候选基元各自包括根据所述基元拓扑在基元中包括的所述数目个索引;丢弃包括复位基元的候选基元以获得输出基元;以及将所述输出基元转发到世界空间管线以进行每基元处理。2.如权利要求1所述的方法,所述方法还包括:确定所述基元拓扑是以下类型,其中在一连串索引中,新的基元不是使用每个后续的单个索引而形成;以及响应于所述确定,通过以下方式从所述一组索引识别所述候选基元:基于所述一组索引中的复位索引的一个或多个位置而识别一个或多个偏移,以及基于所述一个或多个偏移而识别包括所述候选基元的索引。3.如权利要求2所述的方法,其中识别所述一个或多个偏移包括:从所述一组索引识别一组初始的候选基元,每个初始的候选基元对应于所述候选基元中的不同的候选基元;以及基于所述初始的候选基元内的复位索引的存在和位置而将偏移指派给所述候选基元。4.如权利要求3所述的方法,其中将偏移指派给候选基元包括:确定与紧接在所述候选基元前面的候选基元相对应的初始的候选基元是否包括至少一个复位索引;以及如果所述初始的候选基元包括至少一个复位索引,那么指派所述偏移作为所述初始的候选基元中的最新的复位索引的位置,其中索引位置对于所述初始的候选基元的所述最新的索引来说开始于零,并且对于所述初始的候选基元的最老的索引来说达到根据所述基元拓扑在基元中包括的索引的所述数目减去一,或如果所述初始的候选基元不包括至少一个复位索引,那么指派所述偏移作为指派给紧接在所述候选基元前面的所述候选基元的偏移。5.如权利要求4所述的方法,其中从所述一组索引识别所述候选基元包括:将所述一组索引中的存在于所述一组索引中的所述初始的候选基元的所述索引的位置处的朝向较老的索引移位了等于指派给所述候选基元的偏移值的索引的数目的索引识别为所述候选基元中的索引。6.如权利要求1所述的方法,所述方法还包括:确定所述基元拓扑是以下类型,其中在一连串索引中,新的基元是使用每个后续的单个索引而形成;以及响应于所述确定,将所述候选基元识别为所述一组索引中的在基元中包括的所述数目个索引的每个连续组。7.如权利要求1所述的方法,所述方法还包括:从处理器将所述一组索引接收于索引缓冲器内,所述索引缓冲器被指定为包括界定将要渲染的基元的索引;以及从所述处理器接收所述基元拓扑的指示。8.如权利要求1所述的方法,其中所述每基元处理包括基元剔除、几何阴影和镶嵌中的至少一者。9.一种加速处理装置(“APD”),所述加速处理装置包括:一个或多个着色器引擎;以及图形处理管线,所述图形处理管线包括:世界空间管线;以及输入汇编器级,所述输入汇编器级被配置成通过以下方式从一组索引识别基元:识别所述一组索引的基元拓扑,其中所述基元拓扑指定在基元中包括的索引的数目;从所述一组索引识别候选基元,所述候选基元各自包括根据所述基元拓扑在基元中包括的所述数目个索引;丢弃包括复位基元的候选基元以获得输出基元;以及将所述输出基元转发到世界空间管线以进行每基元处理。10.如权利要求9所述的APD,其中所述输入汇编器级进一步被配置成:确定所述基元拓扑是以下类型,其中在一连串索引中,新的基元不是使用每个后续的单个索引而形成;以及响应于所述确定,通过以下方式从所述一组索引识别所述候选基元:基于所述一组索引中的复位索引的一个或多个位置而识别一个或多个偏移,以及基于所述一个或多个偏移而识...

【专利技术属性】
技术研发人员:萨阿德·阿拉比曼格西·P·尼娅休尔托德·马丁
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1