Hardware override of application programming interface programmed state
    42.
    发明授权
    Hardware override of application programming interface programmed state 有权
    硬件覆盖应用程序编程接口编程状态

    公开(公告)号:US08228338B1

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

    申请号:US11625136

    申请日:2007-01-19

    IPC分类号: G06F13/14 G06F11/00 G06T1/00

    摘要: A method and system for overriding state information programmed into a processor using an application programming interface (API) avoids introducing error conditions in the processor. An override monitor unit within the processor stores the programmed state for any setting that is overridden so that the programmed state can be restored when the error condition no longer exists. The override monitor unit overrides the programmed state by forcing the setting to a legal value that does not cause an error condition. The processor is able to continue operating without notifying a device driver that an error condition has occurred since the error condition is avoided.

    摘要翻译: 使用应用编程接口(API)将编程到处理器中的状态信息进行覆盖的方法和系统避免了在处理器中引入错误状况。 处理器内的覆盖监视单元存储被覆盖的任何设置的编程状态,以便当错误条件不再存在时可以恢复编程状态。 覆盖监视器单元通过强制设置为不引起错误条件的合法值来覆盖编程状态。 处理器能够在不通知设备驱动程序的情况下继续运行,因为避免了错误条件,所以发生了错误状况。

    Using programmable constant buffers for multi-threaded processing
    43.
    发明授权
    Using programmable constant buffers for multi-threaded processing 有权
    使用可编程常量缓冲区进行多线程处理

    公开(公告)号:US08094158B1

    公开(公告)日:2012-01-10

    申请号:US11344306

    申请日:2006-01-31

    IPC分类号: G06F13/00

    摘要: Systems and methods for using multiple versions of programmable constants within a multi-threaded processor allow a programmable constant to be changed before a program using the constants has completed execution. Processing performance may be improved since programs using different values for a programmable constant may execute simultaneously. The programmable constants are stored in a constant buffer and an entry of a constant buffer table is bound to the constant buffer. When a programmable constant is changed it is copied to an entry in a page pool and address translation for the page pool is updated to correspond to the old version (copy) of the programmable constant. An advantage is that the constant buffer stores the newest version of the programmable constant.

    摘要翻译: 在多线程处理器中使用多个版本的可编程常数的系统和方法允许在使用常数的程序完成执行之前更改可编程常数。 可以提高处理性能,因为对可编程常数使用不同值的程序可以同时执行。 可编程常数存储在常量缓冲区中,常数缓冲表的条目被绑定到常量缓冲区。 当可编程常数被更改时,它被复制到页面池中的条目,并且页面池的地址转换被更新为对应于可编程常数的旧版本(复制)。 一个优点是常量缓冲存储最新版本的可编程常数。

    Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing
    44.
    发明申请
    Alignment and Ordering of Vector Elements for Single Instruction Multiple Data Processing 审中-公开
    用于单指令多数据处理的向量元素的对齐和排序

    公开(公告)号:US20110055497A1

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

    申请号:US12875268

    申请日:2010-09-03

    IPC分类号: G06F12/00

    摘要: The present invention provides alignment and ordering of vector elements for SIMD processing. In the alignment of vector elements for SIMD processing, one vector is loaded from a memory unit into a first register and another vector is loaded from the memory unit into a second register. The first vector contains a first byte of an aligned vector to be generated. Then, a starting byte specifying the first byte of an aligned vector is determined. Next, a vector is extracted from the first register and the second register beginning from the first bit in the first byte of the first register continuing through the bits in the second register. Finally, the extracted vector is replicated into a third register such that the third register contains a plurality of elements aligned for SIMD processing. In the ordering of vector elements for SIMD processing, a first vector is loaded from a memory unit into a first register and a second vector is loaded from the memory unit into a second register. Then, a subset of elements are selected from the first register and the second register. The elements from the subset are then replicated into the elements in the third register in a particular order suitable for subsequent SIMD vector processing.

    摘要翻译: 本发明提供用于SIMD处理的向量元素的对准和排序。 在用于SIMD处理的向量元素的对齐中,一个向量从存储器单元加载到第一寄存器中,另一个向量从存储器单元加载到第二寄存器中。 第一个向量包含要生成的对齐向量的第一个字节。 然后,确定指定对齐向量的第一个字节的起始字节。 接下来,从第一寄存器提取向量,并且从第一寄存器的第一字节的第一位开始的第二寄存器继续通过第二寄存器中的位。 最后,将所提取的矢量复制到第三寄存器中,使得第三寄存器包含对准用于SIMD处理的多个元素。 在用于SIMD处理的向量元素的排序中,将第一向量从存储器单元加载到第一寄存器中,并且将第二向量从存储器单元加载到第二寄存器中。 然后,从第一寄存器和第二寄存器中选择元件的子集。 然后将来自子集的元素以适合于随后的SIMD向量处理的特定顺序复制到第三寄存器中的元素中。

    Vertex processing when w=0
    45.
    发明授权
    Vertex processing when w=0 有权
    w = 0时的顶点处理

    公开(公告)号:US07420557B1

    公开(公告)日:2008-09-02

    申请号:US11212170

    申请日:2005-08-25

    申请人: Henry P. Moreton

    发明人: Henry P. Moreton

    IPC分类号: G06T15/10

    CPC分类号: G06T15/005 G06T15/30

    摘要: Vertices defining a graphics primitive may be processed in homogeneous space and projected into normalized device coordinate space by dividing each coordinate of a vertex by w. When the w coordinate for a vertex is equal to zero, the projected coordinates are set equal to the homogeneous coordinate values. During a viewport transform operation, only the viewport scale is applied rather than applying the viewport scale and viewport bias to produce the vertex in device coordinate space (screen space). Furthermore, when an edge slope is computed for a vertex with a w coordinate equal to zero, the slope is set equal to the vertex in device coordinate space rather than the difference of the two vertices defining the edge. Therefore, a vertex at infinity is correctly positioned avoiding the introduction of visual artifacts.

    摘要翻译: 定义图形基元的顶点可以在均匀空间中处理,并通过将顶点的每个坐标除以w而投射到归一化的设备坐标空间中。 当顶点的w坐标等于零时,将投影坐标设置为等于均匀坐标值。 在视口变换操作期间,仅应用视口比例,而不是应用视口比例和视口偏差,以在设备坐标空间(屏幕空间)中产生顶点。 此外,当对于w坐标等于零的顶点计算边缘斜率时,将斜率设置为等于设备坐标空间中的顶点,而不是限定边界的两个顶点的差。 因此,无限远的顶点被正确定位,避免引入视觉伪像。

    Shared N-patch edges
    46.
    发明授权
    Shared N-patch edges 有权
    共享的N-patch边

    公开(公告)号:US07250946B1

    公开(公告)日:2007-07-31

    申请号:US11490701

    申请日:2006-07-21

    申请人: Henry P. Moreton

    发明人: Henry P. Moreton

    IPC分类号: G06T15/00

    CPC分类号: G06T17/30

    摘要: Systems and methods for shaping a shared edge between two or more N-patches may be used to eliminate gaps when normal vectors along a shared edge are not equal. More particularly, vertices and normals of a polygon, tristip, quadstrip and so on, are obtained. Shared vertices corresponding to the shared edge are identified. When normal vectors at a shared vertex are determined to differ, tangents of the normal vectors are computed. These tangents may be used to optionally shape the shared edge, along with control points.

    摘要翻译: 当沿着共享边缘的法向量不相等时,用于形成两个或更多N个补丁之间的共享边缘的系统和方法可用于消除间隙。 更具体地,获得多边形,三边形,四边形等的顶点和法线。 识别与共享边缘对应的共享顶点。 当共享顶点的法向量被确定为不同时,计算法向量的切线。 这些切线可以用于可选地将共享边缘与控制点一起形成。

    Alignment and ordering of vector elements for single instruction multiple data processing
    47.
    发明授权
    Alignment and ordering of vector elements for single instruction multiple data processing 有权
    用于单指令多数据处理的向量元素的对齐和排序

    公开(公告)号:US07197625B1

    公开(公告)日:2007-03-27

    申请号:US09662832

    申请日:2000-09-15

    IPC分类号: G06F15/80 G06F9/312

    摘要: The present invention provides alignment and ordering of vector elements for SIMD processing. In the alignment of vector elements for SIMD processing, one vector is loaded from a memory unit into a first register and another vector is loaded from the memory unit into a second register. The first vector contains a first byte of an aligned vector to be generated. Then, a starting byte specifying the first byte of an aligned vector is determined. Next, a vector is extracted from the first register and the second register beginning from the first bit in the first byte of the first register continuing through the bits in the second register. Finally, the extracted vector is replicated into a third register such that the third register contains a plurality of elements aligned for SIMD processing. In the ordering of vector elements for SIMD processing, a first vector is loaded from a memory unit into a first register and a second vector is loaded from the memory unit into a second register. Then, a subset of elements are selected from the first register and the second register. The elements from the subset are then replicated into the elements in the third register in a particular order suitable for subsequent SIMD vector processing.

    摘要翻译: 本发明提供用于SIMD处理的向量元素的对准和排序。 在用于SIMD处理的向量元素的对齐中,一个向量从存储器单元加载到第一寄存器中,另一个向量从存储器单元加载到第二寄存器中。 第一个向量包含要生成的对齐向量的第一个字节。 然后,确定指定对齐向量的第一个字节的起始字节。 接下来,从第一寄存器提取向量,并且从第一寄存器的第一字节的第一位开始的第二寄存器继续通过第二寄存器中的位。 最后,将所提取的矢量复制到第三寄存器中,使得第三寄存器包含对准用于SIMD处理的多个元素。 在用于SIMD处理的向量元素的排序中,将第一向量从存储器单元加载到第一寄存器中,并且将第二向量从存储器单元加载到第二寄存器中。 然后,从第一寄存器和第二寄存器中选择元件的子集。 然后将来自子集的元素以适合于随后的SIMD向量处理的特定顺序复制到第三寄存器中的元素中。

    User programmable geometry engine
    48.
    发明授权
    User programmable geometry engine 有权
    用户可编程几何引擎

    公开(公告)号:US06900810B1

    公开(公告)日:2005-05-31

    申请号:US10727822

    申请日:2003-12-03

    IPC分类号: G06T1/00 G06T15/00

    CPC分类号: G06T15/005

    摘要: A programmable geometry engine is described. One embodiment of the programmable geometry engine includes a programmable primitive engine configured to receive primitive commands that include information for processing vertex data using user-developed programs or subroutines. The programmable primitive engine also is configured to transmit program commands that include program pointers and data pointers. In addition, the programmable geometry engine includes a processing engine configured to receive the program commands. The processing engine is further configured to retrieve the user-developed programs or subroutines using the program pointers and to retrieve vertex data using the data pointers. Also, the processing engine is configured to process the vertex data based on instructions included in the user-developed programs or subroutines to produce processed vertex data and to transmit results to the programmable primitive engine.

    摘要翻译: 描述了可编程几何引擎。 可编程几何引擎的一个实施例包括可编程原语引擎,其被配置为接收包括用于使用用户开发的程序或子例程处理顶点数据的信息的原始命令。 可编程原语引擎还被配置为传送包括程序指针和数据指针的程序命令。 另外,可编程几何引擎包括配置成接收程序命令的处理引擎。 处理引擎还被配置为使用程序指针检索用户开发的程序或子程序,并使用数据指针检索顶点数据。 此外,处理引擎被配置为基于包括在用户开发的程序或子程序中的指令来处理顶点数据,以产生经处理的顶点数据并将结果发送到可编程原始引擎。

    System, method and article of manufacture for decomposing surfaces using guard curves and reversed stitching
    49.
    发明授权
    System, method and article of manufacture for decomposing surfaces using guard curves and reversed stitching 有权
    使用防护曲线和反向缝合分解表面的系统,方法和制品

    公开(公告)号:US06624811B1

    公开(公告)日:2003-09-23

    申请号:US09652866

    申请日:2000-08-31

    IPC分类号: G06T1720

    CPC分类号: G06T17/20

    摘要: A system, method and article of manufacture are provided for decomposing surfaces using guard curves for rendering purposes during computer graphics processing. Initially, a patch is received. Thereafter, a plurality of strip curves associated with the patch is defined in a first predetermined direction. As such, areas are defined by the strip curves which are adapted for being decomposed into a plurality of primitives. Next, at least one guard curve associated with the patch is generated. The guard curve is positioned along ends of the strip curves and in a second predetermined direction perpendicular with respect to the first predetermined direction.

    摘要翻译: 提供了一种用于在计算机图形处理期间用于渲染目的的保护曲线来分解表面的系统,方法和制品。 最初,接收到一个补丁。 此后,在第一预定方向上限定与贴片相关联的多条带状曲线。 因此,区域由适于被分解成多个图元的条带曲线限定。 接下来,生成与补丁相关联的至少一个保护曲线。 保护曲线沿着带状曲线的端部并且在相对于第一预定方向垂直的第二预定方向上定位。

    Tessellation system, method and computer program product with interior and surrounding meshes
    50.
    发明授权
    Tessellation system, method and computer program product with interior and surrounding meshes 有权
    镶嵌系统,方法和计算机程序产品与内部和周围的网格

    公开(公告)号:US06600488B1

    公开(公告)日:2003-07-29

    申请号:US10287988

    申请日:2002-11-04

    IPC分类号: G06T1530

    CPC分类号: G06T17/20

    摘要: A system, method and article of manufacture are provided for decomposing surfaces for rendering purposes during computer graphics processing. Initially, an interior mesh of primitives is defined in a surface to be rendered. Next, a plurality of surrounding meshes is defined along sides of the interior mesh. The exterior sides of the surrounding meshes each include a plurality of equally sized segments and at least one fractional segment that is a fraction of the equally sized segments. With this configuration, a pattern of triangles is used that permits the number of triangles to be varied continuously from frame to frame while accommodating incremental evaluation techniques such as forward differencing without visual artifacts such as popping.

    摘要翻译: 在计算机图形处理期间提供用于分解表面以用于呈现目的的系统,方法和制造品。 最初,原始图案的内部网格被定义在要渲染的表面中。 接下来,沿着内部网格的侧面限定多个周围的网格。 周围网格的外侧各自包括多个相同大小的段和至少一个小数段,其是相当大小的段的一部分。 使用这种配置,使用三角形图案,其允许三角形的数量从帧到帧连续变化,同时容纳诸如前向差分的增量评估技术,而不会出现诸如弹出的视觉伪影。