Frame pacing for improved experiences in 3D applications
US-12057090-B2 · Aug 6, 2024 · US
US9401004B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9401004-B2 |
| Application number | US-90293710-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 12, 2010 |
| Priority date | Oct 13, 2009 |
| Publication date | Jul 26, 2016 |
| Grant date | Jul 26, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One embodiment of the present invention sets forth a technique for tracking and filtering state change methods provided to a graphics pipeline. State shadow circuitry at the start of the graphics pipeline may be configured in different modes. A track mode is used to capture the current state by storing state change methods that are transmitted to the graphics pipeline. A passthrough mode is used to provide different state data to the graphics pipeline without updating the current state stored in the state shadow circuitry. A replay mode is used to restore the current state to the graphics pipeline using the state shadow circuitry. Additionally, the state shadow circuitry may also be configured to filter the state change methods that are transmitted to graphics pipeline by removing redundant state change methods.
Opening claim text (preview).
What is claimed is: 1. A method for changing a state of a graphics processing pipeline, comprising: storing first state data associated with a first state change method in a memory included in a front end of a graphics processing unit (GPU); transmitting the first state data to the graphics processing pipeline to change the state of the graphics processing pipeline to a first state; receiving, by the front end, a second state change method that includes second state data; transmitting the second state data to the graphics processing pipeline, while the first state data is maintained in the memory of the front end, to change the state of the graphics processing pipeline from the first state to a second state, wherein the second state data is not written into the memory of the front end; and after transmitting the second state data, transmitting the first state data from the memory of the front end to the graphics processing pipeline to change the state of the graphics processing pipeline from the second state back to the first state. 2. The method of claim 1 , further comprising: receiving a third state change method that includes third state data, wherein the first state change method and the third state change method are associated with a first control register in the graphics processing pipeline; reading the first state data from the memory; determining that the first state data matches the third state data; and discarding the third state change method without transmitting the third state data to the graphics processing pipeline. 3. The method of claim 2 , wherein the first state change method is associated with a first processing thread and the third state change method is associated with a second processing thread. 4. The method of claim 1 , further comprising: receiving a third state change method, wherein the first state change method and the third state change method are associated with a first control register in the graphics processing pipeline; reading the first state data from the memory; and transmitting the first state data to the graphics processing pipeline to change the graphics processing pipeline from the second state to the first state. 5. The method of claim 1 , further comprising: processing data in the graphics processing pipeline using the second state data, wherein the processing comprises clearing a non-bound surface. 6. The method of claim 1 , wherein the memory stores sets of state data and each set of the state data is a copy of a different state used by the graphics processing pipeline. 7. The method of claim 6 , wherein each one of the sets of state data represents a different graphics context and the front end is configured to switch between the different graphics contexts that are used by the graphics processing pipeline. 8. The method of claim 1 , further comprising: receiving a third state change method including third state data, wherein the first state change method and the second state change method are associated with a first control register in the graphics processing pipeline; reading the first state data from the memory; determining that the first state data does not match the third state data; writing the third state data to the memory; and transmitting the third state data to the graphics processing pipeline to change the state of the graphics processing pipeline from the second state to the third state. 9. The method of claim 1 , further comprising determining that space has been allocated in the memory for the first state change method; and storing the first state data in the memory. 10. The method of claim 1 , storing the second state data in a control register within the graphics processing pipeline. 11. The method of claim 1 , further comprising: receiving a third state change method to invoke a macro program in a method macro expander; executing a method macro expander program instruction to read the first state data from the memory; and generating and transmitting one or more commands to the graphics processing pipeline based on the first state data. 12. The method of claim 1 , wherein the first state change method specifies wildcard data that are stored in the memory and are not transmitted to the graphics processing pipeline. 13. The method of claim 1 , wherein transmitting the first state data from the memory to the graphics processing pipeline further comprises: receiving an incoming method; replacing third state data included in the incoming method with the first state data stored in the memory; and converting the incoming method to a control register write including control register data that is based on the first state data. 14. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, change the state of a graphics processing pipeline, by performing the steps of: storing first state data associated with a first state change method in a memory included in a front end of a graphics processing unit (GPU); transmitting the first state data to the graphics processing pipeline to change the state of the graphics processing pipeline to a first state; receiving, by the front end, a second state change method that includes second state data; transmitting the second state data to the graphics processing pipeline, while the first state data is maintained in the memory of the front end, to change the state of the graphics processing pipeline from the first state to a second state, wherein the second state data is not written into the memory of the front end; and after transmitting the second state data, transmitting the first state data from the memory of the front end to the graphics processing pipeline to change the state of the graphics processing pipeline from the second state back to the first state. 15. A graphics processing unit (GPU) comprising: a graphics processing pipeline; and a front end configured to be switched between different modes of operation including a first mode, a second mode, and a third mode, wherein the front end operating in the first mode causes first state data for the graphics processing pipeline to be transmitted to the graphics processing pipeline to change the state thereof after storing the first state data in a memory of the front end, wherein the front end operating in the second mode causes second state data for the graphics processing pipeline to be transmitted to the graphics processing pipeline, while the first state data is maintained in the memory of the front end, to change the state of the graphics processing pipeline without storing the second state data in the memory of the front end, and wherein the front end operating in the third mode causes state data for the graphics processing pipeline to be changed based on data stored in the memory of the front end. 16. The system of claim 15 , wherein the front end is further configured to: operate in a fourth mode, wherein the front end operating in the fourth mode determines that received state data for the graphics processing pipeline matches state data stored in the memory and, in response to the determination, maintains the state data stored in the memory without transmitting the received state data. 17. The system of claim 15 , wherein the memory stores sets of state data and each set of the state data is a copy of a different state used by the graphics processing pipeline. 18. The system of claim 15 , wherein the front end is further configured to: operate in a fourth mode wherein the front end operating in th
Image data format · CPC title
Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs · CPC title
Graphics controllers · CPC title
Memory management · CPC title
Use of more than one graphics processor to process data before displaying to one or more screens · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.