Patents by Inventor Frank Langtind
Frank Langtind 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: 10657681Abstract: A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.Type: GrantFiled: June 13, 2018Date of Patent: May 19, 2020Assignee: ARM NORWAY ASInventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
-
Patent number: 10650577Abstract: A tile-based graphics processing pipeline includes a back-facing determination and culling unit that is operable to cull back-facing triangles before the tiling stage. The back-facing determination and culling unit include a triangle size estimator that estimates the size of a triangle being considered. If the size of the triangle is less than a selected size, then the area of the triangle is calculated using fixed point arithmetic and the result of that area calculation is used by a back-face culling unit to determine whether to cull the triangle or not. On the other hand, if the size estimator determines that the primitive is greater than the selected size, then the triangle bypasses the fixed point area calculation and back-face culling unit and is instead passed directly to the tiler.Type: GrantFiled: August 25, 2016Date of Patent: May 12, 2020Assignee: ARM LTDInventors: Andreas Due Engh-Halstvedt, Frank Langtind
-
Patent number: 10599584Abstract: When writing data to memory via a write buffer including a write cache containing a plurality of lines for storing data to be written to memory and an address-translation cache that stores a list of virtual address to physical address translations, a record of a set of lines of the write cache that are available to be evicted to the memory is maintained, and the evictable lines in the record of evictable lines are processed by requesting from the address-translation cache a respective physical address for each virtual address associated with an evictable line. The address-translation cache returns a hit or a miss status to the write buffer for each evictable line that is checked, and the write buffer writes out to memory at least one of the evictable lines for which a hit status was returned.Type: GrantFiled: November 7, 2017Date of Patent: March 24, 2020Assignee: Arm LimitedInventors: Andreas Due Engh-Halstvedt, Frank Langtind, Shareef Justin Jalloq
-
Publication number: 20190138458Abstract: When writing data to memory via a write buffer including a write cache containing a plurality of lines for storing data to be written to memory and an address-translation cache that stores a list of virtual address to physical address translations, a record of a set of lines of the write cache that are available to be evicted to the memory is maintained, and the evictable lines in the record of evictable lines are processed by requesting from the address-translation cache a respective physical address for each virtual address associated with an evictable line. The address-translation cache returns a hit or a miss status to the write buffer for each evictable line that is checked, and the write buffer writes out to memory at least one of the evictable lines for which a hit status was returned.Type: ApplicationFiled: November 7, 2017Publication date: May 9, 2019Applicant: Arm LimitedInventors: Andreas Due Engh-Halstvedt, Frank Langtind, Shareef Justin Jalloq
-
Patent number: 10255718Abstract: A graphics processing pipeline includes position shading circuitry, a tiler, varying-only vertex shading circuitry and fragment (frontend) shading circuitry. The tiler reads a list of indices defining a set of vertices to be processed by the graphics processing pipeline and determines whether or not vertex shading is required for the positional attributes of the vertices. If vertex shading is required, the tiler sends a position shading request for the vertices to the position shading circuitry. The tiler uses the vertex shaded position data to identify primitives that should be processed further to generate the render output and that accordingly should be subjected to a second, varying shading, vertex shading operation. When the tiler determines that a vertex (or group of vertices) should be subjected to the second, varying shading, vertex shading operation, the tiler sends a varying shading request for the vertex (or vertices) to the varying shading circuitry.Type: GrantFiled: December 28, 2016Date of Patent: April 9, 2019Assignee: Arm LimitedInventors: Frank Langtind, Andreas Due Engh-Halstvedt, Sandeep Kakarlapudi
-
Publication number: 20180293765Abstract: A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.Type: ApplicationFiled: June 13, 2018Publication date: October 11, 2018Inventors: Edvard Sorgard, Borgar LJOSLAND, Jorn NYSTAD, Mario BLAZEVIC, Frank LANGTIND
-
Patent number: 10019820Abstract: A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.Type: GrantFiled: September 15, 2015Date of Patent: July 10, 2018Assignee: ARM NORWAY ASInventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
-
Patent number: 9965886Abstract: A graphics processor includes a graphics object list building unit that determines the location of each draw call in a scene to be rendered and generates a list of draw calls for each sub-region (tile) that the scene to be rendered is divided into. The draw call lists are stored in a memory. A graphics object selection unit of a renderer of the graphics processor then determines which draw call is to be rendered next by considering the draw call list stored in the memory for the sub-region (tile) of the scene that is currently being rendered.Type: GrantFiled: November 28, 2007Date of Patent: May 8, 2018Assignee: ARM Norway ASInventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
-
Patent number: 9779536Abstract: A graphics processing pipeline (20) comprises first vertex shading circuitry (21) that operates to vertex shade position attributes of vertices of a set of vertices to be processed by the graphics processing pipeline. Tiling circuitry (22) then determines for the vertices that have been subjected to the first vertex shading operation, whether the vertices should be processed further. A second vertex shading circuitry (23) then performs a second vertex shading operation on the vertices that it has been determined should be processed further, to vertex shade the remaining vertex attributes for each vertex that it has been determined should be processed further.Type: GrantFiled: July 2, 2015Date of Patent: October 3, 2017Assignee: Arm LimitedInventors: Andreas Engh-Halstvedt, Daren Croxford, Frank Langtind
-
Publication number: 20170193691Abstract: A graphics processing pipeline includes position shading circuitry, a tiler, varying-only vertex shading circuitry and fragment (frontend) shading circuitry. The tiler reads a list of indices defining a set of vertices to be processed by the graphics processing pipeline and determines whether or not vertex shading is required for the positional attributes of the vertices. If vertex shading is required, the tiler sends a position shading request for the vertices to the position shading circuitry. The tiler uses the vertex shaded position data to identify primitives that should be processed further to generate the render output and that accordingly should be subjected to a second, varying shading, vertex shading operation. When the tiler determines that a vertex (or group of vertices) should be subjected to the second, varying shading, vertex shading operation, the tiler sends a varying shading request for the vertex (or vertices) to the varying shading circuitry.Type: ApplicationFiled: December 28, 2016Publication date: July 6, 2017Applicant: ARM LimitedInventors: Frank Langtind, Andreas Due Engh-Halstvedt, Sandeep Kakarlapudi
-
Publication number: 20170061678Abstract: A tile-based graphics processing pipeline includes a back-facing determination and culling unit that is operable to cull back-facing triangles before the tiling stage. The back-facing determination and culling unit include a triangle size estimator that estimates the size of a triangle being considered. If the size of the triangle is less than a selected size, then the area of the triangle is calculated using fixed point arithmetic and the result of that area calculation is used by a back-face culling unit to determine whether to cull the triangle or not. On the other hand, if the size estimator determines that the primitive is greater than the selected size, then the triangle bypasses the fixed point area calculation and back-face culling unit and is instead passed directly to the tiler.Type: ApplicationFiled: August 25, 2016Publication date: March 2, 2017Applicant: ARM LimitedInventors: Andreas Due Engh-Halstvedt, Frank Langtind
-
Publication number: 20160005140Abstract: A graphics processing pipeline (20) comprises first vertex shading circuitry (21) that operates to vertex shade position attributes of vertices of a set of vertices to be processed by the graphics processing pipeline. Tiling circuitry (22) then determines for the vertices that have been subjected to the first vertex shading operation, whether the vertices should be processed further. A second vertex shading circuitry (23) then performs a second vertex shading operation on the vertices that it has been determined should be processed further, to vertex shade the remaining vertex attributes for each vertex that it has been determined should be processed further.Type: ApplicationFiled: July 2, 2015Publication date: January 7, 2016Applicant: ARM LIMITEDInventors: Andreas Engh-Halstvedt, Daren Croxford, Frank Langtind
-
Publication number: 20160005195Abstract: A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.Type: ApplicationFiled: September 15, 2015Publication date: January 7, 2016Inventors: Edvard Sorgard, Borgar LJOSLAND, Jorn NYSTAD, Mario BLAZEVIC, Frank LANGTIND
-
Patent number: 8681168Abstract: In a tile-based graphics processor, primitive lists (bins) are prepared for 2×2 blocks of tiles 40. The processor also determines and stores for each primitive in a bin, distribution information indicating the distribution of the primitive within the set of tiles that the bin corresponds to. Thus a primitive 42 that is found by its bounding box 43 to reside in two of the four tiles that make up the set of 2×2 tiles 40 is also associated with a tile coverage bitmap of the form “0101” to indicate that it lies in tiles “1” and “3” of the 2×2 group of tiles 40. The graphics processor uses the coverage bitmap (information) to determine whether a primitive should be processed for the tile currently being processed.Type: GrantFiled: January 12, 2010Date of Patent: March 25, 2014Assignee: ARM LimitedInventors: Jørn Nystad, Frank Langtind, Joe Tapply, Daren Croxford
-
Patent number: 8332583Abstract: A distribution medium (20) for providing an application to a host system (4) includes an interface element (21) for interfacing with the host (4), a memory or storage module (22) that stores application code representing the application and a hardware element (23). The hardware element (23) directly accesses application content stored in the memory (22), processes that application content to transform it to another form, and then provides the transformed content to the host system (4).Type: GrantFiled: December 21, 2005Date of Patent: December 11, 2012Assignee: FXI Technologies ASInventors: Jørn Nystad, Mario Blazevic, Borgar Ljosland, Edvard Sørgård, Frank Langtind
-
Publication number: 20100177105Abstract: In a tile-based graphics processor, primitive lists (bins) are prepared for 2×2 blocks of tiles 40. The processor also determines and stores for each primitive in a bin, distribution information indicating the distribution of the primitive within the set of tiles that the bin corresponds to. Thus a primitive 42 that is found by its bounding box 43 to reside in two of the four tiles that make up the set of 2×2 tiles 40 is also associated with a tile coverage bitmap of the form “0101” to indicate that it lies in tiles “1” and “3” of the 2×2 group of tiles 40. The graphics processor uses the coverage bitmap (information) to determine whether a primitive should be processed for the tile currently being processed.Type: ApplicationFiled: January 12, 2010Publication date: July 15, 2010Applicant: ARM LimitedInventors: Jørn NYSTAD, Frank Langtind, Joe Tapply, Daren Croxford
-
Publication number: 20100146202Abstract: A distribution medium (20) for providing an application to a host system (4) includes an interface element (21) for interfacing with the host (4), a memory or storage module (22) that stores application code representing the application and a hardware element (23). The hardware element (23) directly accesses application content stored in the memory (22), processes that application content to transform it to another form, and then provides the transformed content to the host system (4).Type: ApplicationFiled: December 21, 2005Publication date: June 10, 2010Applicant: FALANX MICROSYSTEMS ASInventors: Jorn Paul Nystad, Mario Blazevic, Borgar Ljosland, Edvard Sørgård, Frank Langtind
-
Publication number: 20080150950Abstract: A graphics processor 20 includes a graphics object list building unit 28 that determines the location of each draw call in a scene to be rendered and generates a list of draw calls for each sub-region (tile) that the scene to be rendered is divided into. The draw call lists are stored in a memory 23. A graphics object selection unit 29 of a renderer 22 of the graphics processor 20 then determines which draw call is to be rendered next by considering the draw call list 26 stored in the memory 23 for the sub-region (tile) of the scene that is currently being rendered.Type: ApplicationFiled: November 28, 2007Publication date: June 26, 2008Applicant: ARM Norway ASInventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
-
Publication number: 20070146378Abstract: A scene 50 to be rendered is divided into plural individual sub-regions or tiles 51. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set 54 of 8×8 sub-regions which encompasses the entire scene area 50. There is then a group of four 4×4 sets of sub-regions 53, then a group of sixteen 2×2 sets of sub-regions 52, and finally a layer comprising the 64 single sub-regions 51. A primitive list building unit takes each primitive 80 in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions 51 and the locations of the sets of sub-regions 52, 53 and 54, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.Type: ApplicationFiled: December 5, 2006Publication date: June 28, 2007Applicant: ARM Norway ASInventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
-
Publication number: 20050268195Abstract: Methods and apparatus for stepping-over and stepping-out of functions encountered during program execution on a target processor during debug operations are implemented within a combination of an emulator and a debug module. By having communication and storage devices available on-chip in the debug module, stepping and address compare details are conducted local to the processor at hardware speeds. The methods correctly determine necessary algorithmic steps to accommodate recursive and nested function calls without intervention by a combination of a host debug platform and a debug software application. This avoids the amount of time that would otherwise be necessary to cycle communications to the debug host level to accomplish the same processes. Override instructions for the target processor can be inserted and alternate memory locations jumped to under control of the same debug module, thereby using hardware resources efficiently.Type: ApplicationFiled: April 29, 2004Publication date: December 1, 2005Inventors: Morten Lund, Gaute Myklebust, Frank Langtind