-
公开(公告)号:US07969444B1
公开(公告)日:2011-06-28
申请号:US11609820
申请日:2006-12-12
申请人: Ralf Biermann , Barthold B. Lichtenbelt , Ross A. Cunniff , Jeffrey F. Juliano , Jeffrey A. Bolz
发明人: Ralf Biermann , Barthold B. Lichtenbelt , Ross A. Cunniff , Jeffrey F. Juliano , Jeffrey A. Bolz
CPC分类号: G06T15/04 , G06T2210/52
摘要: A method and apparatus for distributing the workload of rendering an image where texture mapping is involved among multiple graphics processing units (GPUs) are provided. The method generally entails dividing a texture map among multiple GPUs, performing texture mapping in each GPU to render image data in each GPU's frame buffer, combining the image data from each frame buffer, and scanning out the combined image to a display.
摘要翻译: 提供了一种用于在多个图形处理单元(GPU)之间分配绘制纹理映射的图像的工作负载的方法和装置。 该方法通常需要在多个GPU之间划分纹理映射,在每个GPU中执行纹理映射以在每个GPU的帧缓冲器中渲染图像数据,组合来自每个帧缓冲器的图像数据,并将组合的图像扫描到显示器。
-
公开(公告)号:US08253749B1
公开(公告)日:2012-08-28
申请号:US11683185
申请日:2007-03-07
CPC分类号: G06F9/5033
摘要: One embodiment of the present invention sets forth a set of application programming interface (API) extensions that enable a software application to control the processing work assigned to each GPU in a multi-GPU system. The software application enumerates a list of available GPUs, sets an affinity mask from the enumerated list of GPUs and generates an affinity device context associated with the affinity mask. The software application can then generate and utilize an affinity rendering context that directs rendering commands to a set of explicitly selected GPUs, thus allocating work among specifically selected GPUs. The software application is empowered to use domain specific knowledge to better optimize the work assigned to each GPU, thus achieving greater overall processing efficiency relative to the prior art techniques.
摘要翻译: 本发明的一个实施例提出了一组应用编程接口(API)扩展,其使得软件应用能够控制分配给多GPU系统中的每个GPU的处理工作。 软件应用程序枚举可用GPU的列表,从枚举的GPU列表中设置一个亲和性掩码,并生成与亲和性掩码相关联的关联设备上下文。 然后,软件应用程序可以生成并利用将渲染命令引导到一组明确选择的GPU的亲和度渲染上下文,从而在特定选择的GPU之间分配工作。 软件应用程序被授权使用域特定知识来更好地优化分配给每个GPU的工作,从而相对于现有技术获得更大的整体处理效率。
-
公开(公告)号:US08542247B1
公开(公告)日:2013-09-24
申请号:US12505398
申请日:2009-07-17
申请人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
发明人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
IPC分类号: G09G5/00
CPC分类号: G06T15/005 , G06T15/40 , G09G5/363 , G09G5/393 , G09G2360/06 , G09G2360/08
摘要: One embodiment of the invention sets forth a mechanism for compiling a vertex shader program into two portions, a culling portion and a shading portion. The culling portion of the compiled vertex shader program specifies vertex attributes and instructions of the vertex shader program needed to determine whether early vertex culling operations should be performed on a batch of vertices associated with one or more primitives of a graphics scene. The shading portion of the compiled vertex shader program specifies the remaining vertex attributes and instructions of the vertex shader program for performing vertex lighting and performing other operations on the vertices in the batch of vertices. When the compiled vertex shader program is executed by graphics processing hardware, the shading portion of the compiled vertex shader is executed only when early vertex culling operations are not performed on the batch of vertices.
-
公开(公告)号:US07898549B1
公开(公告)日:2011-03-01
申请号:US11954543
申请日:2007-12-12
CPC分类号: G09G5/363 , G06T5/20 , G09G2320/0247 , G09G2340/0464
摘要: A graphics processing subsystem defines a bounding area as the portion of the display buffer and other memory buffers occupied by one or more rendered objects. When clearing the memory buffers, only the portions of the buffers corresponding to the bounding area need to be cleared. A graphics pipeline includes a bounding area memory to store bounding area values. The bounding area values are modified during rendering so that each rendered primitive falls within the bounding area values. The graphics processing subsystem clears a portion of the memory buffer in response to a clear command specifying a bounding area. The clear command may include a set of bounding area values defining the bounding area, or alternatively a reference to the bounding area memory. For applications that draw objects in isolation, the bounding area will be smaller than the window, resulting in a decreased time requirement for clearing the memory buffer.
摘要翻译: 图形处理子系统将边界区域定义为由一个或多个渲染对象占据的显示缓冲器和其他存储器缓冲器的部分。 清除存储器缓冲区时,只需要清除对应于边界区域的缓冲区的部分。 图形管线包括用于存储边界区域值的边界区域存储器。 在渲染期间修改边界区域值,使得每个渲染的图元都落在边界区域值内。 响应于指定边界区域的清除命令,图形处理子系统清除存储器缓冲器的一部分。 清除命令可以包括定义边界区域的一组边界区域值,或者替代地对边界区域存储器的引用。 对于孤立绘制对象的应用程序,边界区域将小于窗口,导致清除内存缓冲区所需的时间减少。
-
公开(公告)号:US07528839B1
公开(公告)日:2009-05-05
申请号:US10641279
申请日:2003-08-13
CPC分类号: G09G5/363 , G06T5/20 , G09G2320/0247 , G09G2340/0464
摘要: A graphics processing subsystem defines a bounding area as the portion of the display buffer and other memory buffers occupied by one or more rendered objects. When clearing the memory buffers, only the portions of the buffers corresponding to the bounding area need to be cleared. A graphics pipeline includes a bounding area memory to store bounding area values. The bounding area values are modified during rendering so that each rendered primitive falls within the bounding area values. The graphics processing subsystem clears a portion of the memory buffer in response to a clear command specifying a bounding area. The clear command may include a set of bounding area values defining the bounding area, or alternatively a reference to the bounding area memory. For applications that draw objects in isolation, the bounding area will be smaller than the window, resulting in a decreased time requirement for clearing the memory buffer.
摘要翻译: 图形处理子系统将边界区域定义为由一个或多个渲染对象占据的显示缓冲器和其他存储器缓冲器的部分。 清除存储器缓冲区时,只需要清除对应于边界区域的缓冲区的部分。 图形管线包括用于存储边界区域值的边界区域存储器。 在渲染期间修改边界区域值,使得每个渲染的图元都落在边界区域值内。 响应于指定边界区域的清除命令,图形处理子系统清除存储器缓冲器的一部分。 清除命令可以包括定义边界区域的一组边界区域值,或者替代地对边界区域存储器的引用。 对于孤立绘制对象的应用程序,边界区域将小于窗口,导致清除内存缓冲区所需的时间减少。
-
公开(公告)号:US07425956B1
公开(公告)日:2008-09-16
申请号:US11158023
申请日:2005-06-21
申请人: Kevin T. Lefebvre , Ross A. Cunniff
发明人: Kevin T. Lefebvre , Ross A. Cunniff
IPC分类号: G06T15/00
CPC分类号: G06T15/40
摘要: One embodiment of the present invention sets forth a method for implementing occlusion testing prior to processing a primitive command. The method includes the steps of determining that an occlusion test should be performed on an enclosed primitive, saving the primitive command on a deferred list, and disabling a rendering functionality in hardware. The method also includes the step of performing an occlusion query on the enclosed primitive where a pixel count is generated that indicates how many pixels within a bounding volume defined around the enclosed primitive are visible. One advantage of this method is that it provides occlusion testing functionality for graphics applications that do not use the occlusion testing functionality provided by graphics APIs. Implementing occlusion testing functionality in this fashion reduces rendering time, thereby increasing rendering performance.
摘要翻译: 本发明的一个实施例提出了在处理原语命令之前实现闭塞测试的方法。 该方法包括以下步骤:确定应该对封闭的原语进行遮挡测试,将原始命令保存在延迟列表上,以及在硬件中禁用呈现功能。 该方法还包括对所生成的像素数进行包围的原语执行遮挡查询的步骤,该像素计数指示围绕封闭的基元定义的包围体内的像素数量是可见的。 该方法的一个优点是为不使用图形API提供的遮挡测试功能的图形应用程序提供遮挡测试功能。 以这种方式实现遮挡测试功能减少渲染时间,从而提高渲染性能。
-
公开(公告)号:US08564616B1
公开(公告)日:2013-10-22
申请号:US12505402
申请日:2009-07-17
申请人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
发明人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
IPC分类号: G09G5/00
CPC分类号: G09G5/363 , G09G2360/08 , G09G2370/10
摘要: One embodiment of the invention sets forth a mechanism for compiling a vertex shader program into two portions, a culling portion and a shading portion. The culling portion of the compiled vertex shader program specifies vertex attributes and instructions of the vertex shader program needed to determine whether early vertex culling operations should be performed on a batch of vertices associated with one or more primitives of a graphics scene. The shading portion of the compiled vertex shader program specifies the remaining vertex attributes and instructions of the vertex shader program for performing vertex lighting and performing other operations on the vertices in the batch of vertices. When the compiled vertex shader program is executed by graphics processing hardware, the shading portion of the compiled vertex shader is executed only when early vertex culling operations are not performed on the batch of vertices.
摘要翻译: 本发明的一个实施例提出了一种用于将顶点着色器程序编译成两部分,一个剔除部分和一个阴影部分的机构。 编译的顶点着色器程序的剔除部分指定顶点着色器程序的顶点属性和指令,以确定是否应对与图形场景的一个或多个图元相关联的一批顶点执行早期顶点剔除操作。 编译顶点着色器程序的阴影部分指定顶点着色器程序的剩余顶点属性和指令,用于执行顶点点亮,并对顶点的顶点中的顶点执行其他操作。 当编译的顶点着色器程序由图形处理硬件执行时,只有在不对顶点顶点执行早期顶点剔除操作时才执行编译顶点着色器的阴影部分。
-
-
-
-
-
-