Patents by Inventor Ryan R. Salsbury

Ryan R. Salsbury 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: 20240062452
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiprocessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Application
    Filed: October 30, 2023
    Publication date: February 22, 2024
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Patent number: 11804001
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Grant
    Filed: December 1, 2021
    Date of Patent: October 31, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Publication number: 20220092843
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Application
    Filed: December 1, 2021
    Publication date: March 24, 2022
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Patent number: 11205295
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: December 21, 2021
    Assignee: Imagination Technologies Limited
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Publication number: 20200394832
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Application
    Filed: August 27, 2020
    Publication date: December 17, 2020
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Patent number: 10789758
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Grant
    Filed: December 19, 2018
    Date of Patent: September 29, 2020
    Assignee: Imagination Technologies Limited
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Publication number: 20190122419
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Application
    Filed: December 19, 2018
    Publication date: April 25, 2019
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Patent number: 10192350
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Grant
    Filed: April 25, 2017
    Date of Patent: January 29, 2019
    Assignee: Imagination Technologies Limited
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Patent number: 9940687
    Abstract: Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays.
    Type: Grant
    Filed: May 12, 2015
    Date of Patent: April 10, 2018
    Assignee: Imagination Technologies Limited
    Inventors: Luke Tilman Peterson, Ryan R. Salsbury, Sean Matthew Gies, Steven John Clohset
  • Publication number: 20170228920
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Application
    Filed: April 25, 2017
    Publication date: August 10, 2017
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Patent number: 9710954
    Abstract: A processor supports special-purpose instructions relating to testing rays for intersection with geometry and acceleration structure elements. The processor can be a full-featured processor; the special-purpose instructions can be differentiated from other supported instructions. The processor can have an instruction generator coupled with an instruction decoder, a data cache, a fetch unit, and a set of test cells for performing computations indicated by special-purpose instructions. Separate test cells can test rays with scene geometry and with acceleration structure elements; different instructions can be provided for each type of testing. The data cache is coupled to the test cells; the instruction decoder also provides input to the test cells while the test cells are coupled to a write back unit that is coupled to the data cache and to the instruction generator. In an example, the instruction decoder supplies ray references from an instruction as functional addresses to the data cache.
    Type: Grant
    Filed: October 1, 2014
    Date of Patent: July 18, 2017
    Assignee: Imagination Technologies Limited
    Inventors: Luke T Peterson, James A. McCombe, Ryan R. Salsbury
  • Patent number: 9633468
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: April 25, 2017
    Assignee: Imagination Technologies Limited
    Inventors: Luke T Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Patent number: 9460547
    Abstract: Aspects include API interfaces for interfacing shaders with other components and/or code modules that provide ray tracing functionality. For example, API calls may allow direct contribution of light energy to a buffer for an identified pixel, and allow emission of new rays for intersection testing alone or in bundles. The API also can provide a mechanism for associating arbitrary data with ray definition data defining a ray to be tested through a shader using the emit ray call. The arbitrary data is provided to a shader associated with an object that is identified subsequently as having been intersected by the ray. The data can include code, or a pointer to code, that can be used by or run after the shader. The data also can be propagated through a series of shaders, and associated with rays instantiated in each shader. Recursive shaders can be recompiled as non-recursive shaders interfacing with API semantics according to the description.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: October 4, 2016
    Assignee: Imagination Technologies Limited
    Inventors: James Alexander McCombe, Luke T Peterson, Ryan R. Salsbury, Sean Matthew Gies
  • Publication number: 20160063753
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Application
    Filed: November 10, 2015
    Publication date: March 3, 2016
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Patent number: 9183668
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiprocessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Grant
    Filed: December 28, 2013
    Date of Patent: November 10, 2015
    Assignee: Imagination Technologies Limited
    Inventors: Luke T Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J Clohset
  • Publication number: 20150302630
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Application
    Filed: December 2, 2014
    Publication date: October 22, 2015
    Inventors: Luke T. Peterson, James A. McCombe, Ryan R. Salsbury, Stephen Purcell
  • Publication number: 20150242990
    Abstract: Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays.
    Type: Application
    Filed: May 12, 2015
    Publication date: August 27, 2015
    Inventors: Luke Tilman Peterson, Ryan R. Salsbury, Sean Matthew Gies, Steven John Clohset
  • Patent number: 9030476
    Abstract: Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: May 12, 2015
    Assignee: Imagination Technologies, Limited
    Inventors: Luke Tilman Peterson, Ryan R. Salsbury, Sean Matthew Gies, Steven John Clohset
  • Publication number: 20150116325
    Abstract: A processor supports special-purpose instructions relating to testing rays for intersection with geometry and acceleration structure elements. The processor can be a full-featured processor; the special-purpose instructions can be differentiated from other supported instructions. The processor can have an instruction generator coupled with an instruction decoder, a data cache, a fetch unit, and a set of test cells for performing computations indicated by special-purpose instructions. Separate test cells can test rays with scene geometry and with acceleration structure elements; different instructions can be provided for each type of testing. The data cache is coupled to the test cells; the instruction decoder also provides input to the test cells while the test cells are coupled to a write back unit that is coupled to the data cache and to the instruction generator. In an example, the instruction decoder supplies ray references from an instruction as functional addresses to the data cache.
    Type: Application
    Filed: October 1, 2014
    Publication date: April 30, 2015
    Inventors: Luke T Peterson, James A. McCombe, Ryan R. Salsbury
  • Patent number: 8902230
    Abstract: Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: December 2, 2014
    Assignee: Imagination Technologies, Limited
    Inventors: Luke Tilman Peterson, James Alexander McCombe, Ryan R. Salsbury, Stephen Purcell