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).

  • Publication number: 20180197326
    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: March 7, 2018
    Publication date: July 12, 2018
    Inventors: Jorn NYSTAD, Borgar LJOSLAND, Edvard SORGARD
  • Patent number: 10019820
    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: Grant
    Filed: September 15, 2015
    Date of Patent: July 10, 2018
    Assignee: ARM NORWAY AS
    Inventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
  • Patent number: 10019232
    Abstract: An apparatus and method are provided for inhibiting roundoff error in a floating point argument reduction operation. The apparatus has reciprocal estimation circuitry that is responsive to a first floating point value to determine a second floating point value that is an estimated reciprocal of the first floating point value. During this determination, the second floating point value has both its magnitude and its error bound constrained in dependence on a specified value N. Argument reduction circuitry then performs an argument reduction operation using the first and second floating point values as inputs, in order to generate a third floating point value. The use of the specified value N to constrain both the magnitude and the error bound of the second floating point value causes roundoff error to be inhibited in the third floating point value that is generated by the argument reduction operation.
    Type: Grant
    Filed: April 28, 2016
    Date of Patent: July 10, 2018
    Assignee: ARM Limited
    Inventor: Jørn Nystad
  • Patent number: 9996363
    Abstract: In a compositing window system, as a respective version of the window for an application is written into a window buffer, a corresponding set of per tile signatures indicative of the content of each respective tile in the window buffer is generated and stored. When an updated version of the window is stored into a window buffer, the set of signature values for the updated version is compared to the set of signature values for the previous version in the window buffer to determine which tiles' content has changed. The set of tiles found to have changed is used to generate a set of regions for a window compositor to write to a window in a display frame buffer to update the window in the display frame buffer to display the new version of the window.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: June 12, 2018
    Assignee: ARM Limited
    Inventors: Tom Cooksey, Jon Erik Oterhals, Jørn Nystad, Lars Ericsson, Eivind Liland, Daren Croxford
  • Patent number: 9977675
    Abstract: A graphics processing unit core 26 includes a plurality of processing pipelines 38, 40, 42, 44. A program instruction of a thread of program instructions being executed by a processing pipeline includes a next-instruction-type field 36 indicating an instruction type of a next program instruction following the current program instruction within the processing thread concerned. This next-instruction-type field is used to control selection of to which processing pipeline the next instruction is issued before that next instruction has been fetched and decoded. The next-instruction-type field may be passed along the processing pipeline as the least significant four bits within a program counter value associated with a current program instruction 32. The next-instruction-type field may also be used to control the forwarding of thread state variables between processing pipelines when a thread migrates between processing pipelines prior to the next program instruction being fetched or decoded.
    Type: Grant
    Filed: September 1, 2011
    Date of Patent: May 22, 2018
    Assignee: ARM Limited
    Inventor: Jorn Nystad
  • Patent number: 9965876
    Abstract: A graphics processing pipeline determines whether respective graphics processing operations, such as respective blends, respective depth tests, etc., to be performed at a stage of the graphics processing pipeline would produce the same result for each sampling point of a set of plural sampling points represented by a fragment being processed by the graphics processing pipeline. If it is determined that respective graphics processing operations would produce the same result for each of the sampling points, then only a single instance of the graphics processing operation is performed and the result of that graphics processing operation is associated with each of the sampling points. The number of instances of the graphics processing operations needed to process the set of plural sampling points which the fragment represents is reduced in comparison to conventional multisampling graphics processing techniques which perform graphics processing operations for fragments on a “per sample” basis.
    Type: Grant
    Filed: March 18, 2013
    Date of Patent: May 8, 2018
    Assignee: Arm Limited
    Inventors: Andreas Engh Halstvedt, Sean Tristram Ellis, Jorn Nystad, Sandeep Kakarlapudi
  • Patent number: 9965886
    Abstract: 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: Grant
    Filed: November 28, 2007
    Date of Patent: May 8, 2018
    Assignee: ARM Norway AS
    Inventors: Edvard Sorgard, Borgar Ljosland, Jorn Nystad, Mario Blazevic, Frank Langtind
  • Patent number: 9959092
    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: Grant
    Filed: March 4, 2016
    Date of Patent: May 1, 2018
    Assignee: ARM Limited
    Inventor: Jørn Nystad
  • Publication number: 20180108167
    Abstract: A graphics processing pipeline (30) includes a programmable fragment shader (40) that is operable to, in response to a “test” instruction included in a fragment shader program that it is executing, trigger, if appropriate, the performance of an alpha-to-coverage operation (41), a late stencil test (42), and a late depth test (43) for a fragment being processed, and to then return updated coverage information to the fragment shader (40). This allows alpha-to-coverage and late stencil and depth test operations to be triggered and performed during shader execution, rather than having to wait until shader execution has been completed before performing those operations.
    Type: Application
    Filed: April 6, 2016
    Publication date: April 19, 2018
    Applicant: Arm Limited
    Inventor: Jorn Nystad
  • Patent number: 9947131
    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: May 23, 2016
    Date of Patent: April 17, 2018
    Assignee: ARM Limited
    Inventors: Jorn Nystad, Borgar Ljosland, Edvard Sorgard
  • Patent number: 9927882
    Abstract: A graphics processing unit 2 includes a texture pipeline 6 having a first pipeline portion 18 and a second pipeline portion 20. A subject instruction within the first pipeline portion 18 is recirculated within the first pipeline portion 18 until descriptor data to be loaded from a memory 4 by that subject instruction has been cached within a shared descriptor cache 22. When the descriptor has been stored within the shared descriptor cache 22, then the subject instruction is passed to the second pipeline portion 20 where further processing operations are performed and the subject instruction recirculated until those further processing operations have completed. The descriptor data is locked within the shared descriptor cache 22 until there are no pending subject instructions within the texture pipeline 6 which required to use that descriptor data.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: March 27, 2018
    Assignee: ARM Limited
    Inventors: Andreas Due Engh-Halstvedt, Jorn Nystad
  • Patent number: 9881401
    Abstract: A transaction elimination hardware unit controls the writing to a frame buffer in a memory of tiles generated by a tile-based graphics processor. The transaction elimination hardware unit has a signature generator that generates a signature representative of the content of the tile for each tile. A signature comparator then compares the signature of a new tile received from the graphics processor with the signatures of one or more tiles already stored in the frame buffer to see if the signatures match. If the signatures do not match, then the signature comparator controls a write controller to write the new tile to the frame buffer. On the other hand, if the signatures match, then no data is written to the frame buffer and the existing tile is allowed to remain in the frame buffer. In this way, a tile is only written to the frame buffer if it is found by the signature comparison to differ from the tile or tiles that are already stored in the frame buffer that it is compared with.
    Type: Grant
    Filed: October 15, 2009
    Date of Patent: January 30, 2018
    Assignee: ARM Limited
    Inventors: Jon Erik Oterhals, Jørn Nystad, Lars Ericsson, Eivind Liland, Daren Croxdord
  • Patent number: 9865084
    Abstract: A graphics processor includes a vertex shader 20 that processes input attribute values from a vertex buffer 26 to generate output vertex shaded attribute values 28 to be used by a rasterizer/fragment shader 22 of the graphics processor when processing an image for display. Vertex shader output attributes for which the vertex shader input attributes that the vertex shader output attribute depends on are defined solely on a per-vertex basis or solely on a per-instance basis are identified. Then, for such vertex shader output attributes, the vertex shader 20 stores, for use by the rasterizer/fragment shader 22 of the graphics processor when processing an image for display, only one copy of the vertex shader output attribute for a given vertex or instance, respectively, irrespective of the number of instances or vertices, respectively, that the output attribute value applies to.
    Type: Grant
    Filed: January 26, 2015
    Date of Patent: January 9, 2018
    Assignee: Arm Limited
    Inventors: Jorn Nystad, Aske Simon Christensen
  • Publication number: 20170330372
    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: Application
    Filed: May 15, 2017
    Publication date: November 16, 2017
    Applicant: ARM Limited
    Inventors: Sandeep Kakarlapudi, Jorn Nystad, Andreas Due-Engh Halstvedt
  • Patent number: 9818218
    Abstract: A graphics processor includes a vertex shader 20 that processes input attribute values from a vertex buffer 26 to generate output vertex shaded attribute values 28 to be used by a rasterizer/fragment shader 22 of the graphics processor when processing an image for display. The system recognizes when a vertex shader output attribute value to be generated from a vertex shader input attribute value by the vertex shader 20 will be a copy of the vertex shader input attribute value from which it is to be generated. In this event, the vertex shader 20 does not generate the copy vertex shader output attribute value, but the rasterizer/fragment shader 22 instead processes the corresponding vertex shader input attribute value in place of the copy vertex shader output attribute value that would otherwise have been generated by the vertex shader 20.
    Type: Grant
    Filed: February 28, 2012
    Date of Patent: November 14, 2017
    Assignee: Arm Limited
    Inventors: Jorn Nystad, Aske Simon Christensen
  • Patent number: 9805447
    Abstract: 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: Grant
    Filed: November 30, 2012
    Date of Patent: October 31, 2017
    Assignee: Arm Limited
    Inventors: Andreas Engh-halstvedt, Jorn Nystad, Frode Heggelund, Ronny Pedersen
  • Patent number: 9772864
    Abstract: When an OpenCL kernel is to be executed, a bitfield index representation to be used for the indices of the kernel invocations is determined based on the number of bits needed to represent the maximum value that will be needed for each index dimension for the kernel. A bitfield placement data structure 33 describing how the bitfield index representation is partitioned is then prepared together with a maximum value data structure 32 indicating the maximum index dimension values to be used for the kernel. A processor then executes the kernel invocations 36 across the index space indicated by the maximum value data structure 32. A bitfield index representation 35, 37, 38 configured in accordance with the bitfield placement data structure 33 is associated with each kernel invocation to indicate its index.
    Type: Grant
    Filed: April 16, 2013
    Date of Patent: September 26, 2017
    Assignee: ARM LIMITED
    Inventor: Jorn Nystad
  • Patent number: 9767595
    Abstract: A tile-based graphics processing pipeline 1 comprising a rasteriser 3, a renderer 6, a tile buffer 10, a write out stage 13 and a programmable processing stage 14. The tile buffer 10 stores multiple render targets for a deferred shading operation and the programmable processing stage 14 is operable to, under the control of graphics program instructions, read data from two or more of a set of multiple render targets for a deferred shading operation stored in the tile buffer 10, perform a deferred shading processing operation using the read data, and to write the result of the processing operation to an output render target in the tile buffer 10, or to external memory.
    Type: Grant
    Filed: May 2, 2013
    Date of Patent: September 19, 2017
    Assignee: ARM LIMITED
    Inventors: Jorn Nystad, Andreas Engh-Halstvedt, Sandeep Kakarlapudi, Michael Stokes
  • Patent number: 9741089
    Abstract: A tile-based graphics processing pipeline comprising a rasteriser 3, a renderer 6, a tile buffer 10 configured to store rendered fragment data locally to the graphics processing pipeline prior to that data being written out to an external memory, a write out stage 13 configured to write data stored in the tile buffer to an external memory, and a programmable processing stage 14. The programmable processing stage 14 is operable under the control of graphics program instructions to read fragment data stored in the tile buffer 10 on a random access basis, perform a processing operation using the read fragment data, and write the result of the processing operation into the tile buffer 10 or to an external memory.
    Type: Grant
    Filed: May 2, 2014
    Date of Patent: August 22, 2017
    Assignee: ARM LIMITED
    Inventors: Anders Lassen, Jorn Nystad, Alexis Mather, Sean Tristram Ellis
  • Publication number: 20170212758
    Abstract: Various encoding schemes are discussed for more efficiently encoding instructions which identify first and second architectural register numbers. In the first example, by constraining the first architectural register number to be greater than the second architectural register number, this frees up encodings for use in encoding other operations. In a second example, the first and second architectural register numbers may take any value but one of a first type of processing operation and a second type of processing operation is selected depending on a comparison of the first and second architectural register numbers.
    Type: Application
    Filed: January 22, 2016
    Publication date: July 27, 2017
    Inventors: Simon HOSIE, Jørn NYSTAD