当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于基于对先前帧的分析将帧分割成多个命令缓冲器提交的3D图形驱动器制造技术

技术编号:37500042 阅读:17 留言:0更新日期:2023-05-07 09:36
用于基于对先前帧的分析将帧分割成多个命令缓冲器提交的3D图形驱动器。方法、系统和装置可提供一种技术,该技术:在当前帧期间将图形资源标记为转储清除候选者,如果在后续帧期间检测到关于图形资源的写入事件,则进行命令缓冲器从图形资源的早期转储清除,并且如果在后续帧期间未检测到关于图形资源的写入事件,则绕过早期转储清除。在一个示例中,响应于主机处理器关于所述图形资源的回读操作,图形资源被标记为转储清除候选者,其中,回读操作取回查询结果和/或映射分级资源。取回查询结果和/或映射分级资源。取回查询结果和/或映射分级资源。

【技术实现步骤摘要】
用于基于对先前帧的分析将帧分割成多个命令缓冲器提交的3D图形驱动器


[0001]实施例总体上涉及图形处理体系结构。更具体地,实施例涉及用于基于对一个或多个先前帧的分析将帧分割成多个命令缓冲器提交的三维(three

dimensional,3D)图形驱动器技术。

技术介绍

[0002]基于GPU(graphics processing unit,图形处理单元)的3D渲染中的典型流程可涉及图形驱动器生成命令缓冲器以用于CPU(central processing unit,中央处理单元)上的帧,CPU随后将命令缓冲器提交给GPU以供执行。随着GPU大小的增加,CPU上的命令缓冲器生成可成为瓶颈。将帧分割成多个较小命令缓冲器的常规方法可由于提交额外命令缓冲器的成本而使CPU绑定的工作负载降级和/或通过分解渲染轮次使GPU性能降级。
附图说明
[0003]通过阅读以下说明书和所附权利要求书并通过参考以下附图,实施例的各种优势对本领域技术人员将变得显而易见,在附图中:
[0004]图1是根据实施例的帧序列的示例的图示;
[0005]图2是根据实施例的系统体系结构的示例的框图;
[0006]图3A是常规图形处理器时间线和早期转储清除(flush)图形处理器时间线的示例的比较图示;
[0007]图3B是常规早期转储清除图形处理器时间线和根据实施例的图形处理器时间线的示例的比较图示;
[0008]图4是主机处理器时间线的示例的图示;
[0009]图5是根据实施例的操作图形驱动器的方法的示例的流程图;
[0010]图6

图8是根据实施例的操作图形驱动器的方法的示例的更为详细的流程图;
[0011]图9是根据实施例的性能增强的计算系统的示例的框图;
[0012]FIG.图10是根据实施例的处理系统的示例的框图;
[0013]图11A

图11D是根据实施例的计算系统和图形处理器的示例的框图;
[0014]图12A

图12C是根据实施例的附加图形处理器和计算加速器体系结构的示例的框图;
[0015]图13是根据实施例的图形处理器的图形处理引擎的示例的框图;
[0016]图14A

图14B是根据实施例的图形处理器核心的线程执行逻辑的示例的框图;
[0017]图15图示根据实施例的附加执行单元的示例;
[0018]图16是图示根据实施例的图形处理器指令格式的示例的框图;
[0019]图17是根据实施例的图形处理器的另一示例的框图;
[0020]图18A是图示根据实施例的图形处理器命令格式的示例的框图;
[0021]图18B是图示根据实施例的图形处理器命令序列的示例的框图;
[0022]图19图示根据实施例的用于数据处理系统的示例图形软件体系结构;
[0023]图20A是图示根据实施例的IP核心开发系统的示例的框图;
[0024]图20B图示根据实施例的集成电路封装组件的截面侧视图的示例;
[0025]图20C

图20D图示根据实施例的封装组件的示例;
[0026]图21是图示根据实施例的片上系统集成电路的示例的框图;以及
[0027]图22A

图22B是图示根据实施例的用于在SoC内使用的示例性图形处理器的框图。
具体实施方式
[0028]现在转到图1,示出第一(例如,当前)帧30,其中第一命令缓冲器32(例如,包括绘制调用、查询指令、转储清除指令等)指令图形处理器(例如,GPU)将第一帧30渲染到显示器。在一个示例中,第一命令缓冲器32由在主机处理器(例如,CPU)上执行的图形驱动器生成,该图形驱动器将第一命令缓冲器32发送到图形处理器以供执行。实施例提供用于分析关于第一命令缓冲器32的图形处理器操作并基于该分析自动决定是否将与第二(例如,后续)帧36相关联的第二命令缓冲器34(34a、34b)分割成第一部分34a和第二部分34b。对应于第一命令缓冲器32的图形处理器操作还可用于在第二帧36期间自动确定第一部分34a和第二部分34b的相对大小(例如,何时进行分割)。下面是实现此方案的伪代码的示例。
[0029]if(“CPU readbacks”://例如,GetQueryData,Map(Staging,Read)等)跟踪并分析针对当前帧的“GPU写入”(例如,EndQuery、ResourceCopy等)并决定如何分割下一帧。else:永不进行分割提交
[0030]选择性地决定是否分割第二命令缓冲器34通过减少图形处理器的等待时间并降低将命令缓冲器34提交给图形处理器的成本(例如,减少主机处理器的帧时间)这两个方面来增强性能。例如,当在第一帧30期间从包含命令缓冲器32的图形资源进行回读(read back)并且在第二帧36期间检测到关于图形资源的写入事件时,分割第二命令缓冲器34可以减少图形处理器的等待时间,尤其是在图形处理器的利用率相对较低的情况下。否则,将命令缓冲器34作为单次提交发送到图形处理器减少主机处理器的帧时间。
[0031]图2示出系统体系结构38,其中在主机处理器42上操作的用户模式驱动器(user mode driver,UMD)40构建用于帧的命令缓冲器44并将命令缓冲器44发送到图形处理器46以供执行。通常,图形处理器46可以在渲染与命令缓冲器44相关联的帧时将命令缓冲器44存储到资源(例如,寄存器、缓存、存储器等,未示出)。主机处理器42关于图形资源的某些回读操作(诸如,例如取回查询结果、映射分级(staging)资源等)生成回读数据48,该回读数据48可以由UMD 40的早期转储清除部件50使用以确定是否以及何时分割一个或多个后续帧的命令缓冲器。映射分级资源准予CPU访问指向分级资源中所包含的数据的指针,并拒绝GPU访问该资源。这种方法使CPU端应用能够复制资源中所包含的数据,同时GPU可以并行处理其他操作。
[0032]图3A示出由在CPU上操作的图形驱动器生成的命令缓冲器52。在常规的时间线54(54a、54b)中,第一GPU(GPU0)在时间线54的第一部分54a期间空闲并且在时间线54的第二
部分54b期间执行命令缓冲器44中的所有绘制调用。在所图示的示例中,第一GPU的等待时间在命令缓冲器44中遇到等待指令时开始并且在检测到查询完成通知时结束。
[0033]相比之下,用于第二GPU(GPU1)的增强的时间线56(56a

56d)包括第一部分56a和第二部分56b,在第一部分56a期间GPU是空闲的,在第二部分56b期间,第二GPU执行第一绘制调用并且图形驱动器将早期转储清除58发到第二GPU。第二GPU在时间线56的第三部分56c期间空闲并且在时间线56的第四部分56d期间执行第二绘制调用。在图示的示例中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算系统,包括:图形处理器,所述图形处理器包括图形资源;主机处理器,所述主机处理器耦合至所述图形处理器;以及存储器,所述存储器耦合至所述主机处理器,所述存储器包括一组指令,所述一组指令当由所述主机处理器执行时使所述主机处理器用于:在当前帧期间将所述图形资源标记为转储清除候选者,如果在后续帧期间检测到关于所述图形资源的写入事件,则进行命令缓冲器从所述图形资源的早期转储清除,并且如果在所述后续帧期间未检测到关于所述图形资源的所述写入事件,则绕过所述早期转储清除。2.如权利要求1所述的计算系统,其中,响应于所述主机处理器关于所述图形资源的回读操作,所述图形资源被标记为所述转储清除候选者,并且其中,所述回读操作是取回查询结果或映射分级资源中的一项或多项。3.如权利要求1所述的计算系统,其中,如果在所述当前帧期间检测到停止事件并且在所述当前帧期间图形利用率未超过阈值,则进行所述早期转储清除,并且其中,如果发生在所述当前帧期间未检测到所述停止事件或在所述当前帧期间所述图形利用率超过所述阈值中的一项或多项,则绕过所述早期转储清除。4.如权利要求3所述的计算系统,其中,如果所述命令缓冲器满足绘制计数条件或定时条件中的一项或多项,则进行所述早期转储清除,并且其中,如果所述命令缓冲器不满足所述绘制计数条件或所述定时条件中的一项或多项,则绕过所述早期转储清除。5.如权利要求1所述的计算系统,其中,所述命令缓冲器用于表示对应于所述后续帧的多个命令缓冲器的子集,并且其中,在所述多个命令缓冲器被提交给所述图形处理器之前进行所述早期转储清除。6.如权利要求1

5中任一项所述的计算系统,其中,所述写入事件是查询结束事件或资源复制事件中的一项或多项。7.一种半导体装置,包括:一个或多个衬底;以及逻辑,所述逻辑耦合至所述一个或多个衬底,其中所述逻辑至少部分地在可配置硬件或固定功能硬件中的一者或多者中实现,所述逻辑用于:在当前帧期间将图形资源标记为转储清除候选者;如果在后续帧期间检测到关于所述图形资源的写入事件,则进行命令缓冲器从所述图形资源的早期转储清除;并且如果在所述后续帧期间未检测到关于所述图形资源的所述写入事件,则绕过所述早期转储清除。8.如权利要求7所述的半导体装置,其中,响应于主机处理器关于所述图形资源的回读操作,所述图形资源被标记为所述转储清除候选者,并且其中,所述回读操作是取回查询结果或映射分级资源中的一项或多项。9.如权利要求7所述的半导体装置,其中,如果在所述当前帧期间检测到停止事件并且在所述当前帧期间图形利用率未超过阈值,则进行所述早期转储清除,并且其中,如果发生
在所述当前帧期间未检测到所述停止事件或在所述当前帧期间所述图形利用率超过所述阈值中的一项或多项,则绕过所述早期转储清除。10.如权利要求9所述的半导体装置,其中,如果所述命令缓冲器满足绘制计数条件或定时条件中的一项或多项,则进行所述早期转储清除,并且其中,如果所述命令缓冲器不满足所述绘制计数条件或所述定时条件中的一项或多项,则绕过所述早期转储清除。11.如权利要求7所述的半导体装置,其中,所述命令缓冲器用于表示对应于所述后续帧的多个命令缓冲器的子集,并且其中,在所述多个命令缓冲器被提交给包含所述图形资源的图形处理器之前进行所述早期转储清除。12.如权利要求7

11中任一项所述的半导体装置,其中,所述写入事件是查询...

【专利技术属性】
技术研发人员:S
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1