Rendering cover geometry without internal edges

    公开(公告)号:US09773341B2

    公开(公告)日:2017-09-26

    申请号:US13971639

    申请日:2013-08-20

    CPC classification number: G06T15/30

    Abstract: One embodiment of the present invention includes techniques for rasterizing geometries. First, a processing unit defines a bounding primitive that covers the geometry and does not include any internal edges. If the bounding primitive intersects any enabled clip plane, then the processing unit generates fragments to fill a current viewport. Alternatively, the processing unit generates fragments to fill the bounding primitive. Because the rasterized region includes no internal edges, conflation artifacts caused when the number of coverage samples per pixel exceeds the number of color samples per pixel may be reduced. In prior-art techniques, reducing such conflation artifacts typically involves increasing the number of color samples per pixel to equal the number of coverage samples per pixel. Consequently, the disclosed techniques enable rendering using algorithms that reduce the ratio of color to coverage samples, thereby decreasing memory consumption and memory bandwidth use, without causing conflation artifacts associated with cover geometries.

    Load/store operations in texture hardware
    3.
    发明授权
    Load/store operations in texture hardware 有权
    在纹理硬件中加载/存储操作

    公开(公告)号:US09595075B2

    公开(公告)日:2017-03-14

    申请号:US14038599

    申请日:2013-09-26

    CPC classification number: G06T1/60 G06F2212/302 G06T1/20 G06T15/04 G09G5/363

    Abstract: Approaches are disclosed for performing memory access operations in a texture processing pipeline having a first portion configured to process texture memory access operations and a second portion configured to process non-texture memory access operations. A texture unit receives a memory access request. The texture unit determines whether the memory access request includes a texture memory access operation. If the memory access request includes a texture memory access operation, then the texture unit processes the memory access request via at least the first portion of the texture processing pipeline, otherwise, the texture unit processes the memory access request via at least the second portion of the texture processing pipeline. One advantage of the disclosed approach is that the same processing and cache memory may be used for both texture operations and load/store operations to various other address spaces, leading to reduced surface area and power consumption.

    Abstract translation: 公开了用于在具有被配置为处理纹理存储器访问操作的第一部分的纹理处理流水线中执行存储器访问操作的方法和被配置为处理非纹理存储器访问操作的第二部分。 纹理单元接收存储器访问请求。 纹理单元确定存储器访问请求是否包括纹理存储器访问操作。 如果存储器访问请求包括纹理存储器访问操作,则纹理单元至少通过纹理处理流水线的第一部分来处理存储器访问请求,否则,纹理单元至少经由第二部分处理存储器访问请求 纹理处理流水线。 所公开方法的一个优点是可以将相同的处理和高速缓冲存储器用于纹理操作和对各种其他地址空间的加载/存储操作,导致减少的表面积和功率消耗。

    Stencil-then-cover path rendering with shared edges

    公开(公告)号:US10083514B2

    公开(公告)日:2018-09-25

    申请号:US15289694

    申请日:2016-10-10

    CPC classification number: G06T7/11 G06T1/20 G06T1/60 G06T3/0012 G06T11/40

    Abstract: One embodiment of the present invention includes techniques for rasterizing primitives that include edges shared between paths. For each edge, a rasterizer unit selects and applies a sample rule from multiple sample rules. If the edge is shared, then the selected sample rule causes each group of coverage samples associated with a single color sample to be considered as either fully inside or fully outside the edge. Consequently, conflation artifacts caused when the number of coverage samples per pixel exceeds the number of color samples per pixel may be reduced. In prior-art techniques, reducing such conflation artifacts typically involves increasing the number of color samples per pixel to equal the number of coverage samples per pixel. Advantageously, the disclosed techniques enable rendering using algorithms that reduce the ratio of color to coverage samples, thereby decreasing memory consumption and memory bandwidth use, without causing conflation artifacts associated with shared edges.

    Managing deferred contexts in a cache tiling architecture

    公开(公告)号:US10032242B2

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

    申请号:US14043411

    申请日:2013-10-01

    Abstract: A method for managing bind-render-target commands in a tile-based architecture. The method includes receiving a requested set of bound render targets and a draw command. The method also includes, upon receiving the draw command, determining whether a current set of bound render targets includes each of the render targets identified in the requested set. The method further includes, if the current set does not include each render target identified in the requested set, then issuing a flush-tiling-unit-command to a parallel processing subsystem, modifying the current set to include each render target identified in the requested set, and issuing bind-render-target commands identifying the requested set to the tile-based architecture for processing. The method further includes, if the current set of render targets includes each render target identified in the requested set, then not issuing the flush-tiling-unit-command.

    TECHNIQUES FOR TILING COMPUTE WORK WITH GRAPHICS WORK

    公开(公告)号:US20180165787A1

    公开(公告)日:2018-06-14

    申请号:US15378049

    申请日:2016-12-14

    Inventor: Jeffrey A. Bolz

    CPC classification number: G06T15/005

    Abstract: A device driver is configured to identify a group of compute shaders to be executed in multiple traversals of a graphics processing pipeline. Each such compute shader accesses a compute tile of data having particular dimensions. The device driver interoperates with a tiling unit to determines dimension for a cache tile so that an integer multiple of each compute tile will fit evenly within the cache tile. Thus, when executing compute shaders in different traversals of the graphics processing pipeline, the data processed by those compute shaders can be cached in the cache tile between passes.

    Optimizing triangle topology for path rendering
    8.
    发明授权
    Optimizing triangle topology for path rendering 有权
    优化路径呈现的三角形拓扑

    公开(公告)号:US09558573B2

    公开(公告)日:2017-01-31

    申请号:US13717458

    申请日:2012-12-17

    CPC classification number: G06T11/40 G06T11/203

    Abstract: A technique for efficiently rendering path images tessellates path contours into triangle tans comprising a set of representative triangles. Topology of the set of representative triangles is then optimized for greater rasterization efficiency by applying a flip operator to selected triangle pairs within the set of representative triangles. The optimized triangle pairs are then rendered using a path rendering technique, such as stencil and cover.

    Abstract translation: 用于有效地渲染路径图像的技术将路径轮廓细分为三角形,包括一组代表性的三角形。 然后通过将翻转操作符应用于代表性三角形组内的选定三角形对,优化代表性三角形集合的拓扑,以实现更大的光栅化效率。 然后使用路径渲染技术(例如模版和封面)渲染优化的三角形对。

    OPTIMIZING TRIANGLE TOPOLOGY FOR PATH RENDERING
    9.
    发明申请
    OPTIMIZING TRIANGLE TOPOLOGY FOR PATH RENDERING 有权
    优化三角形拓扑拓扑

    公开(公告)号:US20140168222A1

    公开(公告)日:2014-06-19

    申请号:US13717458

    申请日:2012-12-17

    CPC classification number: G06T11/40 G06T11/203

    Abstract: A technique for efficiently rendering path images tessellates path contours into triangle tans comprising a set of representative triangles. Topology of the set of representative triangles is then optimized for greater rasterization efficiency by applying a flip operator to selected triangle pairs within the set of representative triangles. The optimized triangle pairs are then rendered using a path rendering technique, such as stencil and cover.

    Abstract translation: 用于有效地渲染路径图像的技术将路径轮廓细分为三角形,包括一组代表性的三角形。 然后通过将翻转操作符应用于代表性三角形组内的选定三角形对,优化代表性三角形集合的拓扑,以实现更大的光栅化效率。 然后使用路径渲染技术(例如模版和封面)渲染优化的三角形对。

    Techniques for tiling compute work with graphics work

    公开(公告)号:US10607390B2

    公开(公告)日:2020-03-31

    申请号:US15378049

    申请日:2016-12-14

    Inventor: Jeffrey A. Bolz

    Abstract: A device driver is configured to identify a group of compute shaders to be executed in multiple traversals of a graphics processing pipeline. Each such compute shader accesses a compute tile of data having particular dimensions. The device driver interoperates with a tiling unit to determines dimension for a cache tile so that an integer multiple of each compute tile will fit evenly within the cache tile. Thus, when executing compute shaders in different traversals of the graphics processing pipeline, the data processed by those compute shaders can be cached in the cache tile between passes.

Patent Agency Ranking