具有共享数据信道的着色器管线.pdf

上传人:a*** 文档编号:6245979 上传时间:2019-05-25 格式:PDF 页数:22 大小:1.62MB
返回 下载 相关 举报
摘要
申请专利号:

CN201580008868.9

申请日:

2015.01.26

公开号:

CN106030663A

公开日:

2016.10.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06T 15/00申请日:20150126|||公开

IPC分类号:

G06T15/00(2011.01)I

主分类号:

G06T15/00

申请人:

高通股份有限公司

发明人:

梅春惠; 维尼特·戈尔; 金东炫

地址:

美国加利福尼亚州

优先权:

2014.02.18 US 14/182,976

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

宋献涛

PDF下载: PDF下载
内容摘要

图形处理单元GPU可分配所述GPU的片上图形存储器中由图形处理管线的至少两个级共享的共享数据信道。所述GPU中的着色器单元可执行所述图形处理管线的所述至少两个级。所述GPU可在片上图形存储器中的所述共享数据信道中存储由执行于所述着色器单元上的所述图形处理管线的所述至少两个级中的每一者产生的数据。

权利要求书

1.一种图形处理方法,其包括:
由图形处理单元GPU分配所述GPU的片上图形存储器中由图形处理管线的至少
两个级共享的共享数据信道;
在所述GPU中的着色器单元上执行所述图形处理管线的所述至少两个级;及
由所述GPU在片上图形存储器中的所述共享数据信道中存储由所述着色器单元
上执行的所述图形处理管线的所述至少两个级中的每一者产生的数据。
2.根据权利要求1所述的方法,其进一步包括:
由所述GPU分配所述GPU的片上图形存储器中由所述图形处理管线的第二至少
两个级共享的第二共享数据信道,其中所述共享数据信道为第一共享数据信道;
在所述GPU中的所述着色器单元上执行所述图形处理管线的所述第二至少两个
级;及
由所述GPU在所述第二共享数据信道中存储由所述着色器单元上执行的所述图
形处理管线的所述第二至少两个级中的每一者产生的第二数据。
3.根据权利要求2所述的方法,其进一步包括:
至少部分地基于所述第一共享数据信道或所述第二共享数据信道的状态由所述
GPU调度所述着色器单元上的所述图形处理管线的一个或多个级的执行,使得数
据在所述第一共享数据信道或所述第二共享数据信道中可用以由所述着色器单元
上执行的所述图形处理管线的所述一个或多个级消耗,且自由空间在所述第一共享
数据信道或所述第二共享数据信道中可用以存储由所述着色器单元上执行的所述
图形处理管线的所述一个或多个级产生的数据。
4.根据权利要求2所述的方法,其中,所述第一共享数据信道在高速缓存模式下操作
以高速缓存存储于所述第一共享数据信道中的数据,且所述第二共享数据信道在先
进先出FIFO模式下操作。
5.根据权利要求2所述的方法,其中所述第一共享数据信道为第一环形缓冲器,且所
述第二共享数据信道为第二环形缓冲器。
6.根据权利要求2所述的方法,其中存储于所述第一共享数据信道中的所述数据包含
由所述图形处理管线的所述至少两个级产生的顶点数据,且存储于所述第二共享数
据信道中的所述第二数据包含由所述图形处理管线的所述第二至少两个级产生的
图元。
7.根据权利要求6所述的方法,其中所述图形处理管线的所述至少两个级包含顶点着
色器和域着色器。
8.根据权利要求6所述的方法,其中所述图形处理管线的所述第二至少两个级包括外
壳着色器和几何着色器。
9.根据权利要求2所述的方法,其进一步包括:
由所述GPU保留所述第一共享数据信道和所述第二共享数据信道中的至少一者
中的自由空间以防止所述第一共享数据信道与所述第二数据共享信道之间的死锁。
10.一种经配置以处理图形数据的设备,其包括:
图形处理单元GPU,其经配置以:
分配所述GPU的片上图形存储器中由图形处理管线的至少两个级共享的共享
数据信道;
在所述GPU中的着色器单元上执行所述图形处理管线的所述至少两个级;及
将由所述着色器单元上执行的所述图形处理管线的所述至少两个级中的每一
者产生的数据存储在片上图形存储器上的所述共享数据信道中。
11.根据权利要求10所述的设备,其中所述GPU经进一步配置以:
分配所述GPU的片上图形存储器中由所述图形处理管线的第二至少两个级共享
的第二共享数据信道,其中所述共享数据信道为第一共享数据信道;
在所述GPU中的所述着色器单元上执行所述图形处理管线的所述第二至少两个
级;及
将由所述着色器单元上执行的所述图形处理管线的所述第二至少两个级中的每
一者产生的第二数据存储在所述第二共享数据信道中。
12.根据权利要求11所述的设备,其中所述GPU经进一步配置以:
至少部分地基于所述第一共享数据信道或所述第二共享数据信道的状态调度所
述着色器单元上的所述图形处理管线的一个或多个级的执行,使得数据在所述第一
共享数据信道或所述第二共享数据信道中可用以由所述图形处理管线的所述一个
或多个级消耗,且自由空间在所述第一共享数据信道或所述第二共享数据信道中可
用以存储由所述着色器单元上执行的所述图形处理管线的所述一个或多个级产生
的数据。
13.根据权利要求11所述的设备,其中,所述第一共享数据信道在高速缓存模式下操
作以高速缓存存储于所述第一共享数据信道中的数据,且所述第二共享数据信道在
先进先出FIFO模式下操作。
14.根据权利要求11所述的设备,其中所述第一共享数据信道为第一环形缓冲器,且
所述第二共享数据信道为第二环形缓冲器。
15.根据权利要求11所述的设备,其中存储于所述第一共享数据信道中的所述数据包
含由所述着色器单元上执行的所述图形处理管线的所述至少两个级产生的顶点数
据,且存储于所述第二共享数据信道中的所述第二数据包含由所述着色器单元上执
行的所述图形处理管线的所述第二至少两个级产生的图元。
16.根据权利要求11所述的设备,其中所述GPU经进一步配置以:
保留所述第一共享数据信道和所述第二共享数据信道中的至少一者中的自由空
间以防止所述第一共享数据信道与所述第二共享数据信道之间的死锁。
17.一种设备,其包括:
用于分配图形处理单元GPU的片上图形存储器中由图形处理管线的至少两个级
共享的共享数据信道的装置;
用于执行所述图形处理管线的所述至少两个级的装置;及
用于将由所述图形处理管线的所述至少两个级中的每一者的执行产生的数据存
储在片上图形存储器中的所述共享数据信道中的装置。
18.根据权利要求17所述的设备,其进一步包括:
用于分配所述GPU的片上图形存储器中由所述图形处理管线的第二至少两个级
共享的第二共享数据信道的装置,其中所述共享数据信道为第一共享数据信道;
用于执行所述图形处理管线的所述第二至少两个的装置;及
用于将由所述图形处理管线的所述第二至少两个级中的每一者的执行产生的第
二数据存储在所述第二共享数据信道中的装置。
19.根据权利要求18所述的设备,其进一步包括:
用于至少部分地基于所述第一共享数据信道或所述第二共享数据信道的状态调
度所述图形处理管线的一个或多个级的执行的装置,使得数据在所述第一共享数据
信道或所述第二共享数据信道中可用以由所述图形处理管线的所述一个或多个级
消耗,且自由空间在所述第一共享数据信道或所述第二共享数据信道中可用以存储
由所述图形处理管线的所述一个或多个级产生的数据。
20.根据权利要求18所述的设备,其中,所述第一共享数据信道在高速缓存模式下操
作以高速缓存存储于所述第一共享数据信道中的数据,且所述第二共享数据信道在
先进先出FIFO模式下操作。
21.根据权利要求18所述的设备,其中所述第一共享数据信道为第一环形缓冲器,且
所述第二共享数据信道为第二环形缓冲器。
22.根据权利要求18所述的设备,其中存储于所述第一共享数据信道中的所述数据包
含由所述图形处理管线的所述至少两个级产生的顶点数据,且存储于所述第二共享
数据信道中的所述第二数据包含由所述图形处理管线的所述第二至少两个级产生
的图元。
23.根据权利要求18所述的设备,其进一步包括:
用于保留所述第一共享数据信道和所述第二共享数据信道中的至少一者中的自
由空间的装置以防止所述第一共享数据信道与所述第二共享数据信道之间的死锁。
24.一种存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个可编程处
理器进行以下操作:
分配片上图形存储器中由图形处理管线的至少两个级共享的共享数据信道;
在着色器单元上执行所述图形处理管线的所述至少两个级;及
将由所述着色器单元上执行的所述图形处理管线的所述至少两个级中的每一者
产生的数据存储在片上图形存储器上的所述共享数据信道中。
25.根据权利要求24所述的计算机可读存储媒体,其中所述指令在执行时进一步致使
所述一或多个可编程处理器进行以下操作:
分配片上图形存储器中由所述图形处理管线的第二至少两个级共享的第二共享
数据信道,其中所述共享数据信道为第一共享数据信道;
在所述着色器单元上执行所述图形处理管线的所述第二至少两个级;及
将由所述着色器单元上执行的所述图形处理管线的所述第二至少两个级中的每
一者产生的第二数据存储在所述第二共享数据信道中。
26.根据权利要求25所述的计算机可读存储媒体,其中所述指令在执行时进一步致使
所述一或多个可编程处理器进行以下操作:
至少部分地基于所述第一共享数据信道或所述第二共享数据信道的状态调度所
述着色器单元上的所述图形处理管线的一个或多个级的执行,使得数据在所述第一
共享数据信道或所述第二共享数据信道中可用以由所述着色器单元上执行的所述
图形处理管线的所述一个或多个级消耗,且自由空间在所述第一共享数据信道或所
述第二共享数据信道中可用以存储由所述着色器单元上执行的所述图形处理管线
的所述一个或多个级产生的数据。
27.根据权利要求25所述的计算机可读存储媒体,其中,所述第一共享数据信道在高
速缓存模式下操作以高速缓存存储于所述第一共享数据信道中的数据,且所述第二
共享数据信道在先进先出FIFO模式下操作。
28.根据权利要求25所述的计算机可读存储媒体,其中所述第一共享数据信道为第一
环形缓冲器,且所述第二共享数据信道为第二环形缓冲器。
29.根据权利要求25所述的计算机可读存储媒体,其中存储于所述第一共享数据信道
中的所述数据包含由所述着色器单元上执行的所述图形处理管线的所述至少两个
级产生的顶点数据,且存储于所述第二共享数据信道中的所述第二数据包含由所述
着色器单元上执行的所述图形处理管线的所述第二至少两个级产生的图元。
30.根据权利要求25所述的计算机可读存储媒体,其中所述指令在执行时进一步致使
所述一或多个可编程处理器进行以下操作:
保留所述第一共享数据信道和所述第二共享数据信道中的至少一者中的自由空
间以防止所述第一共享数据信道与所述第二共享数据信道之间的死锁。

说明书

具有共享数据信道的着色器管线

技术领域

本发明涉及用于存储由图形处理管线的级产生及消耗的数据的共享数据信道。

背景技术

计算装置的图形处理单元(GPU)可执行包含用于处理图形命令的多个级的图形处理
管线以呈现三维场景的二维表示。三维场景通常由顶点组成,且图形处理管线包含一系
列级,所述级针对三维场景中的每一顶点以固定次序执行以呈现三维场景的二维表示。

图形处理管线可包含着色器级链,所述级执行以转换三维场景的顶点。着色器级中
的每一者消耗由前一级产生的数据且产生用于下一级的数据。由于大量数据流经着色器
级链,管理用于着色器级链的数据的方式可影响GPU的性能和存储器效率。

发明内容

在本发明的一个实例中,用于图形处理的方法可包含由图形处理单元(GPU)分配
GPU的片上图形存储器中由图形处理管线的至少两个级共享的共享数据信道。方法可进
一步包含在GPU中的着色器单元上执行图形处理管线的至少两个级。方法可进一步包
含由GPU将由着色器单元上执行的图形处理管线的至少两个级中的每一者产生的数据
存储在片上图形存储器中的共享数据信道中。

在本发明的另一实例中,用于图形处理的设备可包含经配置以进行以下操作的图形
处理单元(GPU):分配GPU的片上图形存储器中由图形处理管线的至少两个级共享的共
享数据信道;在GPU中的着色器单元上执行图形处理管线的至少两个级;及将由着色
器单元上执行的图形处理管线的至少两个级中的每一者产生的数据存储在片上图形存
储器中的共享数据信道中。

在本发明的另一实例中,用于图形进行图形处理的设备可包含用于分配图形处理单
元(GPU)的片上图形存储器中由图形处理管线的至少两个级共享的共享数据信道的装
置。设备可进一步包含用于执行图形处理管线的至少两个级的装置。设备可进一步包含
用于将由图形处理管线的至少两个级中的每一者的执行产生的数据存储在片上图形存
储器中的共享数据信道中的装置。

在本发明的另一实例中,计算机可读存储媒体可存储指令,所述指令在执行时导致
一或多个可编程处理器进行以下操作:分配片上图形存储器中由图形处理管线的至少两
个级共享的共享数据信道;在着色器单元上执行图形处理管线的至少两个级;及将由着
色器单元上执行的图形处理管线的至少两个级中的每一者产生的数据存储在片上图形
存储器中的共享数据信道中。

随图及以下描述中陈述一或多个实例的细节。其它特征、目标和优点将从所述描述
和图式以及权利要求书而显而易见。

附图说明

图1为说明可经组配以实施本发明用于在多个图形管线级之中共享数据信道的一个
或多个方面的实例计算装置的框图。

图2为说明可由GPU执行以产生三维场景的二维表示的实例图形处理管线的框图。

图3为进一步详细地说明图1的CPU、GPU和系统存储器的实例实施方案的框图。

图4为说明用于图形处理管线中的共享数据信道的实例的框图。

图5为进一步详细地说明图4的高速缓存模式共享信道的框图。

图6为说明用于通过图形处理管线的级共享数据信道的实例过程的流程图。

具体实施方式

一般来说,本发明描述用于使用具有共享数据信道的产生器到消耗器模型的单程着
色器管线的技术。计算装置中的图形处理单元(GPU)可在着色器单元上执行着色器管线,
所述着色器单元可在GPU上同时执行着色器管线的多个级。由于与存储于计算装置的
系统存储器中的数据相比,通常可更快速和有效地存取存储于GPU中的片上存储器中
的数据,因此可通过消耗来自GPU中的片上存储器中的数据信道的数据且通过产生也
存储于GPU中的片上存储器中的数据信道中的数据来增大GPU中的着色器单元的效
率。

在一个实例中,GPU可分配相同大小的数据信道以存储由GPU中的着色器单元上
的着色器管线的执行消耗和产生的数据。然而,由于GPU中的片上存储器通常包含比
计算装置的系统存储器小许多的存储空间,GPU中的片上存储器可不具有充足存储空间
来分配用于由GPU中的着色器单元消耗和产生的全部数据的单独数据信道。此外,由
于着色器管线的级可为不均衡的,使得着色器管线的一些级往往会产生比着色器管线的
其它级更多的数据,为由着色器管线的每一级产生的数据分配片上存储器中的相同空间
可浪费片上存储器中的存储空间。另外,片上存储器可不具有充足存储空间来为由着色
器管线的每一级产生的数据分配相同空间,使得由着色器管线的级产生的数据中的至少
一些可需要存储在较慢系统存储器中,因此降低GPU的性能。

根据本发明的各方面,GPU可分配GPU中的片上存储器中的共享数据信道使得着
色器管线的两个或两个以上级可共享单一共享数据信道,使得共享数据信道中不用于存
储来自共享共享数据信道的着色器管线的第一级的数据的空间可用于存储来自共享数
据信道的着色器管线的第二级的数据。以此方式,GPU中的片上存储器可以更有效的方
式利用。此外,与其它途径相比,通过以更有效的方式利用GPU中的片上存储器来潜
在地存储由着色器管线产生的更多数据,GPU中的片上存储器可存储准备由执行着色器
管线的各级的着色器单元消耗的更多数据,因此增大着色器单元的利用率且提高GPU
的性能。

图1为说明可经组配以实施本发明用于在多个图形管线级之中共享数据信道的一个
或多个方面的实例计算装置的框图。如图1中所展示,装置2可为计算装置,包含但不
限于视频装置、媒体播放器、机顶盒、无线手持机(例如移动电话和所谓的智能电话)、
个人数字助理(PDA)、台式计算机、膝上型计算机、游戏控制台、视频会议单元、平板
计算装置及类似者。在图1的实例中,装置2可包含中央处理单元(CPU)6、系统存储器
10和GPU 12。装置2还可包含显示处理器14、收发器模块3、用户接口4和显示器8。
收发器模块3和显示处理器14两者可为如同CPU 6及/或GPU 12的同一集成电路(IC)
的部分,两者可在包含CPU 6及/或GPU 12的一或多个IC的外部,或可形成于在包含
CPU 6及/或GPU 12的IC外部的IC中。

出于清晰性的目的,装置2可包含图1中未展示的额外模块或单元。举例来说,装
置2可包含扬声器和麦克风(其均未在图1中展示)以在装置2为移动无线电话或扬声器
(其中装置2为媒体播放器)的实例中实现电话通信。装置2还可包含摄像机。此外,装
置2中所展示的各种模块和单元可不必在装置2的每个实例中。举例来说,在装置2为
台式计算机或经装备以与外部用户接口或显示器介接的其它装置的实例中,用户接口4
和和显示器8可在装置2外部。

用户接口4的实例包含(但不限于)轨迹球、鼠标、键盘和其它类型的输入装置。用
户接口4还可为触摸屏且可作为显示器8的一部分并入。收发器模块3可包含电路以允
许计算装置2与另一装置或网络之间无线或有线通信。收发器模块3可包含调制器、解
调器、放大器和用于有线或无线通信的其它此类电路。

CPU 6可为经配置以处理用于执行的计算机程序的指令的微处理器,例如中央处理
单元(CPU)。CPU 6可包括控制计算装置2的操作的通用或专用处理器。用户可将输入
提供到计算装置2以导致CPU 6执行一或多个软件应用程序。在CPU 6上执行的软件应
用程序可包含(例如)操作系统、文字处理器应用程序、电子邮件应用程序、电子数据表
应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或另一程
序。另外,CPU 6可执行用于控制GPU 12的操作的GPU驱动程序22。用户可经由一
或多个输入装置(图中未展示)(例如键盘、鼠标、麦克风、触摸垫或经由用户接口4耦合
到计算装置2的另一输入装置)将输入提供到计算装置2。

在CPU 6上执行的软件应用程序可包含一或多个指示CPU 6以导致向显示器8呈现
图形数据的图形呈现指令。在一些实例中,软件指令可符合图形应用编程接口(API),例
如开放图形库API、开放图形库嵌入系统(OpenGL ES)API、Direct3D API、X3D
API、RenderMan API、WebGL API或任何其它公共或专有标准图形API。为了处理图形
呈现指令,CPU 6可将一或多个图形呈现命令发布到GPU 12(例如,经由GPU驱动程
序22)以导致GPU 12执行呈现图形数据中的一些或全部。在一些实例中,待呈现的图形
数据可包含一列图形图元,例如,点、线、三角形、四边形、三角带等。

GPU 12可经配置以执行图形操作,从而向显示器8呈现一或多个图形图元。因此,
当CPU 6上执行的软件应用程序中的一者需要图形处理时,CPU 6可将图形命令和图形
数据提供到GPU 12以用于向显示器8呈现。图形数据可包含(例如)绘制命令、状态信
息、图元信息、纹理信息等。在一些情况下,GPU 12可内置有高度并行结构,所述高
度并行结构提供比CPU 6更有效的复杂图形相关操作的处理。举例来说,GPU 12可包
含经配置从而以并行方式对多个顶点或像素进行操作的多个处理元件,例如着色器单
元。在一些情况下,GPU 12的高度并行性质允许GPU 12比使用CPU 6直接将场景绘
制到显示器8更快速地将图形图像(例如,GUI及二维(2D)及/或三维(3D)图形场景)绘制
到显示器8上。

在一些情况下,可将GPU 12集成到计算装置2的母板中。在其它情况下,GPU 12
可存在于图形卡上,所述图形卡安装在计算装置2的母板中的端口中或可以其它方式并
入经配置以与计算装置2互操作的外围装置内。GPU 12可包含一或多个处理器,例如
一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器
(DSP)或其它等效的集成或离散逻辑电路。GPU 12还可包含一或多个处理器核心,使得
GPU 12可被称作多核处理器。

GPU 12可直接耦合到图形存储器40。因此,GPU 12可在不使用总线的情况下从图
形存储器40读取数据且将数据写入到图形存储器40。换句话说,GPU 12可使用本地存
储装置而不是片外存储器在本地处理数据。此类图形存储器40可被称作片上存储器。
此允许GPU 12通过消除GPU 12经由总线读取及写入数据的需要而以更有效的方式操
作,其中经由总线操作可经历繁重的总线业务。然而,在一些情况下,GPU 12可不包
含单独的存储器,而是经由总线利用系统存储器10。图形存储器40可包含一或多个易
失性或非易失性存储器或存储装置,例如,随机存取存储器(RAM)、静态RAM(SRAM)、
动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、
快闪存储器、磁性数据媒体或光学存储媒体。

在一些实例中,GPU 12可将完全形成的图像存储在系统存储器10中。显示处理器
14可从系统存储器10检索图像且输出导致显示器8的像素照亮以显示图像的值。显示
器8可为装置2显示由GPU 12产生的图像内容的显示器。显示器8可为液晶显示器
(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子显示器或另
一类型的显示装置。

根据本发明的各方面,GPU 12可执行其着色器单元上的多个图形管线级。GPU 12
可产生图形存储器40中由着色器单元上执行的多个图形管线级中的两个级共享的共享
数据信道。GPU 12可将由着色器单元上执行的多个图形管线中的两个级中的每一者产
生的数据存储在共享数据信道中。

图2为说明可由GPU 12执行以产生三维场景的二维表示的实例图形处理管线24的
框图。图形处理管线24可包含多个图形处理级,所述多个图形处理级一起操作以执行
图形处理命令。如图2中所展示,图形处理管线24可包含输入汇编程序26、顶点着色
器级28、外壳着色器级30、棋盘形布置器级32、域着色器级34、几何着色器级36和
像素着色器级38。图形处理管线24中的组分中的每一者可实施为固定功能组分、可编
程组分(例如,为可编程着色器单元上执行的着色器程序的部分),或实施为固定功能和
可编程组分的组合。

GPU 12可经配置以经由GPU驱动程序22从CPU 6接收一或多个图形处理命令,
且经配置以经由图形处理管线24执行图形处理命令以产生可显示的图形图像。如上文
所论述,图形处理管线24包含一起操作以执行图形处理命令的多个级。

图形处理管线24中的输入汇编程序26可为通常负责将图形数据(例如,三角形、线
和点)供应到图形处理管线24的固定功能级。举例来说,输入汇编程序级26可收集高阶
表面、图元及类似者的顶点数据,且将顶点数据和属性输出到顶点着色器级28。因此,
输入汇编程序级26可使用固定功能操作从片外存储器(例如系统存储器10)读取顶点。
输入汇编程序级26可接着根据这些顶点创建管线工作项,同时还产生顶点识别符
(“VertexID”)、实例识别符(“InstanceID”,其可供顶点着色器使用)和图元识别符
(“PrimitiveID”,其可供几何着色器和像素着色器使用)。在读取顶点时,输入汇编程序
级26可自动地产生VertexID、InstanceID和PrimitiveID。

顶点着色器级28可处理所接收顶点数据和属性。举例来说,顶点着色器级28可执
行每顶点处理,例如,变换、结皮、顶点移位及计算每顶点材料属性。在一些实例中,
顶点着色器级28可产生纹理坐标、顶点颜色、顶点照明、雾效因子及类似者。顶点着
色器级28一般采用单个输入顶点且输出单个经处理输出顶点。

外壳着色器级30、棋盘形布置器32和域着色器级34可统称为棋盘形布置级。棋盘
形布置级将低细节细分表面转换为高细节图元,且将图块高阶表面转换为适合的表面(例
如,三角形)以供呈现。外壳着色器级30从顶点着色器级28接收图元且负责执行至少两
个动作。第一,外壳着色器级30通常负责确定一组棋盘形布置因子。外壳着色器级30
可每图元产生一次棋盘形布置因子。棋盘形布置因子可供棋盘形布置器级32使用以确
定对给定图元进行棋盘形布置的精细程度(例如,将图元分裂成较小部分)。外壳着色器
级30还负责产生稍后将由域着色器级34使用的控制点。也就是说,例如,外壳着色器
级30负责产生将供域着色器级34使用以创建最终在呈现中使用的实际的经棋盘形布置
的顶点的控制点。

当棋盘形布置器级32从外壳着色器级30接收数据时,棋盘形布置器级32使用若
干算法中的一者来确定用于当前图元类型的适当采样模式。举例来说,一般来说,棋盘
形布置器级32将所请求的棋盘形布置的量(如通过外壳着色器级30确定)转换成当前
“域”内的一群组坐标点。也就是说,取决于来自外壳着色器级30的棋盘形布置因子,
以及棋盘形布置器级32的特定配置,棋盘形布置器级32确定需要对当前图元中的哪些
点进行采样以便将输入图元棋盘形布置为较小部分。棋盘形布置器级32的输出可为一
组域点,其可包含重心坐标。

除由外壳着色器级30产生的控制点以外,域着色器级34采用域点,且使用域点来
创建新顶点。域着色器级34可使用针对当前图元、纹理、程序算法或任何其它内容产
生的控制点的完整列表,来将每一经棋盘形布置的点的重心“位置”转换成传递到管线
中的下一级的输出几何。

几何着色器级36可接收由其顶点数据(例如,三角形的三个顶点、线的两个顶点或
点的单一顶点)定义图元且进一步处理所述图元。举例来说,几何着色器级36可执行每
图元处理,例如,轮廓边缘检测和阴影体挤出,以及其它的可能处理操作。因此,几何
着色器级36可接收一个图元作为输入(其可包含一或多个顶点)且输出零个、一个或多个
图元(其再次可包含一或多个顶点)。输出图元可含有比有可能在无几何着色器级36的情
况下更多的数据。输出数据的总量可等于顶点大小乘以顶点计数的所得值,且可根据调
用来限制。来自几何着色器级36的流输出可允许图元达到此级以存储到片外存储器(例
如系统存储器10)。流输出通常连接到几何着色器级36,且两者可编程在一起(例如,使
用API)。

光栅化器级37通常为负责剪辑图元及准备图元以供像素着色器级38使用的固定功
能级。举例来说,光栅器级37可执行剪辑(包含定制的剪辑边界)、透视分割、观察口/
剪刀选择及实施方案、显现目标选择及图元设置。以此方式,光栅器级37可产生供像
素着色器级38着色的数个片段。

像素着色器级38从光栅化器级37接收片段且产生每像素数据,例如色彩。像素着
色器级38还可执行每像素处理,例如纹理混合和照明模型计算。因此,像素着色器级
38可接收一个像素作为输入且可在相同的相对位置处输出一个像素(或对于像素,为零
值)。

根据本发明的各方面,图形处理管线24的两个或两个以上级可共享图形存储器40
中的共享数据信道。举例来说,由顶点着色器级28和域着色器级34产生的顶点可存储
于共享数据信道中。此外,由外壳着色器级30和几何着色器级36产生的图元可存储于
另一共享数据信道中。以此方式,GPU 12可更高效地利用图形存储器40。

图3为进一步详细地说明图1的CPU 6、GPU 12和系统存储器10的实例实施方案
的框图。如图3中所展示,CPU 6可包含至少一个软件应用程序18、图形API 20和GPU
驱动程序22,其中的每一者可为CPU 6上执行的一或多个软件应用程序或服务。

可用于CPU 6和GPU 12的存储器可包含系统存储器10和帧缓冲器16。帧缓冲器
16可为系统存储器10的一部分或可与系统存储器10分离。帧缓冲器16可存储经呈现
图像数据。

软件应用程序18可为利用GPU 12的功能性的任何应用程序。举例来说,软件应用
程序18可为GUI应用程序、操作系统、便携式制图应用程序、用于工程或艺术应用的
计算机辅助设计程序、视频游戏应用程序或使用2D或3D图形的另一类型的软件应用
程序。

软件应用程序18可包含指示GPU 12呈现图形用户接口(GUI)及/或图形场景的一或
多个绘制指令。举例来说,绘制指令可包含定义将由GPU 12呈现的一或多个图形基元
的集合的指令。在一些实例中,绘制指令可共同地定义用于GUI中的多个开视窗表面中
的全部或部分。在额外实例中,所述绘图指令可共同地定义图形场景的全部或部分,所
述图形场景包含在由应用程序定义的模型空间或世界空间内的一或多个图形对象。

软件应用程序18可经由图形API 20调用GPU驱动程序22以将一或多个命令发布
到GPU 12,以用于将一或多个图形基元再现为可显示的图形图像。举例来说,软件应
用程序18可经由图形API 20调用GPU驱动程序22以将图元定义提供到GPU 12。在一
些情况下,可以绘图基元(例如,三角形、矩形、三角扇、三角带等)的列表的形式将基
元定义提供到GPU 12。基元定义可包含指定与将呈现的基元相关联的一或多个顶点的
顶点规格。所述顶点规格可包含每一顶点的位置坐标,且在一些情况下,包含与顶点相
关联的其它属性,例如色彩坐标、法向量及纹理坐标。所述基元定义还可包含基元类型
信息(例如,三角形、矩形、三角扇、三角带等)、缩放信息、旋转信息及类似者。基于
由软件应用程序18发布到GPU驱动程序22的指令,GPU驱动程序22可调配指定供
GPU 12执行的一或多个操作以便呈现图元的一或多个命令。当GPU 12从CPU 6接收
命令时,图形处理管线24解码命令且配置图形处理管线24以执行命令中指定的操作。
举例来说,图形处理管线24中的输入汇编程序26可读取图元数据且将数据汇编成供图
形处理管线24中的其它图形管线级使用的图元。在执行指定操作之后,图形处理管线
24将所呈现数据输出到与显示装置相关联的帧缓冲器16。

帧缓冲器16存储用于GPU 12的目的地像素。每一目的地像素可与唯一屏幕像素位
置相关联。在一些实例中,帧缓冲器16可存储每一目的地像素的色彩分量和目的地阿
尔法值。举例来说,帧缓冲器16可存储每一像素的红色、绿色、蓝色、阿尔法(RGBA)
分量,其中“RGB”分量对应于色彩值且“A”对应于目的地阿尔法值。尽管将帧缓冲
器16和系统存储器10说明为单独存储器单元,在其它实例中,帧缓冲器16可为系统
存储器10的部分。

在一些实例中,图形处理管线24的顶点着色器级28、外壳着色器级30、域着色器
级34、几何着色器级和像素着色器级38可被认为是着色器级。这些着色器级可实施为
GPU 12中的着色器单元46上执行的一或多个着色器程序。着色器单元46可配置成处
理分量的可编程管线。在一些实例中,着色单元46可被称作“着色器处理器”或“统
一着色器”且可执行几何、顶点、像素或其它着色操作以呈现图形。着色器单元46可
包含处理器核心48,所述处理器核心中的每一者可包含用于获取及解码操作的一或多个
组件、用于执行算术计算的一或多个算术逻辑单元、一或多个存储器、高速缓存和寄存
器。

GPU 12可通过将命令发送到着色器单元46来指定着色器单元46执行各种着色操
作,例如顶点着色、外壳着色、域着色、几何着色、像素着色及类似者,以执行图形处
理管线24中的顶点着色器级28、外壳着色器级30、域着色器级34、几何着色器级36
和像素着色器级38中的一或多者。在一些实例中,GPU驱动程序22可经配置以编译一
或多个着色器程序,且经配置以将经编译着色器程序下载到含于GPU 12内的一或多个
可编程着色器单元上。可使用高级着色语言着编写色器程序,所述语言例如OpenGL着
色语言(GLSL)、高级着色语言(HLSL)、C for Graphics(Cg)着色语言等。经编译着色器
程序可包含控制GPU 12内的着色器单元46的操作的一或多个指令。举例来说,着色器
程序可包含:顶点着色器程序,可由着色器单元46执行以执行顶点着色器级28的功能;
外壳着色器程序,可由着色器单元46执行以执行外壳着色器级30的功能;域着色器程
序,可由着色器单元46执行以执行域着色器级34的功能;几何着色器程序,可由着色
器单元46执行以执行几何着色器级36的功能;及/或像素着色器程序,可由着色器单元
46执行以执行像素着色器38的功能。顶点着色器程序可控制可编程顶点着色器单元或
统一着色器单元的执行,且包含指定一或多个每顶点操作的指令。

图形存储器40为物理上集成到GPU 12的集成电路中的片上存储装置或存储器。由
于图形存储器40为片上存储器,因此与经由系统总线从系统存储器10读取值或将值写
入到所述系统存储器相比,GPU 12可能能够更快速地从图形存储器40读取值或将值写
入到所述图形存储器。同样,可通过从图形存储器40存储及读取由图形处理管线24的
着色器级产生及消耗的数据来提高着色器单元46的性能。

根据本发明的各方面,着色器单元46可在处理器核心48上同时执行多个着色操作。
GPU 12可将使得图形处理管线24的不同着色级能够在不同处理器核心48上执行的命
令发送到着色单元46,因此使图形处理管线24的级交错。举例来说,GPU 12可将命令
发送到导致着色单元46在着色器单元46的不同处理器核心48上同时执行顶点着色器
级28和几何着色器级36的着色单元46。在另一实例中,GPU 12可将命令发送到导致
着色单元46在多个处理器上同时执行几何着色器级36的多个实例的着色单元46。

根据本发明的各方面,图形存储器40可包含使得由图形处理管线24的不同级产生
的数据能够共享单一数据信道的共享数据信道50A到50N(“共享数据信道50”)中的一
或多者,因此使得GPU 12能够更高效地利用图形存储器40中的有限空间以及使得着色
器处理器集群46能够提高其处理器核心48的利用率以同时执行图形处理管线24的多
个级。

共享数据信道50中的每一共享数据信道可存储由图形处理管线24的两个或两个以
上级产生的数据。通过共享共享数据信道50中的共享数据信道,与分配用于图形处理
管线,的个别级的数据信道24相反,如果图形处理管线24中的级产生较少数据,那么
共享同一共享数据信道的另一级可能能够通过存储其在共享数据信道中产生的更多数
据来利用所述事实。

根据本发明的一方面,几何处理单元(GPC)42可基于共享数据信道50的状态调度
着色器处理器集群46的执行。GPC 42可监视共享数据信道50以确定共享数据信道50
中是否存在将由待由着色器处理器集群46执行的图形处理管线24的级消耗的足够数
据。GPC 42还可监视共享数据信道50以确定共享数据信道50中是否存在存储由待由
着色器处理器集群46执行的图形处理管线24的级产生的数据的充足自由空间。如果
GPC 42确定共享数据信道50中存在充足数据和自由空间,那么GPC 42可将执行命令
发送到着色器处理器集群46以执行图形处理管线24的一批级。响应于完成所述批次的
级的执行,着色器处理器集群46可将指示处理器集群46已经完成所述批次的级的执行
的信号发送到GPC 42。作为响应,数据信道管理器44可更新用于共享数据信道50的
相关读取和写入指针。GPC 42可包含管理共享数据信道50的数据信道管理器44。数据
信道管理器44可管理用于共享数据信道50的读取和写入指针,所述指针指向共享数据
信道50内的位置以用于将数据写入到共享数据信道50中或从所述共享数据信道读取数
据。

根据本发明的各方面,共享数据信道50A可为由图形处理管线24的两个或两个以
上级共享的数据信道,使得共享数据信道50A可存储由图形处理管线24的第一级输出
的数据55A和由图形处理管线24的第二级输出的数据55B两者。共享数据信道50A可
为环形缓冲器,使得在产生和/或消耗数据55A和55B时两者可动态地增大及减小其大
小,因此允许更有效使用分配到共享数据信道50A的存储器块。GPC 42可管理写入指
针51A和51B以及读取指针53A和53B。写入指针51A可指向共享数据信道50A的存
储器位置以写入数据55A,且读取指针53A可指向共享数据信道50A存储器位置,从所
述位置读取数据55A。

通常,GPU 12以先进先出(FIFO)次序存储共享数据信道50A中的数据55A和55B,
使得读取指针53A和53B分别指向存储数据55A和55B中的最老数据段(有时被称作队
列的头部)的共享数据信道50A的存储器位置,且使得写入指针51A和51B分别指向存
储数据55A和55B中最新数据段(有时被称作队列的尾部)的共享数据信道50A的存储器
位置。

共享数据信道50A还可在FIFO模式下操作,使得从共享数据信道50A删除从数据
55A和55B读取的数据且那些存储器位置可解除分配。如可看出,当GPU 12从共享数
据信道50A读取数据55A时,共享数据信道50A中的自由空间57增大,因此允许用于
GPU 12的共享数据信道50A中的额外空间将数据写入到数据55B中。类似地,当GPU
12从共享数据信道50A读取数据55B时,共享数据信道50A中的自由空间59增大,因
此允许用于GPU 12的共享数据信道50A中的额外空间将数据写入到数据55A中。尽管
上文已经详细地描述仅共享数据信道50A,但应理解共享数据信道50中的每一共享数
据信道可共享上文关于共享数据信道50A所描述的功能。

图4为说明用于图形处理管线24中的共享数据信道50的实例的框图。如图4中所
展示,共享数据信道50A可由图形处理管线24的级共享以存储由所述级产生的数据。

具体地说,共享数据信道50A可存储由图形处理管线24的外壳着色器级30产生的
数据52且可进一步存储由图形处理管线24的几何着色器级36产生的数据54。数据52
可由图形处理管线24的域着色器级34消耗且数据54可由图形处理管线24的像素着色
器级消耗。

通过外壳着色器级30和几何着色器级36存储到共享数据信道50A中的数据52和
数据54可分别包含由外壳着色器级30输出的补丁控制点和由几何着色器级36输出的
顶点。由于数据信道50A不高速缓存数据52和54,因此数据52和54可分别充当FIFO
队列,其中从共享数据信道50A删除从数据52和54读取的数据。

在一些实例中,由图形处理管线24的一些级产生的相同数据可由图形处理管线24
的其它级消耗多次。由于当从FIFO队列读取存储到FIFO队列中的数据时可删除所述数
据,因此,如果数据存储到充当FIFO队列的共享数据信道50中的一者中,那么图形处
理管线24产生数据的的级可需要执行多次以产生相同数据代替多次执行顶点着色器28
或域着色器34以多次产生同一顶点,GPU 12可替代地将由顶点着色器28和域着色器
34产生的数据高速缓存在高速缓存模式共享信道56中。

举例来说,由图形处理管线24的顶点着色器级28产生的数据(包含由顶点着色器级
28转换的顶点)可由图形处理管线24的外壳着色器级30消耗。类似地,由图形处理管
线24的域着色器级34产生的数据(例如由域着色器级34输出的顶点位置)可由图形处理
管线24的几何着色器级36消耗。举例来说,由于邻近图元(例如,三角形)可共享顶点,
同一顶点可用于形成两个邻近三角形。因此,由顶点着色器级28和域着色器级34产生
的顶点数据可消耗多次。由于由顶点着色器级28和域着色器级34产生的数据可消耗多
次,由这些级产生的数据可高速缓存在高速缓存模式共享信道56中,使得响应于从高
速缓存模式共享信道56读取高速缓存的数据而可不删除所述高速缓存的数据。

图5为说明高速缓存模式共享信道56的框图。如图5中所展示,高速缓存模式共
享信道56可包含两个共享数据信道:共享图元队列50B共享顶点高速缓存50C,以及
高速缓存窗70。共享顶点高速缓存50C可在高速缓存模式下操作,使得在存储到共享
顶点高速缓存50C中的数据从共享顶点高速缓存50C读取后可不被删除。存储到共享图
元队列50B中的数据62和数据64可包含由顶点着色器级28和域着色器级34产生的图
元数据。举例来说,数据62可包含由用于每一图元的顶点着色器级28产生的存储在共
享顶点高速缓存50C处的顶点数据的顶点标号和位置,且数据64可包含由用于每一图
元的域着色器级34产生的存储在共享顶点高速缓存50C处的顶点数据的顶点标号和位
置。数据62和64还可包含相关联图元中的每一者的解除分配旗标。存储到共享顶点高
速缓存50C中的数据66可包含由顶点着色器级28转换的顶点,而存储到共享顶点高速
缓存50C中的数据68可包含由域着色器级34输出的顶点位置。GPC 42可检查共享图
元队列50B和共享顶点高速缓存50C两者的自由空间以确定高速缓存模式共享信道56
是否具有接受数据的足够自由空间。

如果特定顶点已经存储于共享高速缓存50C的限制窗中,那么高速缓存窗70可存
储指示。举例来说,高速缓存窗70可充当完全关联高速缓存且存储顶点指标,共享顶
点高速缓存50C内的顶点的数据位置和着色器的指示(例如旗标)可消耗顶点。

GPC 42通过图元处理几何图元。对于顶点着色器28和域着色器34,如果GPC 42
基于检查顶点指标上的高速缓存窗70和/或顶点属于的着色器确定图元的特定顶点不在
共享顶点高速缓存50C中,那么高速缓存未命中可出现,且GPC 42可将命令发送到着
色器单元46以执行适当的着色器级(例如,顶点着色器28或域着色器34),从而产生所
需顶点且从而将所产生顶点数据存储在高速缓存模式共享信道56中。GPC 42可将共享
顶点高速缓存50C处的顶点数据的顶点标号和位置添加到共享图元队列50B中。GPC 42
可将现高速缓存于高速缓存模式共享信道56中的顶点的适当数据添加到高速缓存窗70。
高速缓存窗70可以先入先出(FIFO)方式起作用,使得如果高速缓存窗70在高速缓存未
命中之后不存在空间,那么在高速缓存窗70中的最老槽中相关联且使具有共享图元队
列50B中其解除分配旗标集合的顶点可为具有关于添加到高速缓存模式共享信道56中
的最新顶点的信息的集合。然而,如果GPC 42确定特定顶点高速缓存于高速缓存模式
共享信道56中,那么GPC 42可使用所需顶点的共享顶点高速缓存50C中的存储器位置
且将共享顶点高速缓存50C处的顶点数据的顶点标号和位置添加到共享图元队列50B
中。以此方式,GPU 12可减少图形处理管线24中的级的额外处理。

为了执行外壳着色器30和几何着色器36,GPC 42可消耗来自共享图元队列50B
和共享顶点高速缓存50C两者的数据。GPC 42可从共享图元队列50B读取共享顶点高
速缓存50C中的顶点数据的顶点标号和位置。GPC 42可随后使用从共享图元队列50B
读取的位置从共享顶点高速缓存50C读取顶点数据。GPC 42可在读取数据之后移动共
享图元队列50B的读取指针。然而,由于后续图元还可使用仅从共享顶点高速缓存50C
读出的同一顶点,因此GPC 42可在从共享顶点高速缓存50C读取高速缓存的顶点之后
不立即移动共享顶点高速缓存50C的读取指针。如果设定用于图元消耗顶点的共享图元
队列50B中的相关联解除分配旗标,那么可允许GPC 42移动读取指针且将来自高速缓
存模式共享信道56的顶点解除分配。GPC 42可将命令发送到着色器单元46以执行着
色器级(例如,外壳着色器30和几何着色器36),从而消耗顶点数据,且从而产生用于
下一着色器级的顶点并将所产生顶点数据存储在共享数据信道50A中。

GPC 42可监视高速缓存模式共享信道56和共享数据信道50A是否死锁。在一个实
例中,如果高速缓存模式共享信道56充满由顶点着色器级28产生的数据,或如果共享
数据信道50A充满由外壳着色器级30产生的数据,那么死锁可出现。在此情况下,由
于外壳着色器级30消耗由顶点级28产生的数据,外壳着色器级30无法消耗由顶点着
色器级28产生且存储于高速缓存模式共享信道56中的数据以产生存储到共享数据信道
50A中的数据,因为饿共享数据信道50A中不存在存储新近所产生数据的自由空间。此
外,由于高速缓存模式共享信道56充满由顶点着色器级28产生的数据,且没有数据可
由外壳着色器30消耗,因此不可将数据解除分配来释放高速缓存模式共享信道56的空
间以存储由域着色器34产生的数据。此外,由于域着色器34消耗由外壳着色器级30
产生且存储于共享数据信道50A中的数据,因此由外壳着色器30A产生且存储于共享
数据信道50A中的数据不可由域着色器34消耗来释放共享数据信道50A中的空间以供
共享数据信道50A存储由几何着色器36产生的数据。

为了防止高速缓存模式共享信道56与共享数据信道50A之间的死锁情况,GPC 42
可保留用于存储分别由域着色器34和几何着色器36产生的数据的高速缓存模式共享信
道56和共享数据信道50A中的空间,使得高速缓存模式共享信道56和共享数据信道
50A并不仅存储分别由顶点着色器28和外壳着色器30产生的数据。通过(例如)确定存
储来自域着色器34和几何着色器36用于给定数目的着色器集群46中的波的输出必需
的空间量,GPC 42可确定分量共享图元队列50B和共享顶点高速缓存50C两者中的高
速缓存模式共享信道56的空间量,和保留共享数据信道50A的空间量。

图6为说明用于通过图形处理管线的级共享数据信道的实例过程的流程图。如图6
中所展示,所述过程可包含由GPU 12分配GPU 12的片上图形存储器40中由图形处理
管线24的至少两个级共享的共享数据信道50A(502)。所述过程可进一步包含在GPU 12
中的着色器单元46上执行图形处理管线24的至少两个级(504)。所述过程可进一步包含
由GPU 12将由在着色器单元46上执行的图形处理管线24的至少两个级产生的数据存
储在片上图形存储器40中的共享数据信道50A中(506)。

在一些实例中,所述过程可进一步包含由GPU 12分配GPU 12的片上图形存储器
40中由图形处理管线24的第二至少两个级共享的第二高速缓冲模式共享信道56,其中
共享数据信道50A为第一共享数据信道。在一些实例中,所述过程可进一步包含在GPU
12中的着色器单元46上执行图形处理管线24的第二至少两个级。在一些实例中,所述
过程可进一步包含由GPU 12将由在着色器单元46上执行的图形处理管线24的第二至
少两个级中的每一者产生的第二数据存储在第二高速缓冲模式共享信道56中。

在一些实例中,所述过程可进一步包含至少部分地基于第一共享数据信道50A或第
二高速缓冲模式共享信道56的状态由GPU 12调度由着色器单元46执行的图形处理管
线24的一个或多个级,使得数据在第一共享数据信道50A或第二高速缓冲模式共享信
道56中可用以由图形处理管线24(当在着色器单元46上执行时)一个或多个级消耗,且
自由空间在第一共享数据信道50A或第二高速缓冲模式共享信道56中可用以存储由图
形处理管线24(当在着色器单元46上执行时)的一个或多个级产生的数据。

在一些实例中图形处理管线24的至少两个级包含顶点着色器28和域着色器34。在
一些实例中,图形处理管线24的第二至少两个级包含外壳着色器30和几何着色器36。

在一些实例中,所述过程可进一步包含由GPU 12保留第一共享数据信道50A和第
二高速缓冲模式共享信道56中的至少一者中的自由空间以防止第一共享数据信道50A
与第二高速缓冲模式共享信道56之间的死锁。

在一或多个实例中,所描述的功能可实施在硬件、软件、固件或其任何组合中。如
果在软件中实施,则可将功能作为一或多个指令或代码而存储在计算机可读媒体上或经
由计算机可读媒体发射。计算机可读媒体可包含计算机数据存储媒体或通信媒体,通信
媒体包含促进将计算机程序从一处传递到另一处的任何媒体。数据存储媒体可以是可由
一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代
码和/或数据结构的任何可用媒体。举例来说且非限制,此类计算机可读媒体可包括
RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存
储装置,或可用于携载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存
取的任何其它媒体。而且,任何连接可恰当地称为计算机可读媒体。举例来说,如果使
用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无
线技术从网站、服务器或其它远程源发射软件,那么同轴缆线、光纤缆线、双绞线、DSL
或例如红外线、无线电和微波等无线技术包含于媒体的定义中。如本文中所使用,磁盘
及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和
蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。
以上的组合也应该包含在计算机可读媒体的范围内。

代码可以由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理
器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它
等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”和“处理单元”
可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一
些方面中,本文中所描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软
件模块内,或者并入于组合式编解码器中。另外,可以将所述技术完全实施于一或多个
电路或逻辑元件中。

本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手持机、
集成电路(IC)或一组IC(即,芯片组)。本发明中描述各种组件、模块或单元以强调经配
置以执行所揭示的技术的装置的功能性方面,但未必需要通过不同硬件单元实现。确切
地说,如上文所描述,各种单元可结合合适的软件和/或固件组合在一个编解码器硬件单
元中,或由互操作硬件单元的集合来提供,所述硬件单元包括如上文所描述的一个或一
个以上处理器。

已经描述各种实例。所述及其它实例属于所附权利要求书的范围内。

具有共享数据信道的着色器管线.pdf_第1页
第1页 / 共22页
具有共享数据信道的着色器管线.pdf_第2页
第2页 / 共22页
具有共享数据信道的着色器管线.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《具有共享数据信道的着色器管线.pdf》由会员分享,可在线阅读,更多相关《具有共享数据信道的着色器管线.pdf(22页珍藏版)》请在专利查询网上搜索。

图形处理单元GPU可分配所述GPU的片上图形存储器中由图形处理管线的至少两个级共享的共享数据信道。所述GPU中的着色器单元可执行所述图形处理管线的所述至少两个级。所述GPU可在片上图形存储器中的所述共享数据信道中存储由执行于所述着色器单元上的所述图形处理管线的所述至少两个级中的每一者产生的数据。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1