Patents by Inventor Andreas Due Engh-Halstvedt

Andreas Due Engh-Halstvedt 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: 11127187
    Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions (40) for rendering, each region (40) comprising a respective area of the render output; and for sets of one or more primitives to be rendered, it is determined for which of the plurality of regions of the render output (40) the primitive(s) should be rendered; and for each region of the render output (40) it is determined the primitive(s) should be rendered for, geometry data for the primitive(s) is stored in memory in a respective data structure (42) along with an indication of state data that is to be used for rendering the primitive(s) for the region, such that the geometry data for the primitive(s) to be rendered is stored in a respective, different data structure (42) for each different region of the render output (40) it is determined the primitive(s) should be rendered for.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: September 21, 2021
    Assignee: Arm Limited
    Inventors: Ian Rudolf Bratt, Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Andreas Loeve Selvik, Olof Henrik Uhrenholt, Thomas J. Olson
  • Publication number: 20210224949
    Abstract: A graphics processor that rasterises input primitives to generate graphics fragments to be processed and renders the graphics fragments to generate a first, higher resolution version of a render output. When processing of a render output is stopped before the render output is finished, the first resolution version of the render output is downsampled to a second, lower resolution and the downsampled data elements at the second resolution are written out together with a set of difference values indicative of the differences between the data elements at the first resolution and the downsampled data elements at the second resolution. Then, when processing of the render output is resumed, these values can be loaded in and used to reconstruct the array of data elements at the first resolution for use when continuing processing of the render output.
    Type: Application
    Filed: January 21, 2020
    Publication date: July 22, 2021
    Applicant: Arm Limited
    Inventors: Alexander Eugene Chalfin, Andreas Due Engh-Halstvedt, Olof Henrik Uhrenholt
  • Publication number: 20210216455
    Abstract: A data processing system includes a cache system configured to transfer data stored in the memory system to a processor and to transfer data from the processor to the memory system. The cache system comprises a cache and a data encoder associated with the cache that is configured to encode uncompressed data from the cache for storing in the memory system in a compressed format, and decode compressed data from the memory system for storing in the cache in an uncompressed format.
    Type: Application
    Filed: January 14, 2020
    Publication date: July 15, 2021
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt
  • Publication number: 20210216464
    Abstract: In a data processing system comprising a cache system configured to transfer data stored in a memory system to a processor and vice-versa, a processing unit operable to read data from a cache of the cache system can send a read request for data to the cache. The cache system, in response to the read request, determines whether the requested data is present in the cache. When the requested data is present in the cache, the cache system returns the data from the cache to the processing unit and invalidates the entry for the data in the cache. When the requested data is not present in the cache, the cache system returns an indication of that to the processing unit, without the cache system sending a request for the data towards the memory system.
    Type: Application
    Filed: January 14, 2020
    Publication date: July 15, 2021
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt
  • Publication number: 20210217131
    Abstract: A data processing system includes a memory and a processor in communication with the memory. The processor is configured to, when storing an array of data in the memory, produce information representative of the content of a block of data representing a particular region of the array of data, write the block of data to a data structure in the memory, and write the information representative of the content of the block of data to the data structure.
    Type: Application
    Filed: January 14, 2020
    Publication date: July 15, 2021
    Applicant: Arm Limited
    Inventors: Olof Henrik Uhrenholt, Andreas Due Engh-Halstvedt
  • Patent number: 11049216
    Abstract: A graphics processor that rasterises input primitives to generate graphics fragments to be processed and renders the graphics fragments to generate a first, higher resolution version of a render output. When processing of a render output is stopped before the render output is finished, the first resolution version of the render output is downsampled to a second, lower resolution and the downsampled data elements at the second resolution are written out together with a set of difference values indicative of the differences between the data elements at the first resolution and the downsampled data elements at the second resolution. Then, when processing of the render output is resumed, these values can be loaded in and used to reconstruct the array of data elements at the first resolution for use when continuing processing of the render output.
    Type: Grant
    Filed: January 21, 2020
    Date of Patent: June 29, 2021
    Assignee: Arm Limited
    Inventors: Alexander Eugene Chalfin, Andreas Due Engh-Halstvedt, Olof Henrik Uhrenholt
  • Patent number: 11036644
    Abstract: When a data processing operation requires data that is stored in a first cache and the fetching of the data into the first cache is dependent upon data stored in another cache, and an attempt to read the data from the first cache “misses”, the data processing operation is added to a record of data processing operations that have missed in the first cache and the data that is required for the data processing operation is fetched into the first cache by reading the data that is required to fetch the data into the first cache from the another cache and then using that data from the another cache to fetch the required data into the first cache. When the data that is required for the data processing operation has been fetched into the first cache, the data processing operation is performed using the fetched data.
    Type: Grant
    Filed: February 2, 2017
    Date of Patent: June 15, 2021
    Assignee: Arm Limited
    Inventors: Andreas Due Engh-Halstvedt, Edvard Fielding
  • Patent number: 11036500
    Abstract: Processing circuitry performs processing operations specified by program instructions. An instruction decoder decodes an atomic-add-with-carry instruction AADDC to control the processing circuitry to perform an atomic operation of an add of an addend operand value and a data value stored in a memory to generate a result value stored in the memory and a carry value indicative of whether or not the add generated a carry out. The atomic-add-with-carry instructions may be used within systems which accumulate a local sum value prior to a data value being returned into a local cache memory at which time the local sum value is added to the return data value. The atomic-add-with-carry instructions may also be used in embodiments comprising a coalescing tree of respective processing apparatus where the carry out values generated from local sums produced at each node are returned early to higher nodes within the hierarchy thereby releasing them to commence other processing.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: June 15, 2021
    Assignee: Arm Limited
    Inventor: Andreas Due Engh-Halstvedt
  • Patent number: 11030783
    Abstract: 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: Grant
    Filed: January 21, 2020
    Date of Patent: June 8, 2021
    Assignee: Arm Limited
    Inventors: Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Frode Heggelund
  • Publication number: 20210158598
    Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions (40) for rendering, each region (40) comprising a respective area of the render output; and for sets of one or more primitives to be rendered, it is determined for which of the plurality of regions of the render output (40) the primitive(s) should be rendered; and for each region of the render output (40) it is determined the primitive(s) should be rendered for, geometry data for the primitive(s) is stored in memory in a respective data structure (42) along with an indication of state data that is to be used for rendering the primitive(s) for the region, such that the geometry data for the primitive(s) to be rendered is stored in a respective, different data structure (42) for each different region of the render output (40) it is determined the primitive(s) should be rendered for.
    Type: Application
    Filed: November 27, 2019
    Publication date: May 27, 2021
    Applicant: Arm Limited
    Inventors: Ian Rudolf Bratt, Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Andreas Loeve Selvik, Olof Henrik Uhrenholt, Thomas J. Olson
  • Publication number: 20210158613
    Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. Associated state data for rendering the primitive is stored in a “state data” data structure in memory. For each region of the render output it is determined the primitive should be rendered for, a reference to the associated state data for rendering the primitive is stored in a respective, different data structure for each different region of the render output it is determined the primitive should be rendered for.
    Type: Application
    Filed: November 27, 2019
    Publication date: May 27, 2021
    Applicant: Arm Limited
    Inventors: Alexander Eugene Chalfin, Andreas Due Engh-Halstvedt, Olof Henrik Uhrenholt
  • Publication number: 20210158585
    Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. For each region of the render output it is determined a primitive should be rendered for, geometry data for the primitive is stored in memory in a respective data structure for the region in a compressed form, such that the geometry data for the primitive to be rendered is stored in a compressed form, in a respective, different data structure for each different region of the render output it is determined the primitive should be rendered for.
    Type: Application
    Filed: November 27, 2019
    Publication date: May 27, 2021
    Applicant: Arm Limited
    Inventors: Alexander Eugene Chalfin, Andreas Due Engh-Halstvedt, Olof Henrik Uhrenholt, Andreas Loeve Selvik
  • Publication number: 20210158584
    Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. Primitive data for rendering the primitive is then stored either in a combined data structure in memory that is associated with a plurality of different regions of the render output, or is stored in a respective data structure for each region of the render output it is determined the primitive should be rendered for. Which manner the primitive data is stored is determined in dependence on a property, e.g. a coverage, of the primitive.
    Type: Application
    Filed: November 27, 2019
    Publication date: May 27, 2021
    Inventors: Alexander Eugene Chalfin, Andreas Due Engh-Halstvedt, Olof Henrik Uhrenholt
  • Patent number: 10733782
    Abstract: 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: Grant
    Filed: October 5, 2018
    Date of Patent: August 4, 2020
    Assignee: Arm Limited
    Inventors: Frode Heggelund, Andreas Due Engh-Halstvedt, Christian Vik Grovdal
  • Patent number: 10706607
    Abstract: When a graphics texture mapping apparatus is to perform a texture filtering operation that uses the data values of a plurality of texels, the texture mapper first determines whether any of the data values of the texels to be used for the texture filtering operation are the same, and then selects a texture filtering operation to be performed using data values of the texels based on the determination. The texture mapper then performs the selected texture filtering operation using one or more of the data values of the texels to provide the required texture filtering operation output result.
    Type: Grant
    Filed: February 20, 2019
    Date of Patent: July 7, 2020
    Assignee: Arm Limited
    Inventors: Peter William Harris, Edvard Fielding, Andreas Due Engh-Halstvedt, Lukasz Kulasza
  • Patent number: 10650580
    Abstract: A graphics processing pipeline includes: a position shader, a tiler, a pool of memory for storing primitive lists and vertex shaded attributes data for vertices, a varying-only vertex shader, and a fragment frontend and shader. The position shader performs vertex shading for the positional attributes of the vertices of a set of vertices to be processed by the graphics processing pipeline. The tiler uses the vertex shaded position data to identify primitives that should be processed further to generate the render output. When the tiler determines that a vertex should be processed further to generate the render output, it allocates memory space in the memory pool for storing vertex shaded attributes data for the vertex. Vertex shaded attributes data for the vertex is then stored in the allocated space in the memory pool for later use, e.g., by the fragment frontend and shader.
    Type: Grant
    Filed: July 3, 2018
    Date of Patent: May 12, 2020
    Assignee: Arm Limited
    Inventors: Andreas Due Engh-Halstvedt, Frank Klaeboe Langtind
  • Patent number: 10650577
    Abstract: 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: Grant
    Filed: August 25, 2016
    Date of Patent: May 12, 2020
    Assignee: ARM LTD
    Inventors: Andreas Due Engh-Halstvedt, Frank Langtind
  • Publication number: 20200111247
    Abstract: 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: Application
    Filed: October 5, 2018
    Publication date: April 9, 2020
    Applicant: Arm Limited
    Inventors: Frode Heggelund, Andreas Due Engh-Halstvedt, Christian Vik Grovdal
  • Patent number: 10607400
    Abstract: A graphics processing pipeline comprises vertex shading circuitry that operates to vertex shade position attributes of vertices of a set of vertices to be processed by the graphics processing pipeline, to generate, inter alia, a separate vertex shaded position attribute value for each view of the plural different views. Tiling circuitry then determines for the vertices that have been subjected to the first vertex shading operation, whether the vertices should be processed further. Vertex shading circuitry 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, to generate, inter alia, a single vertex shaded attribute value for the set of plural views.
    Type: Grant
    Filed: May 15, 2017
    Date of Patent: March 31, 2020
    Assignee: Arm Limited
    Inventors: Sandeep Kakarlapudi, Jorn Nystad, Andreas Due-Engh Halstvedt
  • Patent number: 10599584
    Abstract: 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: Grant
    Filed: November 7, 2017
    Date of Patent: March 24, 2020
    Assignee: Arm Limited
    Inventors: Andreas Due Engh-Halstvedt, Frank Langtind, Shareef Justin Jalloq