Image loads, stores and atomic operations

    公开(公告)号:US10134169B2

    公开(公告)日:2018-11-20

    申请号:US12855602

    申请日:2010-08-12

    摘要: One embodiment of the present invention sets forth a method for accessing texture objects stored within a texture memory. The method comprises the steps of receiving a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first image unit, binding the first texture object to the first image unit based on the texture bind request, receiving, within a shader engine, a first shading program command from the application program for performing a first memory access operation on the first texture object, wherein the memory access operation is a store operation or atomic operation to an arbitrary location in the image, and performing, within the shader engine, the first memory access operation on the first texture object via the first image unit.

    Bindless texture and image API
    2.
    发明授权
    Bindless texture and image API 有权
    无限纹理和图像API

    公开(公告)号:US09349154B2

    公开(公告)日:2016-05-24

    申请号:US13077787

    申请日:2011-03-31

    IPC分类号: G06T1/20

    CPC分类号: G06T1/20

    摘要: One embodiment of the present invention sets for a method for accessing data objects stored in a memory that is accessible by a graphics processing unit (GPU). The method comprises the steps of creating a data object in the memory based on a command received from an application program, wherein the data object is organized non-linearly in the memory, transmitting a first handle associated with the data object to the application program such that data associated with different draw commands can be accessed by the GPU, wherein the first handle includes an address related to the location of the data object in the memory, receiving a first draw command as well as the first handle from the application program, and transmitting the first draw command and the first handle to the GPU for processing.

    摘要翻译: 本发明的一个实施例设置用于访问存储在由图形处理单元(GPU)可访问的存储器中的数据对象的方法。 该方法包括以下步骤:基于从应用程序接收的命令在存储器中创建数据对象,其中数据对象在存储器中非线性地组织,将与数据对象相关联的第一句柄传送到应用程序, 与GPU不同的绘图命令相关联的数据可以被GPU访问,其中第一句柄包括与存储器中数据对象的位置相关的地址,从应用程序接收第一绘制命令以及第一句柄,以及 将第一绘制命令和第一句柄传送到GPU进行处理。

    GPU work creation and stateless graphics in OPENGL
    3.
    发明授权
    GPU work creation and stateless graphics in OPENGL 有权
    GPU工作创建和无状态图形在OPENGL

    公开(公告)号:US09275491B2

    公开(公告)日:2016-03-01

    申请号:US13078878

    申请日:2011-04-01

    摘要: One embodiment of the present invention sets forth a method for generating work to be processed by a graphics pipeline residing within a graphics processor. The method includes the steps of receiving an indication that a first graphics workload is to be submitted to a command queue associated with the graphics processor, allocating a first portion of shader accessible memory for one or more units of state information that are necessary for processing the first graphics workload, populating the first portion of shader accessible memory with the one or more units of state information, and transmitting to the command queue of the graphics processor the one or more units of state information stored within the first portion of shader accessible memory, wherein the first graphics workload is processed within the graphics pipeline based on the one or more units of state information.

    摘要翻译: 本发明的一个实施例提出了一种用于产生要由位于图形处理器内的图形管线处理的工作的方法。 该方法包括以下步骤:接收将要向第一图形工作负载提交到与图形处理器相关联的命令队列的指示,为处理所述图形处理所需的一个或多个状态信息单​​元分配着色器可访问存储器的第一部分 第一图形工作负载,用一个或多个状态信息单​​元填充着色器可访问存储器的第一部分,以及向存储在着色器可访问存储器的第一部分内的一个或多个状态信息单​​元传送到图形处理器的命令队列, 其中基于所述一个或多个状态信息单​​元在所述图形流水线内处理所述第一图形工作负载。

    Bindless memory access in direct 3D
    4.
    发明授权
    Bindless memory access in direct 3D 有权
    直接3D中无限存储器访问

    公开(公告)号:US09251551B2

    公开(公告)日:2016-02-02

    申请号:US13078848

    申请日:2011-04-01

    IPC分类号: G06T1/20

    CPC分类号: G06T1/20

    摘要: One embodiment of the present invention sets for a method for accessing data objects stored in a memory that is accessible by a graphics processing unit (GPU). The method comprises the steps of creating a data object in the memory based on a command received from an application program, transmitting a first handle associated with the data object to the application program such that data associated with different graphics commands can be accessed by the GPU, wherein the first handle includes a memory address that provides access to only a particular portion of the data object, receiving a first graphics command as well as the first handle from the application program, wherein the first graphics command includes a draw command or a compute grid launch, and transmitting the first graphics command and the first handle to the GPU for processing.

    摘要翻译: 本发明的一个实施例设置用于访问存储在由图形处理单元(GPU)可访问的存储器中的数据对象的方法。 该方法包括以下步骤:基于从应用程序接收的命令在存储器中创建数据对象,将与数据对象相关联的第一句柄发送到应用程序,使得与GPU不同的图形命令相关联的数据可被GPU访问 ,其中所述第一句柄包括仅提供对所述数据对象的特定部分的访问的存储器地址,从所述应用程序接收第一图形命令以及所述第一句柄,其中所述第一图形命令包括绘制命令或计算 网格发射,并将第一图形命令和第一个句柄传送到GPU进行处理。

    State objects for specifying dynamic state
    5.
    发明授权
    State objects for specifying dynamic state 有权
    用于指定动态状态的状态对象

    公开(公告)号:US08970608B2

    公开(公告)日:2015-03-03

    申请号:US13078867

    申请日:2011-04-01

    摘要: One embodiment of the present invention sets forth a technique for transmitting state information associated with at least one graphics command to a graphics processor. The method includes the steps of generating a state object that specifies a set of properties that is needed to execute a first graphics command within the graphics processor, storing in the state object a value associated with a first property included in the set of properties, marking a second property included in the set of properties as a dynamic property, where a value associated with the second property is not stored in the state object and can be updated without having to modify the state object, and transmitting the state object to the graphics processor in order to execute the first graphics command.

    摘要翻译: 本发明的一个实施例提出了一种用于将与至少一个图形命令相关联的状态信息发送到图形处理器的技术。 该方法包括以下步骤:生成指定在图形处理器内执行第一图形命令所需的一组属性的状态对象,在状态对象中存储与该属性集合中包括的第一属性相关联的值,标记 作为动态属性包含在属性集中的第二属性,其中与第二属性相关联的值不存储在状态对象中并且可以被更新而不必修改状态对象,并且将状态对象传送到图形处理器 以便执行第一个图形命令。

    GPU virtual memory model for OpenGL
    6.
    发明授权
    GPU virtual memory model for OpenGL 有权
    GPU虚拟内存模型为OpenGL

    公开(公告)号:US08537169B1

    公开(公告)日:2013-09-17

    申请号:US12715176

    申请日:2010-03-01

    IPC分类号: G06T1/00 G06F12/10

    摘要: One embodiment of the present invention sets forth a method for accessing, from within a graphics processing unit (GPU), data objects stored in a memory accessible by the GPU. The method comprises the steps of creating a data object in the memory based on a command received from an application program, transmitting an address associated with the data object to the application program for providing data associated with different draw commands to the GPU, receiving a first draw command and the address associated with the data object from the application program, and transmitting the first draw command and the address associated with the data object to the GPU for processing.

    摘要翻译: 本发明的一个实施例提出了一种用于从图形处理单元(GPU)内访问存储在由GPU可访问的存储器中的数据对象的方法。 该方法包括以下步骤:基于从应用程序接收的命令在存储器中创建数据对象,将与数据对象相关联的地址发送到应用程序,以向GPU提供与不同绘制命令相关联的数据,接收第一 绘制命令和与应用程序中的数据对象相关联的地址,以及将第一绘制命令和与数据对象相关联的地址发送到GPU进行处理。

    SYSTEM AND METHOD FOR LONG RUNNING COMPUTE USING BUFFERS AS TIMESLICES
    7.
    发明申请
    SYSTEM AND METHOD FOR LONG RUNNING COMPUTE USING BUFFERS AS TIMESLICES 审中-公开
    使用缓冲区作为时间表长时间运行的系统和方法

    公开(公告)号:US20130162661A1

    公开(公告)日:2013-06-27

    申请号:US13333920

    申请日:2011-12-21

    IPC分类号: G06T1/00

    摘要: A system and method for using command buffers as timeslices or periods of execution for a long running compute task on a graphics processor. Embodiments of the present invention allow execution of long running compute applications with operating systems that manage and schedule graphics processing unit (GPU) resources and that may have a predetermined execution time limit for each command buffer. The method includes receiving a request from an application and determining a plurality of command buffers required to execute the request. Each of the plurality of command buffers may correspond to some portion of execution time or timeslice. The method further includes sending the plurality of command buffers to an operating system operable for scheduling the plurality of command buffers for execution on a graphics processor. The command buffers from a different request are time multiplexed within the execution of the plurality of command buffers on the graphics processor.

    摘要翻译: 使用命令缓冲区作为图形处理器上长时间运行的计算任务的执行时间或时间段的系统和方法。 本发明的实施例允许使用管理和调度图形处理单元(GPU)资源的操作系统执行长时间运行的计算应用,并且可以对每个命令缓冲器具有预定的执行时间限制。 该方法包括从应用程序接收请求并确定执行请求所需的多个命令缓冲区。 多个命令缓冲器中的每一个可以对应于执行时间或时间片的一部分。 该方法还包括将多个命令缓冲器发送到可操作用于调度多个命令缓冲器以在图形处理器上执行的操作系统。 来自不同请求的命令缓冲器在图形处理器上的多个命令缓冲器的执行中被时分复用。

    GPU Work Creation and Stateless Graphics in OPENGL
    8.
    发明申请
    GPU Work Creation and Stateless Graphics in OPENGL 有权
    GPU工作创建和无状态图形在OPENGL

    公开(公告)号:US20110242119A1

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

    申请号:US13078878

    申请日:2011-04-01

    IPC分类号: G06T15/00

    摘要: One embodiment of the present invention sets forth a method for generating work to be processed by a graphics pipeline residing within a graphics processor. The method includes the steps of receiving an indication that a first graphics workload is to be submitted to a command queue associated with the graphics processor, allocating a first portion of shader accessible memory for one or more units of state information that are necessary for processing the first graphics workload, populating the first portion of shader accessible memory with the one or more units of state information, and transmitting to the command queue of the graphics processor the one or more units of state information stored within the first portion of shader accessible memory, wherein the first graphics workload is processed within the graphics pipeline based on the one or more units of state information.

    摘要翻译: 本发明的一个实施例提出了一种用于产生要由位于图形处理器内的图形管线处理的工作的方法。 该方法包括以下步骤:接收将要向第一图形工作负载提交到与图形处理器相关联的命令队列的指示,为处理所述图形处理所需的一个或多个状态信息单​​元分配着色器可访问存储器的第一部分 第一图形工作负载,用一个或多个状态信息单​​元填充着色器可访问存储器的第一部分,以及向存储在着色器可访问存储器的第一部分内的一个或多个状态信息单​​元传送到图形处理器的命令队列, 其中基于所述一个或多个状态信息单​​元在所述图形流水线内处理所述第一图形工作负载。

    Distributed rendering of texture data
    9.
    发明授权
    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的帧缓冲器中渲染图像数据,组合来自每个帧缓冲器的图像数据,并将组合的图像扫描到显示器。

    Global Stores and Atomic Operations
    10.
    发明申请
    Global Stores and Atomic Operations 有权
    全球商店和原子营运

    公开(公告)号:US20110063296A1

    公开(公告)日:2011-03-17

    申请号:US12849766

    申请日:2010-08-03

    IPC分类号: G06T15/50

    摘要: One embodiment of the present invention sets forth a method for storing processed data within buffer objects stored in buffer object memory from within shader engines executing on a GPU. The method comprises the steps of receiving a stream of one or more shading program commands via a graphics driver, executing, within a shader engine, at least one of the one or more shading program commands to generate processed data, determining from the stream of one or more shading program commands an address associated with a first data object stored within the buffer memory, and storing, from within the shader engine, the processed data in the first data object stored within the buffer memory.

    摘要翻译: 本发明的一个实施例提出了一种用于在从GPU执行的着色器引擎内存储在缓冲器对象存储器中的缓冲器对象内存储经处理的数据的方法。 该方法包括以下步骤:经由图形驱动器接收一个或多个着色程序命令的流,在着色器引擎内执行一个或多个着色程序命令中的至少一个,以生成经处理的数据,从一个 或更多的阴影程序命令与存储在缓冲存储器中的第一数据对象相关联的地址,以及从着色器引擎内存储处理的数据在存储在缓冲存储器内的第一数据对象中。