Distributed rendering of texture data
    1.
    发明授权
    Distributed rendering of texture data 有权
    纹理数据的分布渲染

    公开(公告)号:US07969444B1

    公开(公告)日:2011-06-28

    申请号:US11609820

    申请日:2006-12-12

    IPC分类号: G06F15/16 G09G5/36

    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的帧缓冲器中渲染图像数据,组合来自每个帧缓冲器的图像数据,并将组合的图像扫描到显示器。

    Using affinity masks to control multi-GPU processing
    2.
    发明授权
    Using affinity masks to control multi-GPU processing 有权
    使用亲和力掩码来控制多GPU处理

    公开(公告)号:US08253749B1

    公开(公告)日:2012-08-28

    申请号:US11683185

    申请日:2007-03-07

    IPC分类号: G06F15/16 G06F9/46

    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的工作,从而相对于现有技术获得更大的整体处理效率。

    Methods and systems for processing a geometry shader program developed in a high-level shading language
    3.
    发明授权
    Methods and systems for processing a geometry shader program developed in a high-level shading language 有权
    用于处理以高级着色语言开发的几何着色器程序的方法和系统

    公开(公告)号:US07958498B1

    公开(公告)日:2011-06-07

    申请号:US11565585

    申请日:2006-11-30

    IPC分类号: G06F9/45

    摘要: Methods and systems for processing a geometry shader program developed in a high-level shading language are disclosed. Specifically, in one embodiment, after having received the geometry shader program configured to be executed by a first processing unit in a programmable execution environment, the high-level shading language instructions of the geometry shader program is converted into low-level programming language instructions. The low-level programming language instructions are then linked with the low-level programming language instructions of a domain-specific shader program, which is configured to be executed by a second processing unit also residing in the programmable execution environment. The linked instructions of the geometry shader program are directed to the first processing unit, and the linked instructions of the domain-specific shader program are directed to the second processing unit.

    摘要翻译: 公开了用于处理以高级着色语言开发的几何着色器程序的方法和系统。 具体地说,在一个实施例中,在可编程执行环境中接收到被配置为由第一处理单元执行的几何着色器程序之后,将几何着色器程序的高级着色语言指令转换成低级编程语言指令。 然后,低级编程语言指令与特定于领域的着色器程序的低级编程语言指令相关联,该指令被配置为由驻留在可编程执行环境中的第二处理单元执行。 几何着色器程序的链接指令被引导到第一处理单元,并且域专用着色器程序的链接指令被引导到第二处理单元。

    Feedback and record of transformed vertices in a graphics library
    4.
    发明授权
    Feedback and record of transformed vertices in a graphics library 有权
    图形库中已转换顶点的反馈和记录

    公开(公告)号:US07928989B1

    公开(公告)日:2011-04-19

    申请号:US11609763

    申请日:2006-12-12

    CPC分类号: G06T15/04 G06T2200/28

    摘要: One embodiment of the invention is a method for storing transformed vertex attributes that includes the steps of allocating memory space for a transform feedback buffer, selecting one or more transformed vertex attributes to store in the transform feedback buffer independently of any shader programs executing on any processing units in the graphics rendering pipeline, configuring the transform feedback buffer to store the one or more transformed vertex attributes, and initiating a processing mode wherein vertex data is processed in the graphics rendering pipeline to produce the transformed vertices, the attributes of which are then written to the transform feedback buffer. One advantage is that the transform feedback buffer can be used to store and access transformed vertices, without having to convert the vertex data to a pixel format, store the pixels in a frame buffer, and then convert the pixels back to a vertex format.

    摘要翻译: 本发明的一个实施例是一种用于存储变换的顶点属性的方法,包括以下步骤:为变换反馈缓冲器分配存储器空间,选择一个或多个经变换的顶点属性以独立于在任何处理上执行的任何着色器程序存储在变换反馈缓冲器中 图形渲染流水线中的单元,配置变换反馈缓冲器以存储一个或多个变换的顶点属性,以及启动处理模式,其中在图形渲染流水线中处理顶点数据以产生变换的顶点,然后将其属性写入 到变换反馈缓冲器。 一个优点是,变换反馈缓冲器可用于存储和访问经变换的顶点,而不必将顶点数据转换为像素格式,将像素存储在帧缓冲器中,然后将像素转换回顶点格式。

    System and method for transferring data between unrelated API contexts on one or more GPUs
    5.
    发明授权
    System and method for transferring data between unrelated API contexts on one or more GPUs 有权
    用于在一个或多个GPU上的不相关的API上下文之间传送数据的系统和方法

    公开(公告)号:US08223159B1

    公开(公告)日:2012-07-17

    申请号:US11471154

    申请日:2006-06-20

    IPC分类号: G06T1/00

    CPC分类号: G06T1/20

    摘要: One embodiment of the present invention sets forth a system configured for transferring data between independent application programming interface (API) contexts on one or more graphics processing units (GPUs). Each API context may derive from an arbitrary API. Data is pushed from one API context to another API context using a peer-to-peer buffer “blit” operation executed between buffers allocated in the source and target API context memory spaces. The source and target API context memory spaces may be located within the frame buffers of the source and target GPUs, respectively, or located within the frame buffer of a single GPU. The data transfers between the API contexts are synchronized using semaphore operator pairs inserted in push buffer commands that are executed by the one or more GPUs.

    摘要翻译: 本发明的一个实施例阐述了一种被配置为在一个或多个图形处理单元(GPU)上的独立应用编程接口(API)上下文之间传送数据的系统。 每个API上下文都可以从任意的API派生。 使用在源和目标API上下文存储空间中分配的缓冲区之间执行的对等缓冲区“blit”操作,将数据从一个API上下文推送到另一个API上下文。 源API和目标API上下文存储器空间可以分别位于源GPU和目标GPU的帧缓冲器内,或者位于单个GPU的帧缓冲器内。 使用由一个或多个GPU执行的推送缓冲区命令中插入的信号量操作符对,使API上下文之间的数据传输同步。

    Integer-based functionality in a graphics shading language
    6.
    发明授权
    Integer-based functionality in a graphics shading language 有权
    图形阴影语言中基于整数的功能

    公开(公告)号:US08044951B1

    公开(公告)日:2011-10-25

    申请号:US11565543

    申请日:2006-11-30

    CPC分类号: G06F8/54 G06T15/005

    摘要: One embodiment of the present invention sets forth a technique for improving the flexibility and programmability of a graphics pipeline by adding application programming interface (API) extensions to the OpenGL Shading Language (GLSL) that provide native support for integer data types and operations. The integer API extensions span from the API to the hardware execution units within a graphics processing unit (GPU), thereby providing native integer support throughout the graphics pipeline.

    摘要翻译: 本发明的一个实施例提出了一种通过向对整数数据类型和操作提供本地支持的OpenGL着色语言(GLSL)添加应用编程接口(API)扩展来提高图形流水线的灵活性和可编程性的技术。 整数API扩展从API到图形处理单元(GPU)中的硬件执行单元,从而在整个图形管线中提供本机整数支持。

    Storage and support for large amounts of constant data in a graphics library
    7.
    发明授权
    Storage and support for large amounts of constant data in a graphics library 有权
    在图形库中存储和支持大量常量数据

    公开(公告)号:US07852345B1

    公开(公告)日:2010-12-14

    申请号:US11609845

    申请日:2006-12-12

    IPC分类号: G06T15/00

    CPC分类号: G06T15/04 G06T2200/28

    摘要: One embodiment of the invention is a method of accessing a bindable uniform variable bound to a buffer object that includes the steps of creating a linked program object comprising one or more shader programs, where each shader program includes instructions written in a high-level shader language, and where the linked program object includes a reference to a bindable uniform variable and indicates which shader programs use the bindable uniform variable. The method also includes determining a memory size to support the bindable uniform variable, allocating a buffer object having the memory size, binding the buffer object to the bindable uniform variable, populating the buffer object with values for the bindable uniform variable, and accessing the values of the bindable uniform with one or more of the shader programs in the linked program object.

    摘要翻译: 本发明的一个实施例是一种访问绑定到缓冲对象的可绑定的统一变量的方法,包括以下步骤:创建包括一个或多个着色器程序的链接的程序对象,其中每个着色器程序包括用高级着色器语言编写的指令 ,并且其中链接的程序对象包括对可绑定的统一变量的引用,并指示哪个着色器程序使用可绑定的统一变量。 该方法还包括确定存储器大小以支持可绑定的统一变量,分配具有存储器大小的缓冲器对象,将缓冲对象绑定到可绑定的统一变量,使用可绑定的统一变量的值填充缓冲对象,以及访问值 的可绑定的统一与链接的程序对象中的一个或多个着色器程序。

    Methods and systems for processing a geometry shader program developed in a high-level shading language
    8.
    发明授权
    Methods and systems for processing a geometry shader program developed in a high-level shading language 有权
    用于处理以高级着色语言开发的几何着色器程序的方法和系统

    公开(公告)号:US07746347B1

    公开(公告)日:2010-06-29

    申请号:US11565566

    申请日:2006-11-30

    CPC分类号: G06F8/41 G06T15/005

    摘要: Methods and systems for processing a geometry shader program developed in a high-level shading language are disclosed. Specifically, in one embodiment, after having received the geometry shader program configured to be executed by a first processing unit in a programmable execution environment, the high-level shading language instructions of the geometry shader program is converted into low-level programming language instructions. The low-level programming language instructions are then linked with the low-level programming language instructions of a domain-specific shader program, which is configured to be executed by a second processing unit also residing in the programmable execution environment. The linked instructions of the geometry shader program are directed to the first processing unit, and the linked instructions of the domain-specific shader program are directed to the second processing unit.

    摘要翻译: 公开了用于处理以高级着色语言开发的几何着色器程序的方法和系统。 具体地说,在一个实施例中,在可编程执行环境中接收到配置为由第一处理单元执行的几何着色器程序之后,将几何着色器程序的高级着色语言指令转换成低级编程语言指令。 然后,低级编程语言指令与特定于领域的着色器程序的低级编程语言指令相关联,该指令被配置为由驻留在可编程执行环境中的第二处理单元执行。 几何着色器程序的链接指令被引导到第一处理单元,并且域专用着色器程序的链接指令被引导到第二处理单元。