Patents by Inventor Frode Heggelund
Frode Heggelund has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11030783Abstract: A graphics processor that performs early depth tests for primitives in respect of patches of a render output, and depth tests for sampling positions of the render output, maintains a per patch depth buffer that stores depth values for patches for use by the patch early depth test and a per sample depth buffer. When processing of a render output is stopped before the render output is finished, the per sample depth values in the per sample depth buffer are written to storage so that those values can be restored, but the per patch depth value information in the per patch depth buffer is discarded. Then, when processing of the render output is resumed, the per sample depth buffer values are loaded into a per sample depth buffer, and the loaded per sample depth buffer values are also used to restore the per patch depth buffer.Type: GrantFiled: January 21, 2020Date of Patent: June 8, 2021Assignee: Arm LimitedInventors: Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Frode Heggelund
-
Patent number: 10957082Abstract: When performing conservative rasterisation in a graphics processing pipeline, modified edge information that accounts for an error in the dimensions of a primitive is determined by a primitive set-up stage. That modified edge information is then used by a rasterisation stage to determine whether the primitive covers one or more sampling points associated with pixels to be displayed. The same modified edge information can also be used to determine if the pixels are fully covered by the primitive irrespective of any rounding effects (errors) in the position of the (vertices of the) primitive.Type: GrantFiled: March 23, 2018Date of Patent: March 23, 2021Assignee: Arm LimitedInventor: Frode Heggelund
-
Patent number: 10937233Abstract: Disclosed herein is a bounding box that can be generated for a set of one or more primitive(s) and then passed to a rasteriser circuit for use thereby when generating the graphics fragments to be processed. The bounding box generation integrates a scissor test and allows primitives for which an initial bounding box has zero intersection with a specified scissor box to be discarded, whereas for primitives whose initial bounding box does intersect the scissor box, a new bounding box can be generated for output based on the area of intersection.Type: GrantFiled: July 22, 2019Date of Patent: March 2, 2021Assignee: Arm LimitedInventors: Ole Magnus Ruud, Frode Heggelund
-
Publication number: 20210027533Abstract: Disclosed herein is a bounding box that can be generated for a set of one or more primitive(s) and then passed to a rasteriser circuit for use thereby when generating the graphics fragments to be processed. The bounding box generation integrates a scissor test and allows primitives for which an initial bounding box has zero intersection with a specified scissor box to be discarded, whereas for primitives whose initial bounding box does intersect the scissor box, a new bounding box can be generated for output based on the area of intersection.Type: ApplicationFiled: July 22, 2019Publication date: January 28, 2021Applicant: Arm LimitedInventors: Ole Magnus Ruud, Frode Heggelund
-
Patent number: 10769838Abstract: A graphics processing system can divide a render output into plural larger patches, with each larger patch encompassing plural smaller patches. A rasteriser of the system tests a larger patch against a primitive to be processed to determine if the primitive covers the larger patch. When it is determined that the primitive only partially covers the larger patch, the larger patch is sub-divided into plural smaller patches and at least one of the smaller patches is re-tested against the primitive. Conversely, when it is determined that the primitive completely covers the larger patch, the larger patch is output from the rasteriser in respect of the primitive for processing by a subsequent stage, of the graphics processing system. The system can provide efficient, hierarchal, processing of primitives, whilst helping to prevent the output of the rasteriser from becoming blocked.Type: GrantFiled: December 13, 2018Date of Patent: September 8, 2020Assignee: Arm LimitedInventors: Frode Heggelund, Toni Viki Brkic, Christian Vik Grovdal, Lars Oskar Flordal
-
Patent number: 10733782Abstract: To perform a graphics processing operation for the entirety of an area of a render output being generated by a graphics processor, a command to draw a primitive occupying the entire area of the render output is issued to the graphics processor. The graphics processor draws the primitive by determining the vertices to use for the primitive from the area of the render output. In a tile-based graphics processor at least, the graphics processor in an embodiment also determines whether it is unnecessary to process the graphics processing command for a rendering tile and when it is determined that processing the graphics processing command for the rendering tile is unnecessary, the graphics processor omits processing the graphics processing command for the rendering tile.Type: GrantFiled: October 5, 2018Date of Patent: August 4, 2020Assignee: Arm LimitedInventors: Frode Heggelund, Andreas Due Engh-Halstvedt, Christian Vik Grovdal
-
Patent number: 10726610Abstract: A graphics processing system maintains a fragment tracking record that stores metadata relating to one or more previously received primitives. The metadata can indicate that the one or more previously received primitives are suitably covered by a subsequently received primitive such that one or more fragment processing operations need not be performed in respect of those one or more previously received primitives. The metadata stored for the one or more previously received primitives can then later be queried by one or more later stages of the graphics processing system to determine whether one or more fragments for the one or more previously received primitives can be at least partially discarded or “killed”.Type: GrantFiled: August 29, 2018Date of Patent: July 28, 2020Assignee: Arm LimitedInventors: Frode Heggelund, Toni Viki Brkic, Christian Vik Grovdal, Lars Oskar Flordal
-
Publication number: 20200111247Abstract: To perform a graphics processing operation for the entirety of an area of a render output being generated by a graphics processor, a command to draw a primitive occupying the entire area of the render output is issued to the graphics processor. The graphics processor draws the primitive by determining the vertices to use for the primitive from the area of the render output. In a tile-based graphics processor at least, the graphics processor in an embodiment also determines whether it is unnecessary to process the graphics processing command for a rendering tile and when it is determined that processing the graphics processing command for the rendering tile is unnecessary, the graphics processor omits processing the graphics processing command for the rendering tile.Type: ApplicationFiled: October 5, 2018Publication date: April 9, 2020Applicant: Arm LimitedInventors: Frode Heggelund, Andreas Due Engh-Halstvedt, Christian Vik Grovdal
-
Publication number: 20200074721Abstract: A graphics processing system maintains a fragment tracking record that stores metadata relating to one or more previously received primitives. The metadata can indicate that the one or more previously received primitives are suitably covered by a subsequently received primitive such that one or more fragment processing operations need not be performed in respect of those one or more previously received primitives. The metadata stored for the one or more previously received primitives can then later be queried by one or more later stages of the graphics processing system to determine whether one or more fragments for the one or more previously received primitives can be at least partially discarded or “killed”.Type: ApplicationFiled: August 29, 2018Publication date: March 5, 2020Applicant: Arm LimitedInventors: Frode Heggelund, Toni Viki Brkic, Christian Vik Grovdal, Lars Oskar Flordal
-
Patent number: 10580113Abstract: A tile-based graphics processing system comprises a graphics processing pipeline comprising a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data, and a tile buffer configured to store data locally to the graphics processing pipeline. The graphics processing system is operable to cause data for use when performing graphics processing operations for each tile of a set of plural tiles of a plurality of tiles to be loaded into the tile buffer before causing graphics processing operations to be performed for any of the tiles of the set of plural tiles.Type: GrantFiled: October 5, 2018Date of Patent: March 3, 2020Assignee: Arm LimitedInventors: Lars Oskar Flordal, Toni Viki Brkic, Christian Vik Grovdal, Andreas Due Engh-Halstvedt, Frode Heggelund
-
Publication number: 20190188896Abstract: A graphics processing system can divide a render output into plural larger patches, with each larger patch encompassing plural smaller patches. A rasteriser of the system tests a larger patch against a primitive to be processed to determine if the primitive covers the larger patch. When it is determined that the primitive only partially covers the larger patch, the larger patch is sub-divided into plural smaller patches and at least one of the smaller patches is re-tested against the primitive. Conversely, when it is determined that the primitive completely covers the larger patch, the larger patch is output from the rasteriser in respect of the primitive for processing by a subsequent stage, of the graphics processing system. The system can provide efficient, hierarchal, processing of primitives, whilst helping to prevent the output of the rasteriser from becoming blocked.Type: ApplicationFiled: December 13, 2018Publication date: June 20, 2019Applicant: Arm LimitedInventors: Frode Heggelund, Toni Viki Brkic, Christian Vik Grovdal, Lars Oskar Flordal
-
Patent number: 10311016Abstract: A graphics processing pipeline includes a rasteriser, an early culling tester, a renderer, a late culling tester, and a culling test data buffer that stores data values for use by the early and late culling testers. The testing of fragments by the early and late culling testers is controlled in accordance with a first set of state information indicative of when a culling test operation to be used to determine whether to cull the fragments is to be performed, and a second set of state information indicative of when to determine whether to update the culling test data buffer with data for the fragments based on a culling test operation, allocated to the fragments.Type: GrantFiled: May 30, 2017Date of Patent: June 4, 2019Assignee: Arm LimitedInventors: Frode Heggelund, Toni Viki Brkic, Reimar Gisbert Döffinger
-
Publication number: 20190108610Abstract: A tile-based graphics processing system comprises a graphics processing pipeline comprising a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data, and a tile buffer configured to store data locally to the graphics processing pipeline. The graphics processing system is operable to cause data for use when performing graphics processing operations for each tile of a set of plural tiles of a plurality of tiles to be loaded into the tile buffer before causing graphics processing operations to be performed for any of the tiles of the set of plural tiles.Type: ApplicationFiled: October 5, 2018Publication date: April 11, 2019Applicant: Arm LimitedInventors: Lars Oskar Flordal, Toni Viki Brkic, Christian Vik Grovdal, Andreas Due Engh-Halstvedt, Frode Heggelund
-
Patent number: 10204440Abstract: A graphics processing system generates interpolated vertex shaded attribute data for plural sampling points of plural fragments of a quad fragment that is being used to sample a primitive. The interpolated vertex shaded attribute data for the plural sampling points is generated using a reference position for the quad fragment that is defined with respect to a first coordinate system, together with rotated sampling point delta values for the primitive that are defined with respect to a second coordinate system. The rotated sampling point delta values allow the interpolated vertex shaded attribute data to be generated more efficiently for the plural sampling points.Type: GrantFiled: July 23, 2016Date of Patent: February 12, 2019Assignee: Arm LimitedInventors: Frode Heggelund, Jorn Nystad
-
Patent number: 10204391Abstract: A tile-based graphics processing pipeline that uses primitive lists that can encompass plural rendering tiles includes a primitive list reading unit that reads primitive lists for a tile being rendered to determine primitives to be processed for the tile and a rasterizer that rasterizes input primitives to generate graphics fragments to be processed. The pipeline further comprises a comparison unit between the primitive list reading unit and the rasterizer that for primitives that have been read from primitive lists that include plural rendering tiles, compares the location of the primitive in the render target to the location of the tile being rendered, and then either sends the primitive onwards to the rasterizer if the comparison determines that the primitive could lie at least partially within the tile, or does not send the primitive to the rasterizer if the comparison determines that the primitive definitely does not lie within the tile.Type: GrantFiled: June 4, 2013Date of Patent: February 12, 2019Assignee: Arm LimitedInventors: Frode Heggelund, Jorn Nystad
-
Publication number: 20180349315Abstract: A graphics processing pipeline includes a rasteriser, an early culling tester, a renderer, a late culling tester, and a culling test data buffer that stores data values for use by the early and late culling testers. The testing of fragments by the early and late culling testers is controlled in accordance with a first set of state information indicative of when a culling test operation to be used to determine whether to cull the fragments is to be performed, and a second set of state information indicative of when to determine whether to update the culling test data buffer with data for the fragments based on a culling test operation, allocated to the fragments.Type: ApplicationFiled: May 30, 2017Publication date: December 6, 2018Applicant: ARM LimitedInventors: Frode Heggelund, Toni Viki Brkic, Reimar Gisbert Döffinger
-
Publication number: 20180300915Abstract: When performing conservative rasterisation in a graphics processing pipeline, modified edge information that accounts for an error in the dimensions of a primitive is determined by a primitive set-up stage. That modified edge information is then used by a rasterisation stage to determine whether the primitive covers one or more sampling points associated with pixels to be displayed. The same modified edge information can also be used to determine if the pixels are fully covered by the primitive irrespective of any rounding effects (errors) in the position of the (vertices of the) primitive.Type: ApplicationFiled: March 23, 2018Publication date: October 18, 2018Applicant: Arm LimitedInventor: Frode Heggelund
-
Patent number: 9805447Abstract: When carrying out a second, higher level of anti-aliasing such as 8×MSAA, in a graphics processing pipeline 1 configured to “natively” support a first level of anti-aliasing, such as 4×MSAA, the rasterization stage 3, early Z (depth) and stencil test stage 4, late Z (depth) and stencil test stage 7, blending stage 9, and downsampling and writeback (multisample resolve) stage 11 of the graphics processing pipeline 1 process each graphics fragment or pixel that they receive for processing in plural processing passes, each such processing pass processing a sub-set of the sampling points that the fragment represents, but the fragment shader 6 is configured to process each graphics fragment in a processing pass that processes all the sampling points that the fragment represents in parallel, so as to ensure compliance with the desired higher level of multisampled anti-aliasing.Type: GrantFiled: November 30, 2012Date of Patent: October 31, 2017Assignee: Arm LimitedInventors: Andreas Engh-halstvedt, Jorn Nystad, Frode Heggelund, Ronny Pedersen
-
Patent number: 9619929Abstract: A graphics processing apparatus and method of graphics processing is disclosed. Obscuration identification circuitry is configured to receive graphics fragments from rasterization circuitry and to identify an obscuration condition if a received graphics fragment, in combination with at least one previously received graphics fragment, will obscure at least one further previously received graphics fragment. Process killing circuitry is configured to prevent further processing occurring in the graphics processing apparatus with respect to the at least one further previously received graphics fragment if the obscuration identification circuitry identifies the obscuration condition.Type: GrantFiled: October 21, 2014Date of Patent: April 11, 2017Assignee: ARM LimitedInventors: Ian Victor Devereux, Simon Jones, Frode Heggelund, Toni Viki Brkic
-
Patent number: 9607390Abstract: A technique is provided for performing rasterisation of input primitives to generate graphics fragments to be processed to generate output data. The technique comprises determining a bounding box for an input primitive, and performing a multi-level patch analysis, each patch having an array of grid points defining boundaries of a set of sub-patches within that patch. The technique further comprises, when performing patch analysis of a selected patch, performing a bounding box evaluation step to determine if a condition exists where the bounding box does not cover any of the grid points, or if a special grid point coverage condition exists, and in the presence of the condition, adopting an alternative operation for that selected patch instead of a default operation. The alternative operation is configured to determine whether the primitive at least partially covers any of the sub-patches of the selected patch.Type: GrantFiled: October 10, 2014Date of Patent: March 28, 2017Assignee: ARM LimitedInventors: Frode Heggelund, Mukesh Haresh Lahori