Patents by Inventor Steve Pronovost
Steve Pronovost 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: 10853147Abstract: The described technology addresses one or more of the foregoing problems by receiving one or more workloads from an application. Each of the one or more graphics workloads are associated with completion deadline information and execution metadata representing execution guidance for the workload. The described technology further generates a processor performance adjustment for each of the one or more workloads using a performance model providing the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads. The described technology further communicates each of the one or more received workloads and its corresponding generated processor performance adjustment to a processor subsystem. Each of the processor performance adjustments instructs the processor subsystem on a processor adjustment to be implemented when executing the associated workload.Type: GrantFiled: May 30, 2018Date of Patent: December 1, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Z. Yeung, Glenn Evans, Lucia Darsa, Max McMullen, Steve Pronovost, Jesse Natalie
-
Patent number: 10462336Abstract: Methods and devices for presenting a virtual reality image may include rendering at least one image frame received from an application for a virtual reality image for display on a display device. The methods and devices may include receiving a selection of one of a plurality of tear thresholds that define conditions for tearing in a displayed image. The methods and devices may include determining whether the rendered frame is received prior to the selected one of the plurality of tear thresholds, wherein the selected one of the plurality of tear thresholds occurs after a frame timing event that corresponds to a deadline for initiating display of a new frame. The methods and device may include communicating the rendered image frame to the display device for presentation on the display device when the rendered frame is received prior to the selected one of the plurality of tear thresholds.Type: GrantFiled: June 20, 2017Date of Patent: October 29, 2019Assignee: Microsoft Licensing Technology, LLCInventors: Bennett Sorbo, Steve Pronovost
-
Publication number: 20190258528Abstract: The described technology addresses one or more of the foregoing problems by receiving one or more workloads from an application. Each of the one or more graphics workloads are associated with completion deadline information and execution metadata representing execution guidance for the workload. The described technology further generates a processor performance adjustment for each of the one or more workloads using a performance model providing the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads. The described technology further communicates each of the one or more received workloads and its corresponding generated processor performance adjustment to a processor subsystem. Each of the processor performance adjustments instructs the processor subsystem on a processor adjustment to be implemented when executing the associated workload.Type: ApplicationFiled: May 30, 2018Publication date: August 22, 2019Inventors: Andrew Z. YEUNG, Glenn EVANS, Lucia DARSA, Max MCMULLEN, Steve PRONOVOST, Jesse NATALIE
-
Patent number: 10114740Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: GrantFiled: October 11, 2015Date of Patent: October 30, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Publication number: 20180270399Abstract: Methods and devices for presenting a virtual reality image may include rendering at least one image frame received from an application for a virtual reality image for display on a display device. The methods and devices may include receiving a selection of one of a plurality of tear thresholds that define conditions for tearing in a displayed image. The methods and devices may include determining whether the rendered frame is received prior to the selected one of the plurality of tear thresholds, wherein the selected one of the plurality of tear thresholds occurs after a frame timing event that corresponds to a deadline for initiating display of a new frame. The methods and device may include communicating the rendered image frame to the display device for presentation on the display device when the rendered frame is received prior to the selected one of the plurality of tear thresholds.Type: ApplicationFiled: June 20, 2017Publication date: September 20, 2018Inventors: Bennett SORBO, Steve Pronovost
-
Patent number: 9715750Abstract: A method for tile-based rendering of content. Content may be rendered in a memory region organized as multiple tiles. In scenarios in which content is generated in layers, for operations that involve compositing image layers, an order in which portions of the image are processed may be selected to reduce the aggregate number of memory accesses times, which in turn may improve the performance of a computer that uses tile-based rendering. An image may be processed such that operations relating to rendering portions of different layers corresponding to the same tile are performed sequentially. Such processing may be used in a computer with a graphics processing unit that supports tile-based rendering, and may be particularly well suited for computers with a slate form factor. An interface to a graphics processing utility within the computer may provide a flag to allow an application to specify whether operations may be reordered.Type: GrantFiled: May 13, 2016Date of Patent: July 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Blake D. Pelton, Amar Patel, Steve Pronovost
-
Publication number: 20170061662Abstract: A method for tile-based rendering of content. Content may be rendered in a memory region organized as multiple tiles. In scenarios in which content is generated in layers, for operations that involve compositing image layers, an order in which portions of the image are processed may be selected to reduce the aggregate number of memory accesses times, which in turn may improve the performance of a computer that uses tile-based rendering. An image may be processed such that operations relating to rendering portions of different layers corresponding to the same tile are performed sequentially. Such processing may be used in a computer with a graphics processing unit that supports tile-based rendering, and may be particularly well suited for computers with a slate form factor. An interface to a graphics processing utility within the computer may provide a flag to allow an application to specify whether operations may be reordered.Type: ApplicationFiled: May 13, 2016Publication date: March 2, 2017Inventors: Blake D. Pelton, Amar Patel, Steve Pronovost
-
Publication number: 20160259671Abstract: Techniques for minimizing coprocessor “starvation,” and for effectively scheduling processing in a coprocessor for greater efficiency and power. A run list is provided allowing a coprocessor to switch from one task to the next, without waiting for CPU intervention. A method called “surface faulting” allows a coprocessor to fault at the beginning of a large task rather than somewhere in the middle of the task. DMA control instructions, namely a “fence,” a “trap” and a “enable/disable context switching,” can be inserted into a processing stream to cause a coprocessor to perform tasks that enhance coprocessor efficiency and power. These instructions can also be used to build high-level synchronization objects. Finally, a “flip” technique is described that can switch a base reference for a display from one location to another, thereby changing the entire display surface.Type: ApplicationFiled: March 7, 2016Publication date: September 8, 2016Inventors: Anuj B. Gosalia, Steve Pronovost
-
Publication number: 20160140035Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: ApplicationFiled: October 11, 2015Publication date: May 19, 2016Inventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Patent number: 9342322Abstract: A method for tile-based rendering of content. Content may be rendered in a memory region organized as multiple tiles. In scenarios in which content is generated in layers, for operations that involve compositing image layers, an order in which portions of the image are processed may be selected to reduce the aggregate number of memory accesses times, which in turn may improve the performance of a computer that uses tile-based rendering. An image may be processed such that operations relating to rendering portions of different layers corresponding to the same tile are performed sequentially. Such processing may be used in a computer with a graphics processing unit that supports tile-based rendering, and may be particularly well suited for computers with a slate form factor. An interface to a graphics processing utility within the computer may provide a flag to allow an application to specify whether operations may be reordered.Type: GrantFiled: September 12, 2011Date of Patent: May 17, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Blake D. Pelton, Amar Patel, Steve Pronovost
-
Patent number: 9298498Abstract: Techniques for minimizing coprocessor “starvation,” and for effectively scheduling processing in a coprocessor for greater efficiency and power. A run list is provided allowing a coprocessor to switch from one task to the next, without waiting for CPU intervention. A method called “surface faulting” allows a coprocessor to fault at the beginning of a large task rather than somewhere in the middle of the task. DMA control instructions, namely a “fence,” a “trap” and a “enable/disable context switching,” can be inserted into a processing stream to cause a coprocessor to perform tasks that enhance coprocessor efficiency and power. These instructions can also be used to build high-level synchronization objects. Finally, a “flip” technique is described that can switch a base reference for a display from one location to another, thereby changing the entire display surface.Type: GrantFiled: July 14, 2008Date of Patent: March 29, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Anuj B. Gosalia, Steve Pronovost
-
Patent number: 9158699Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: GrantFiled: November 20, 2014Date of Patent: October 13, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Patent number: 9129394Abstract: Embodiments described herein relate to improving throughput of a CPU and a GPU working in conjunction to render graphics. Time frames for executing CPU and GPU work units are synchronized with a refresh rate of a display. Pending CPU work is performed when a time frame starts (a vsync occurs). When a prior GPU work unit is still executing on the GPU, then a parallel mode is entered. In the parallel mode, some GPU work and some CPU work is performed concurrently. When the parallel mode is exited, for example when there is no CPU work to perform, the parallel mode may be exited.Type: GrantFiled: December 14, 2012Date of Patent: September 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Oreste Dorin Ungureanu, Harneet Sidhana, Mohamed Sadek, Sandeep Prabhakar, Steve Pronovost
-
Publication number: 20150070370Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: ApplicationFiled: November 20, 2014Publication date: March 12, 2015Inventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Patent number: 8924677Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: GrantFiled: January 7, 2014Date of Patent: December 30, 2014Assignee: Microsoft CorporationInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Publication number: 20140192074Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: ApplicationFiled: January 7, 2014Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Patent number: 8671411Abstract: Systems and methods are provided for scheduling the processing of a coprocessor whereby applications can submit tasks to a scheduler, and the scheduler can determine how much processing each application is entitled to as well as an order for processing. In connection with this process, tasks that require processing can be stored in physical memory or in virtual memory that is managed by a memory manager. The invention also provides various techniques of determining whether a particular task is ready for processing. A “run list” may be employed to ensure that the coprocessor does not waste time between tasks or after an interruption. The invention also provides techniques for ensuring the security of a computer system, by not allowing applications to modify portions of memory that are integral to maintaining the proper functioning of system operations.Type: GrantFiled: January 15, 2010Date of Patent: March 11, 2014Assignee: Microsoft CorporationInventors: Anuj B. Gosalia, Steve Pronovost
-
Patent number: 8627036Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: GrantFiled: September 12, 2011Date of Patent: January 7, 2014Assignee: Microsoft CorporationInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Publication number: 20130067186Abstract: Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.Type: ApplicationFiled: September 12, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Steve Pronovost, Maxwell Abernethy, Rudolph Balaz, Ameet Chitre
-
Publication number: 20130063473Abstract: A method for tile-based rendering of content. Content may be rendered in a memory region organized as multiple tiles. In scenarios in which content is generated in layers, for operations that involve compositing image layers, an order in which portions of the image are processed may be selected to reduce the aggregate number of memory accesses times, which in turn may improve the performance of a computer that uses tile-based rendering. An image may be processed such that operations relating to rendering portions of different layers corresponding to the same tile are performed sequentially. Such processing may be used in a computer with a graphics processing unit that supports tile-based rendering, and may be particularly well suited for computers with a slate form factor. An interface to a graphics processing utility within the computer may provide a flag to allow an application to specify whether operations may be reordered.Type: ApplicationFiled: September 12, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Blake D. Pelton, Amar Patel, Steve Pronovost