OPTIMIZING COMPILER TRANSFORMS FOR A HIGH LEVEL SHADER LANGUAGE
    3.
    发明申请
    OPTIMIZING COMPILER TRANSFORMS FOR A HIGH LEVEL SHADER LANGUAGE 有权
    用于高级别阴影语言的优化编译器变换

    公开(公告)号:US20090217252A1

    公开(公告)日:2009-08-27

    申请号:US12435919

    申请日:2009-05-05

    IPC分类号: G06F9/45

    摘要: A high level shader language compiler incorporates transforms to optimize shader code for graphics processing hardware. An instruction reordering transform determines instruction encapsulations of dependent instructions that reduce concurrent register usage by the shader. A phase pulling transform re-organizes the shader's instructions into phases that reduce a measure of depth of texture loads. A register assigning transform assigns registers to lower register usage by the shader.

    摘要翻译: 高级着色器语言编译器采用转换来优化图形处理硬件的着色器代码。 指令重排序变换决定了依赖指令的指令封装,减少着色器的并发寄存器使用。 相位拉变换将着色器的指令重新组织成减少纹理负载深度测量的阶段。 分配变换寄存器分配寄存器以降低着色器的寄存器使用率。

    Preshaders: optimization of GPU programs
    4.
    发明申请
    Preshaders: optimization of GPU programs 有权
    Preshaders:优化GPU程序

    公开(公告)号:US20060170680A1

    公开(公告)日:2006-08-03

    申请号:US11045784

    申请日:2005-01-28

    IPC分类号: G06T15/50

    CPC分类号: G06T15/005

    摘要: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.

    摘要翻译: 分析能够在GPU上执行的着色器程序以获得常量表达式。 这些常数表达式被替换为对GPU上的寄存器或存储器地址的引用。 创建一个包含两个可执行文件的preshader。 第一个可执行文件包含着色器程序,每个常量表达式被删除,并由GPU可访问的唯一引用替换。 第一个文件是可执行的在GPU。 第二个文件包含删除的常数表达式以及放置相关引用生成的值的指令。 第二个可执行文件可在CPU中执行。 当执行preshader时,对于显示的每个顶点或像素,在GPU执行第一个文件的实例。 第二个文件的一个实例在CPU中执行。 当执行preshader时,将评估第二个文件中的常量表达式,并将生成的中间值传递给GPU上第一个文件的每个实例。

    Usage semantics
    5.
    发明授权
    Usage semantics 有权
    使用语义

    公开(公告)号:US06839062B2

    公开(公告)日:2005-01-04

    申请号:US10373340

    申请日:2003-02-24

    IPC分类号: G06T15/50 G06T15/00

    摘要: Usage semantics allow for shaders to be authored independently of the actual vertex data and accordingly enables their reuse. Usage semantics define a feature that binds data between distinct components to allow them to work together. In various embodiments, the components include high level language variables that are bound by an application or by vertex data streams, high level language fragments to enable several fragments to be developed separately and compiled at a later time together to form a single shader, assembly language variables that get bound to vertex data streams, and parameters between vertex and pixel shaders. This allows developers to be able to program the shaders in the assembly and high level language with variables that refer to names rather than registers. By allowing this decoupling of registers from the language, developers can work on the language separately from the vertex data and modify and enhance high level language shaders without having to manually manipulate the registers. This also allows the same shaders to work on different sets of mesh data, allowing the shaders to be reused. Generally, semantics can be used as a data binding protocol between distinct areas of the programmable pipeline to allow for a more flexible workflow.

    摘要翻译: 使用语义允许独立于实际顶点数据创建着色器,从而使其可重用。 使用语义定义了在不同组件之间绑定数据以允许它们一起工作的功能。 在各种实施例中,组件包括由应用程序或顶点数据流约束的高级语言变量,高级语言片段,以使得能够分开开发多个片段并且一起编译在一起形成单个着色器,汇编语言 变量绑定到顶点数据流,以及顶点和像素着色器之间的参数。 这允许开发人员能够使用引用名称而不是寄存器的变量对组装和高级语言中的着色器进行编程。 通过允许寄存器与语言的分离,开发人员可以与顶点数据分开工作,修改和增强高级语言着色器,而无需手动操作寄存器。 这也允许相同的着色器在不同的网格数据集上工作,从而允许重复使用着色器。 通常,语义可以用作可编程管道的不同区域之间的数据绑定协议,以允许更灵活的工作流程。

    PRESHADERS: OPTIMIZATION OF GPU PRO
    6.
    发明申请
    PRESHADERS: OPTIMIZATION OF GPU PRO 有权
    PRESHADERS:GPU PRO优化

    公开(公告)号:US20080291207A1

    公开(公告)日:2008-11-27

    申请号:US12169364

    申请日:2008-07-08

    IPC分类号: G06F15/16

    CPC分类号: G06T15/005

    摘要: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.

    摘要翻译: 分析能够在GPU上执行的着色器程序以获得常量表达式。 这些常数表达式被替换为对GPU上的寄存器或存储器地址的引用。 创建一个包含两个可执行文件的preshader。 第一个可执行文件包含着色器程序,每个常量表达式被删除,并由GPU可访问的唯一引用替换。 第一个文件是可执行的在GPU。 第二个文件包含删除的常数表达式以及放置相关引用生成的值的指令。 第二个可执行文件可在CPU中执行。 当执行preshader时,对于显示的每个顶点或像素,在GPU执行第一个文件的实例。 第二个文件的一个实例在CPU中执行。 当执行preshader时,将评估第二个文件中的常量表达式,并将生成的中间值传递给GPU上第一个文件的每个实例。

    Preshaders: optimization of GPU programs
    7.
    发明授权
    Preshaders: optimization of GPU programs 有权
    Preshaders:优化GPU程序

    公开(公告)号:US07394464B2

    公开(公告)日:2008-07-01

    申请号:US11045784

    申请日:2005-01-28

    IPC分类号: G06F15/16 G06F15/00 G06T1/00

    CPC分类号: G06T15/005

    摘要: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.

    摘要翻译: 分析能够在GPU上执行的着色器程序以获得常量表达式。 这些常数表达式被替换为对GPU上的寄存器或存储器地址的引用。 创建一个包含两个可执行文件的preshader。 第一个可执行文件包含着色器程序,每个常量表达式被删除,并由GPU可访问的唯一引用替换。 第一个文件是可执行的在GPU。 第二个文件包含删除的常数表达式以及放置相关引用生成的值的指令。 第二个可执行文件可在CPU中执行。 当执行preshader时,对于显示的每个顶点或像素,在GPU执行第一个文件的实例。 第二个文件的一个实例在CPU中执行。 当执行preshader时,将评估第二个文件中的常量表达式,并将生成的中间值传递给GPU上第一个文件的每个实例。

    Preshaders: optimization of GPU pro
    8.
    发明授权
    Preshaders: optimization of GPU pro 有权
    Preshaders:GPU pro的优化

    公开(公告)号:US07619630B2

    公开(公告)日:2009-11-17

    申请号:US12169364

    申请日:2008-07-08

    IPC分类号: G06F15/16 G06F15/00 G06T1/00

    CPC分类号: G06T15/005

    摘要: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.

    摘要翻译: 分析能够在GPU上执行的着色器程序以获得常量表达式。 这些常数表达式被替换为对GPU上的寄存器或存储器地址的引用。 创建一个包含两个可执行文件的preshader。 第一个可执行文件包含着色器程序,每个常量表达式被删除,并由GPU可访问的唯一引用替换。 第一个文件是可执行的在GPU。 第二个文件包含删除的常数表达式以及放置相关引用生成的值的指令。 第二个可执行文件可在CPU中执行。 当执行preshader时,对于显示的每个顶点或像素,在GPU执行第一个文件的实例。 第二个文件的一个实例在CPU处执行。 当执行preshader时,将评估第二个文件中的常量表达式,并将生成的中间值传递给GPU上第一个文件的每个实例。