具有虚线模式的路径的gpu加速再现的制作方法_3

文档序号:8207776阅读:来源:国知局
12。所 述图形命令可包含例如绘制调用命令、GPU状态编程命令、存储器传送命令、传图命令等。所 述图形数据可包含顶点缓冲器、纹理数据、表面数据等。在一些实例中,CPU 6可通过将命 令和图形数据写入到可由GPU 12存取的存储器10而将命令和图形数据提供到GPU 12。
[0073] 在其它实例中,GPU 12可经配置以执行用于CPU 6上执行的应用程序的通用计 算。在此等实例中,当CPU 6上执行的软件应用程序之一决定将计算任务卸载到GPU 12时, CPU 6可将通用计算数据提供到GPU 12,且将一或多个通用计算命令发出到GPU 12。所述 通用计算命令可包含例如核心执行命令、存储器传送命令等。在一些实例中,CPU6可通过将 命令和图形数据写入到可由GPU 12存取的存储器10而将命令和通用计算数据提供到GPU 12〇
[0074] 在一些情况下,GPU 12可内置有高度并行的结构,其提供比CPU 6对向量操作的 更有效的处理。举例来说,GPU 12可包含经配置而以并行方式对多个顶点、控制点、像素和 /或其它数据操作的多个处理元件。在一些情况下,GPU 12的高度并行本质可允许GPU 12 比使用CPU 6再现图像更快地将图形图像(例如,⑶I和二维(2D)和/或三维(3D)图形 场景)再现到显示器18上。另外,GPU 12的高度并行本质可允许GPU 12比CPU6更快地 处理某些类型的向量和矩阵运算以用于通用计算应用程序。
[0075] 在一些实例中,GPU 12可集成到计算装置2的母板中。在其它情况下,GPU 12可 存在于安装在计算装置2的母板中的端口中的图形卡上或否则可并入在经配置以与计算 装置2交互操作的外围装置内。在进一步例子中,GPU 12可与CPU 6位于同一微芯片上从 而形成芯片上系统(SoC)。GPU 12可包含一或多个处理器,例如一或多个微处理器、专用集 成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离 散逻辑电路。
[0076] 在一些实例中,GPU 12可直接耦合到GPU高速缓冲存储器14。因此,GPU 12可 从GPU高速缓冲存储器14读取数据且写入数据到GPU高速缓冲存储器14而不一定使用总 线20。换句话说,GPU 12可使用局部存储装置而非片外存储器来局部地处理数据。此允许 GPU 12通过消除GPU 12经由总线20读取及写入数据的需要而以更有效的方式操作,其中 经由总线操作可经历繁重的总线业务。然而,在一些情况下,GPU 12可不包含单独的高速 缓冲存储器,但改为经由总线20利用存储器10。GPU高速缓冲存储器14可包含一或多个 易失性或非易失性存储器或存储装置,例如随机存取存储器(RAM)、静态RAM(SRAM)、动态 RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、磁性数 据媒体或光学存储媒体。
[0077] CPU 6和/或GPU 12可将经再现图像数据存储在存储器10内分配的帧缓冲器中。 经再现图像数据可包含用于待再现路径片段的经再现填充区域和来回划线区域。显示接口 16可从帧缓冲器检索数据且配置显示器18以显示由经再现图像数据表示的图像。在一些 实例中,显示接口 16可包含数/模转换器(DAC),其经配置以将从帧缓冲器检索的数字值转 换为可由显示器18消耗的模拟信号。在其它实例中,显示接口 16可将数字值直接传递到 显示器18以进行处理。
[0078] 显示器18可包含监视器、电视、投影装置、液晶显示器(IXD)、等离子显示器面 板、发光二极管(LED)阵列、阴极射线管(CRT)显示器、电子纸、表面传导电子发射显示器 (SED)、激光电视显示器、纳米晶体显示器或另一类型的显示单元。显示器18可集成在计算 装置2内。举例来说,显示器18可为移动电话手持机或平板计算机的屏幕。或者,显示器 18可为经由有线或无线通信链路而耦合到计算机装置2的独立装置。举例来说,显示器18 可为经由电缆或无线链路而连接到个人计算机的计算机监视器或平板显示器。
[0079] 总线20可使用总线结构和总线协议的任何组合来实施,包含第一、第二和第三代 总线结构和协议、共享总线结构和协议、点对点总线结构和协议、单向总线结构和协议以及 双向总线结构和协议。可用以实施总线20的不同总线结构和协议的实例包含例如超传输 总线、InfiniBand总线、高级图形端口总线、外围组件互连(PCI)总线、PCI高速总线、高级 微控制器总线架构(AMBA)、高级高性能总线(AHB)、AMBA高级外围总线(APB),和AMBA高级 eXentisible接口(AXI)总线。也可以使用其它类型的总线结构和协议。
[0080] 根据本发明,GPU 12可经配置以提供部分到总体GPU硬件加速以用于各种路径再 现命令的执行。举例来说,CPU 6可将一或多个路径再现命令发出到GPU 12,且GPU 12可 执行所述路径再现命令。作为一个实例,CPU 6可向GPU 12发出一或多个路径填充命令,其 指示GPU 12执行路径填充操作,且GPU 12可执行所述路径填充命令。作为另一实例,CPU 6可向GPU 12发出一或多个路径来回划动命令,其指示GPU 12执行路径来回划动操作,且 GPU 12可执行所述路径来回划动命令。
[0081] 在一些实例中,GPU 12可经配置以接收指示待再现的路径的路径片段的数据,将 路径片段棋盘形布置为多个基元,且基于所述多个基元再现用于所述路径片段的填充区域 和来回划线区域中的至少一者。GPU可当执行填充操作时再现用于路径片段的填充区域,且 可当执行来回划线操作时再现用于路径片段的来回划线区域。在一些实例中,所述多个基 元可为多个线段。
[0082] 在一些实例中,GPU 12可使用两遍次再现方法来执行路径填充操作。举例来说, 作为第一再现遍次的一部分,GPU 12可接收指示待再现路径的路径片段的数据,将所述路 径片段棋盘形布置为多个线段,且基于所述多个线段产生多个三角形基元。GPU 12可基于 所述多个线段中的相应一者产生所述多个三角形基元中的每一者。GPU 12可将所述多个三 角形基元中的每一者再现到单元缓冲器中以使得所述单元缓冲器存储指示哪些像素在用 于路径片段的填充区域内部的数据。在将基元再现到共同单元缓冲器中之后,GPU 12可执 行第二再现遍次。在第二再现遍次期间,GPU 12可基于存储于单元缓冲器中的数据和填充 颜色而再现包含处于用于路径片段的填充区域内部的像素的一或多个基元以产生用于路 径片段的填充区域的光栅化版本。以此方式,GPU 12可提供GPU硬件加速以用于路径填充 操作的执行。
[0083] 为了产生所述多个三角形基元,在一些实例中,GPU 12可产生所述多个三角形基 元以使得所述三角形基元中的每一者具有对用于路径片段的全部三角形基元为共同(即, 相同)的共同顶点。在此等实例中,GPU 12可产生所述多个三角形基元以使得所述三角形 基元中的每一者具有对应于所述多个线段中的相应一者的端点的两个额外顶点(即,除共 同顶点之外的两个顶点)。每一额外顶点可对应于对应线段的端点中的相应一者。
[0084] 为了将所述多个三角形基元中的每一者再现到单元缓冲器中,GPU 12可使用以下 技术中的一者。根据第一技术,GPU 12可针对所述多个三角形基元中的每一者反转模板缓 冲器40中的对应于相应三角形基元的一或多个值。根据第二技术,GPU 12可针对所述多 个三角形基元中的每一者在相应三角形基元的顶点次序是在顺时针方向中定向的情况下 递增模板缓冲器40中的对应于相应三角形基元的一或多个值。
[0085] 在某些情况下,GPU 12可经配置以使用以下技术中的一者或两者来执行路径填充 操作。根据第一技术,GPU 12可使用GPU 12的固定功能棋盘形布置引擎和在GPU 12的可编 程着色器单元上执行的域着色器程序将路径片段棋盘形布置为多个线段。根据第二技术, GPU 12可使用在GPU 12的可编程着色器单元上执行的几何形状着色器程序产生多个三角 形基元。使用GPU 12的棋盘形布置引擎、域着色器52和几何形状着色器中的一或多者执 行路径填充操作可允许在一些实例中使用与芯片上具有棋盘形布置功能的3D图形API (例 如,DX 11 API)顺应的GPU执行路径填充操作,而无需API的修改或由API指定的图形架 构的修改。
[0086] 在其它实例中,GPU 12可使用单个遍次再现方法执行路径来回划动操作。举例来 说,GPU 12可接收指示待再现路径的路径片段的数据,将所述路径片段棋盘形布置为多个 线段,且基于所述多个线段产生多个三角形基元。对于所述多个线段中的每一者,GPU 12可 产生在空间上对应于用于相应线段的来回划线区域的一或多个基元(例如,三角形基元), 且基于来回划线颜色再现用于相应线段的一或多个基元以产生用于路径片段的来回划线 区域的光栅化版本。以此方式,GPU 12可提供GPU硬件加速以用于路径来回划动操作的执 行。
[0087] 为了产生在空间上对应于用于相应线段的来回划线区域的一或多个基元(例如, 三角形基元),在一些实例中,GPU 12可产生用于相应线段的多个法线顶点。法线顶点中的 每一者可指示对应于沿着路径片段的多个点中的相应一者的法向量。沿着路径片段的所述 多个点中的每一者可对应于相应线段的端点中的相应一者。GPU 12可基于所述多个法线顶 点和来回划线宽度确定用于相应线段的来回划线区域的拐角点。GPU 12可基于来回划线区 域的所述拐角点产生在空间上对应于用于相应线段的来回划线区域的一或多个基元。
[0088] 在某些情况下,GPU 12可使用以下技术中的一或多者来执行路径来回划动操作。 根据第一技术,GPU 12可使用GPU 12的固定功能棋盘形布置引擎和在GPU 12的可编程着 色器单元上执行的域着色器程序将路径片段棋盘形布置为多个线段。根据第二技术,GPU 12可使用在GPU 12的可编程着色器单元上执行的几何形状着色器程序产生所述一或多个 基元。根据第三技术,GPU 12可使用在GPU 12的可编程着色器单元上执行的域着色器程 序产生多个法线顶点。使用GPU 12的棋盘形布置引擎、域着色器52和几何形状着色器中 的一或多者执行路径来回划动操作可允许在一些实例中使用与例如DXll API等芯片上具 有棋盘形布置功能的3D图形API顺应的GPU执行路径来回划动操作而无需API的修改或 由API指定的图形架构的修改。
[0089] 本发明中描述的路径再现技术可在图1中图解说明的计算装置2中的组件中的任 一者中实施,包含例如CPU 6、GPU 12和存储器10。在一些实例中,路径再现技术的全部或 几乎全部可在GPU 12中(例如,GPU 12的图形管线中)实施。在额外实例中,CPU 6可实 施用于配置图形管线的状态且将着色器程序绑定到图形管线以实施GPU 12中执行本发明 的路径再现技术的路径再现管线的技术。在其它实例中,CPU 6可经配置以将指示待再现 路径的数据放置到一或多个缓冲器(例如,一或多个顶点缓冲器)中,所述缓冲器可由GPU 12存取以再现一或多个路径。
[0090] 在一些实例中,GPU 12可经配置以用于(1)将路径棋盘形布置为线段,(2)使用单 元缓冲器进行光栅化和扫描填充,以及(3)使用来自单元缓冲器的填充颜色和模板绘制所 述路径的限界框;以及来回划动路径片段,包含(1)将路径棋盘形布置为线段,(2)根据虚 线模式切割所述线段,以及(3)产生来回划线的三角测量且光栅化所述来回划线。
[0091] 在一些实例中,相对较大量的数据可需要传送到图形处理单元(GPU)以用所要细 节水平再现路径片段。相对较大量的数据在存储数据时可消耗大量存储器存储空间,且在 将数据传送到GPU时可消耗大量的存储器带宽。
[0092
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1