PROCESSING PRIMITIVES WHICH HAVE UNRESOLVED FRAGMENTS IN A GRAPHICS PROCESSING SYSTEM

    公开(公告)号:US20240221290A1

    公开(公告)日:2024-07-04

    申请号:US18601621

    申请日:2024-03-11

    发明人: John Howson

    摘要: A graphics processing system performs hidden surface removal and texturing/shading on fragments of primitives. The system includes a primary depth buffer (PDB) for storing depth values of resolved fragments, and a secondary depth buffer (SDB) for storing depth values of unresolved fragments. Incoming fragments are depth tested against depth values from either the PDB or the SDB. When a fragment passes a depth test, its depth value is stored in the PDB if it is a resolved fragment (e.g. if it is opaque or translucent), and its depth value is stored in the SDB if it is an unresolved fragment (e.g. if it is a punch through fragment). This provides more opportunities for subsequent opaque objects to overwrite punch through fragments which passed a depth test, thereby reducing unnecessary processing and time which may be spent on fragments which ultimately will not contribute to the final rendered image.

    MULTI-RENDERING IN GRAPHICS PROCESSING UNITS USING RENDER PROGRESSION CHECKS

    公开(公告)号:US20240169642A1

    公开(公告)日:2024-05-23

    申请号:US18426221

    申请日:2024-01-29

    摘要: A graphics processing unit having multiple groups of processor cores for rendering graphics data for allocated tiles and outputting the processed data to regions of a memory resource. Scheduling logic allocates sets of tiles to the groups of processor cores to perform a first render, and at a time when at least one of the groups has not completed processing its allocated sets of one or more tiles as part of the first render, allocates at least one set of tiles for a second render to one of the other groups of processor cores for processing. Progress indication logic indicates progress of the first render, indicating regions of the memory resource for which processing for the first render has been completed. Progress check logic checks the progress indication in response to a request for access to a region of the memory resource as part of the second render and enables access that region of the resource in response to an indication that processing for the first render has been completed for that region.

    Multi-rendering in graphics processing units using render progression checks

    公开(公告)号:US11263798B2

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

    申请号:US16888763

    申请日:2020-05-31

    摘要: A graphics processing unit having multiple groups of processor cores for rendering graphics data for allocated tiles and outputting the processed data to regions of a memory resource. Scheduling logic allocates sets of tiles to the groups of processor cores to perform a first render, and at a time when at least one of the groups has not completed processing its allocated sets of one or more tiles as part of the first render, allocates at least one set of tiles for a second render to one of the other groups of processor cores for processing. Progress indication logic indicates progress of the first render, indicating regions of the memory resource for which processing for the first render has been completed. Progress check logic checks the progress indication in response to a request for access to a region of the memory resource as part of the second render and enables access that region of the resource in response to an indication that processing for the first render has been completed for that region.

    Processing primitives which have unresolved fragments in a graphics processing system

    公开(公告)号:US11176733B2

    公开(公告)日:2021-11-16

    申请号:US16735201

    申请日:2020-01-06

    发明人: John Howson

    摘要: A graphics processing system performs hidden surface removal and texturing/shading on fragments of primitives. The system includes a primary depth buffer (PDB) for storing depth values of resolved fragments, and a secondary depth buffer (SDB) for storing depth values of unresolved fragments. Incoming fragments are depth tested against depth values from either the PDB or the SDB. When a fragment passes a depth test, its depth value is stored in the PDB if it is a resolved fragment (e.g. if it is opaque or translucent), and its depth value is stored in the SDB if it is an unresolved fragment (e.g. if it is a punch through fragment). This provides more opportunities for subsequent opaque objects to overwrite punch through fragments which passed a depth test, thereby reducing unnecessary processing and time which may be spent on fragments which ultimately will not contribute to the final rendered image.

    Using tiling depth information in hidden surface removal in a graphics processing system

    公开(公告)号:US11080926B2

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

    申请号:US16683085

    申请日:2019-11-13

    IPC分类号: G06T15/40 G06T15/00

    摘要: A graphics processing system includes a tiling unit for performing tiling calculations and a hidden surface removal (HSR) unit for performing HSR on fragments of the primitives. Primitive depth information is calculated in the tiling unit and forwarded for use by the HSR unit in performing HSR on the fragments. This takes advantage of the tiling unit having access to the primitive data before the HSR unit performs the HSR on the primitives, to determine some depth information which can simplify the HSR performed by the HSR unit. Therefore, the final values of a depth buffer determined in the tiling unit can be used in the HSR unit to determine that a particular fragment will subsequently be hidden by a fragment of a primitive which is yet to be processed in the HSR unit, such that the particular fragment can be culled.

    Task Execution in a SIMD Processing Unit with Parallel Groups of Processing Lanes
    9.
    发明申请
    Task Execution in a SIMD Processing Unit with Parallel Groups of Processing Lanes 审中-公开
    具有并行加工车道组的SIMD处理单元中的任务执行

    公开(公告)号:US20170076420A1

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

    申请号:US15341884

    申请日:2016-11-02

    摘要: A SIMD processing unit processes a plurality of tasks which each include up to a predetermined maximum number of work items. The work items of a task are arranged for executing a common sequence of instructions on respective data items. The data items are arranged into blocks, with some of the blocks including at least one invalid data item. Work items which relate to invalid data items are invalid work items. The SIMD processing unit comprises a group of processing lanes configured to execute instructions of work items of a particular task over a plurality of processing cycles. A control module assembles work items into the tasks based on the validity of the work items, so that invalid work items of the particular task are temporally aligned across the processing lanes. In this way the number of wasted processing slots due to invalid work items may be reduced.

    摘要翻译: SIMD处理单元处理多个任务,每个任务包括多达预定的最大数目的工作项。 任务的工作项目被安排用于对各个数据项执行公共的指令序列。 数据项被排列成块,其中一些块包括至少一个无效数据项。 与无效数据项相关的工作项是无效的工作项。 SIMD处理单元包括一组处理通道,其被配置为在多个处理循环中执行特定任务的工作项目的指令。 控制模块基于工作项的有效性将工作项目组合到任务中,使得特定任务的无效工作项在时间上跨越处理通道进行对齐。 以这种方式,可以减少由于无效的工作项造成的浪费的处理槽的数量。