Patents by Inventor Jorn Nystad

Jorn Nystad 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: 9514563
    Abstract: When processing a set of tiles to generate an output in a tile based graphics processing pipeline, the pipeline, for one or more tiles of the set of tiles, renders one or more render targets containing data to be used in a processing operation (602), and stores the render targets in the tile buffer (604). It also stores some but not all of the sampling position values for a render target or targets for use when processing an adjacent tile of the set of tiles (606). It then performs a processing operation for the tile using the stored render target or targets (608) and one or more stored sampling position values from another, adjacent tile of the set of tiles (610), to generate an output for the tile (612).
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: December 6, 2016
    Assignee: ARM LIMITED
    Inventors: Sean Tristram Ellis, Jorn Nystad, Andreas Engh-Halstvedt
  • Patent number: 9489344
    Abstract: A data processor of a processing system, such as a graphics processing system, converts an input data value into an output data value by approximating a function which maps input values to output values. The data processor approximates the function using first and second predetermined ranges of values which are quantized into plural corresponding pairs of range sections, a predetermined gradient for each pair of range sections, and predetermined section end values for each pair of range sections. By using these predetermined parameters, the approximation of the function can be implemented efficiently by the data processor of the processing system.
    Type: Grant
    Filed: June 27, 2013
    Date of Patent: November 8, 2016
    Assignee: ARM LIMITED
    Inventors: Jorn Nystad, Sean Tristram Ellis
  • Publication number: 20160306608
    Abstract: An apparatus and method for generating a sum of floating-point input values are provided. To sum the values multiple partial sum floating-point values are maintained and the partial sum to which an input value may be added is selected by a least significant portion of the exponent of the input value. If the exponent of the input value is equal to the exponent of the value stored in the selected partial sum a mantissa sum of the input value and stored partial sum value replaces the mantissa value of the selected partial sum value. If the exponent of the input value is larger than the exponent of the value stored in the selected partial sum the selected partial sum value is replaced with the input value. An associative and deterministic summation is thus provided.
    Type: Application
    Filed: March 4, 2016
    Publication date: October 20, 2016
    Inventor: Jørn NYSTAD
  • Patent number: 9472018
    Abstract: In a tile-based graphics processing system, when an overlay image is to be rendered onto an existing image, the existing tile data for the existing image from the frame buffer in the main memory is pre-loaded into the local color buffer of the graphics processor (step 41). The overlay content is then rendered and used to modify the tile data stored in the color buffer (step 44). When the data for a given sampling position stored in the tile buffer is modified as a result of the overlay image, a corresponding dirty bit for the tile region that the sampling position falls within is set (step 45). Then, when all the rendering for the tile has been completed, the dirty bits are examined to determine which regions of the tile have been modified (step 46). The modified tile regions are written back to the output image in the frame buffer in the main memory (step 47), but any regions whose dirty bits have not been set are not written back to the frame buffer in the main memory.
    Type: Grant
    Filed: May 19, 2011
    Date of Patent: October 18, 2016
    Assignee: ARM LIMITED
    Inventors: Andreas Engh-Halstvedt, Jorn Nystad, Edvard Sorgard, Frode Heggelund
  • Publication number: 20160283408
    Abstract: A device includes a processor and memory. The memory has stored thereon a plurality of executable instructions. The executable instructions, when executed by the processor, cause the processor to: receive an access request affecting an operation of the device; facilitate encryption and/or authentication across an interface coupled to the device, wherein the interface is configured to secure the access request; and execute the access request.
    Type: Application
    Filed: March 24, 2016
    Publication date: September 29, 2016
    Inventors: Jorn NYSTAD, Edvard SORGARD, Borgar LJOSLAND, Mario BLAZEVIC
  • Publication number: 20160267709
    Abstract: When rendering a scene that includes a complex object made up of many individual primitives, rather than processing each primitive making up the object in turn, a bounding volume which surrounds the complex object is generated and the scene is then processed using the bounding volume in place of the actual primitives making up the complex object. If it is determined that the bounding volume representation of the object will be completely occluded in the scene (e.g. by a foreground object), then the individual primitives making up the complex object are not processed. This can save significantly on processing time and resources for the scene.
    Type: Application
    Filed: May 23, 2016
    Publication date: September 15, 2016
    Inventors: Jorn NYSTAD, Borgar LJOSLAND, Edvard SORGARD
  • Publication number: 20160267702
    Abstract: When sampling a cube map when rendering in a graphics processing system, the vector representation of the desired cube map sample provided by the application is converted into a 2D position on one of the faces of the cube map for use by the texturing unit of the graphics processing pipeline. The determined 2D texture coordinates (S, T) are represented using standard 32-bit IEEE 754 floating point numbers, and the 3-bit face index for the cube map is included in one of the numbers representing the texture coordinates by packing it into the sign bit and the top two bits of the exponent to provide a modified texture coordinate value. The modified 32-bit texture coordinate representation is then provided together with the 32-bit floating point number corresponding to the other texture coordinate as the cube map descriptor to the texturing unit of the graphics processing pipeline.
    Type: Application
    Filed: March 4, 2016
    Publication date: September 15, 2016
    Applicant: ARM Limited
    Inventor: Jorn Nystad
  • Patent number: 9430381
    Abstract: A graphics processing unit 2 includes a texture pipeline 6 which performs filter operations upon texture values. If the texture values are integer texture values, then they may be processed by the texture pipeline in a variable order corresponding to the order in which they are retrieved from a memory 4. If the texture values are floating point texture values, then they are processed in a fixed order in order to ensure result invariants as the filter operation is non-associative for floating point values. The filter operation is not commenced until all of the floating point texture values have been retrieved from the memory 4 and other available for processing.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: August 30, 2016
    Assignee: ARM Limited
    Inventors: Andreas Due Engh-Halstvedt, Jorn Nystad
  • Patent number: 9406155
    Abstract: A graphics processor 1 includes after its tile rendering logic 40, a transaction elimination unit 5 that includes data block generation logic 41 and block comparison logic 43. The block generation logic 41 generates data blocks from the rendered tiles produced by the tile rendering logic 40. The data blocks are then stored in buffers 42. Comparison logic 43 then compares a new data block with the previous data block (which will already be stored in the buffers 42), and generates an output metadata bit indicating whether the blocks can be considered to be the same or not, on the basis of the comparison. The meta-data output bits are stored appropriately in a meta-data bitmap 45 in main memory 2 that is associated with the output data array in question. If the blocks are determined to be different by the comparison logic then the new data block is written from the buffers 42 to the frame buffer 44 in the main memory 2.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: August 2, 2016
    Assignee: ARM Limited
    Inventors: Jon Erik Oterhals, Daren Croxford, Lars Ericsson, Jørn Nystad, Eivind Liland
  • Publication number: 20160179676
    Abstract: A data processing system incorporates a write-back cache and supports load-and-clean program instructions. The action of a load-and-clean program instruction is to load a data value and to mark as clean at least a target portion within a cache line of the write-back cache which is storing the data value loaded. The data values to be subject to such load-and-clean instructions may be identified by the programmer as the last use of those data values, or may be identified by a compiler as the last use of those data values. The data values may be from a stack memory region in which their pattern of access is predictable and it is known when they are no longer required. Another example of regular memory accesses where the last access can be identified is when processing streaming media data.
    Type: Application
    Filed: December 2, 2015
    Publication date: June 23, 2016
    Inventors: Andreas Due ENGH-HALSTVEDT, Jørn NYSTAD
  • Patent number: 9367953
    Abstract: When rendering a scene that includes a complex object made up of many individual primitives, rather than processing each primitive making up the object in turn, a bounding volume which surrounds the complex object is generated and the scene is then processed using the bounding volume in place of the actual primitives making up the complex object. If it is determined that the bounding volume representation of the object will be completely occluded in the scene (e.g. by a foreground object), then the individual primitives making up the complex object are not processed. This can save significantly on processing time and resources for the scene.
    Type: Grant
    Filed: June 3, 2009
    Date of Patent: June 14, 2016
    Assignee: ARM Limited
    Inventors: Jørn Nystad, Borgar Ljosland, Edvard Sørgård
  • Patent number: 9349210
    Abstract: A graphics virtual texturing system in which textures stored in a storage medium of a host system are divided into respective pages that are then loaded into a local memory of a graphics processing system for use. If the texture page that is required for performing a texturing operation at an originally desired level of detail (52) is not present in the local memory of the graphics processing system (53), the virtual texture lookup process loops back to try to sample the texture at an increased level of detail (55), and so on, until texture data that can be used is found in the local memory of the graphics processing system (53). This allows the texturing operation to proceed using texture data for the texel positions in question from a higher level (less detailed) mipmap in place of the originally desired texture data.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: May 24, 2016
    Assignee: ARM LIMITED
    Inventors: Jorn Nystad, Andreas Engh-Halstvedt, Edvard Sorgard, Thomas Jeremy Olson, Marius Bjorge
  • Patent number: 9256466
    Abstract: When an atomic operation is to be executed for a thread group by an execution stage of a data processing system, it is determined whether there is a set of threads for which the atomic operation for the threads accesses the same memory location. If so, the arithmetic operation for the atomic operation is performed for the first thread in the set of threads using an identity value for the arithmetic operation for the atomic operation and the first thread's register value for the atomic operation, and is performed for each other thread in the set of threads using the thread's register value for the atomic operation and the result of the arithmetic operation for the preceding thread in the set of threads, to thereby generate for the final thread in the identified set of threads a combined result of the arithmetic operation for the set of threads.
    Type: Grant
    Filed: June 7, 2013
    Date of Patent: February 9, 2016
    Assignee: ARM LIMITED
    Inventor: Jorn Nystad
  • Publication number: 20160005195
    Abstract: 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: Application
    Filed: September 15, 2015
    Publication date: January 7, 2016
    Inventors: Edvard Sorgard, Borgar LJOSLAND, Jorn NYSTAD, Mario BLAZEVIC, Frank LANGTIND
  • Patent number: 9218793
    Abstract: A tile-based graphics processor includes tile processing circuitry that has both a tile buffer and a per-pixel general purpose data store. The per-pixel general purpose data store is read accessible and write accessible by the tile processing circuitry to store intermediate values. These intermediate values are generated by the tile processing circuitry and then consumed by the tile processing circuitry to generate the output values for the tile being processed.
    Type: Grant
    Filed: October 24, 2012
    Date of Patent: December 22, 2015
    Assignee: ARM Limited
    Inventors: Sandeep Kakarlapudi, Jorn Nystad
  • Publication number: 20150317271
    Abstract: A slave device communicates with a host system via a host communications bus. The host system includes one processor that can act as bus master and send access requests for slave resources on the slave device via the communications bus. The slave device platform includes a memory management unit, a programmable central processor and one slave resource. The memory management unit acts as an address translating device, and accepts requests with virtual addresses from a master device on the host system, translates the virtual addresses used in the access request to the “internal” physical addresses of the slave's resources and forwards the accesses to the appropriate physical resource. When an address miss occurs in the memory management unit, it passes the handling of the access request over to the controlling CPU which executes software to then resolve the address miss and handle the access request.
    Type: Application
    Filed: July 15, 2015
    Publication date: November 5, 2015
    Inventors: Jorn NYSTAD, Edvard SORGARD, Borgar LJOSLAND, Mario BLAZEVIC
  • Patent number: 9153070
    Abstract: The early depth test stages 4, 13 of a graphics processing pipeline 1 are configured to broadcast information 9, 10, 11, 14 about fragments, etc., that pass those early depth tests to other stages 3, 4, 6, 12 in the pipeline. The other stages in the pipeline then use the early depth test pass information to determine if the processing of any fragments that they are currently processing can be stopped.
    Type: Grant
    Filed: December 17, 2012
    Date of Patent: October 6, 2015
    Assignee: ARM LIMITED
    Inventors: Jorn Nystad, Edvard Sorgard, Frode Heggelund
  • Patent number: 9146901
    Abstract: A processing apparatus is provided with processing circuitry 6, 8 and decoder circuitry 10 responsive to a received argument reduction instruction FREDUCE4, FDOT3R to generate control signals 16 for controlling the processing circuitry 6, 8. The action of the argument reduction instruction is to subject each component of an input vector to a scaling which adds or subtracts an exponent shift value C to the exponent of the input vector component. The exponent shift value C is selected such that a sum of this exponent shift value C with the maximum exponent value B of any of the input vector components lies within a range between a first predetermined value and a second predetermined value. A consequence of execution of this argument reduction instruction is that the result vector when subject to a dot-product operation will be resistant to floating point underflows or overflows.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: September 29, 2015
    Assignee: ARM Limited
    Inventor: Jorn Nystad
  • Patent number: 9142037
    Abstract: When encoding a set of texture data elements 30 for use in a graphics processing system, the direction along which the data values of the set of texture data elements in question exhibit the greatest variance in the color space is estimated by using one or more infinite planes 41 to divide the texture data elements in the color space. For each such plane, texture data element values on each side of the plane are added up to give respective sum points 48, 49, and the vector 50 between these two sum points determined. The direction in the data space of one of the determined vectors 50 is then used to derive endpoint color values to use when encoding the set of texture data elements.
    Type: Grant
    Filed: July 2, 2013
    Date of Patent: September 22, 2015
    Assignee: ARM LIMITED
    Inventor: Jorn Nystad
  • Patent number: 9122646
    Abstract: In a tile-based graphics processing system having plural rendering processors, the set of tiles 31 to be processed to generate an output frame 30 for display is partitioned among the different rendering processors by defining respective tile traversal paths 32, 33, 34, 35 for each rendering processor that start at a tile initially allocated to the processor and that, at least for the initial tiles along the path, traverse to spatially adjacent tiles in the output, and that will traverse every tile to be rendered if followed to their end. The next tile for a given rendering processor to process is then selected as being the next tile along its defined path, unless the next tile in the path has already been processed (or is already being processed) by another rendering processor, in which case the next tile to be allocated to the rendering processor is selected to be a free tile further on in the tile traversal path for that processor.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: September 1, 2015
    Assignee: ARM LIMITED
    Inventors: Sean Ellis, Andreas Engh-halstvedt, Jorn Nystad