US10282813B2ActiveUtilityA1
Flex rendering based on a render target in graphics processing
Est. expiryApr 21, 2034(~7.8 yrs left)· nominal 20-yr term from priority
Inventors:Murat BalciAvinash SeetharamaiahChristopher Paul FrascatiJonnala Gadda Nagendra KumarColin Christopher SharpDavid Rigel Garcia Garcia
G06T 1/60G06T 11/40G09G 2330/021G09G 5/00G06T 15/005G06T 1/20
55
PatentIndex Score
0
Cited by
29
References
27
Claims
Abstract
A device comprising a graphics processing unit (GPU) includes a memory and at least one processor. The at least one processor may be configured to: receive a GPU command packet that indicates the GPU may select between a direct rendering mode or a binning rendering mode for a portion of a frame to be rendered by the GPU, determine whether to use the direct rendering mode or the binning rendering mode for the portion of the frame to be rendered by the GPU based on at least one of: information in the received command packet or a state of the GPU, and render the portion of the frame using the determined direct rendering mode or the binning rendering mode.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of graphics processing comprising:
receiving, by a graphics processing unit (GPU), a GPU command packet that indicates the GPU may select a rendering mode from a plurality of rendering modes for rendering at least a portion of a frame, wherein the plurality of rendering modes comprises a first rendering mode and a second rendering mode and wherein the GPU command packet indicates a first pointer for the first rendering mode and a second pointer for the second rendering mode;
selecting, by the GPU, the first rendering mode from the plurality of rendering modes for rendering at least the portion of the frame based on a GPU state of the GPU that is maintained by the GPU; and
rendering, by the GPU, at least the portion of the frame using the selected first rendering mode, wherein rendering at least the portion of the frame comprises executing one or more commands specified by the first pointer indicated by the GPU command packet in response to selecting the first rendering mode.
2. The method of claim 1 , wherein the GPU state is a real-time GPU state, the method further comprising:
executing, by the GPU, the GPU command packet; and
determining, by the GPU, while executing the command packet, the real-time GPU state.
3. The method of claim 1 , wherein receiving the GPU command packet comprises receiving the GPU command packet from a central processing unit (CPU) and wherein selecting the first rendering mode is without interaction with the CPU after receiving the GPU command packet.
4. The method of claim 1 , wherein the GPU state comprises a power consumption of the GPU.
5. The method of claim 4 , wherein selecting the first rendering mode is further based on the GPU state indicating that the power consumption of the GPU exceeds a threshold power consumption value, wherein the first rendering mode is a binning rendering mode.
6. The method of claim 1 , wherein the GPU state comprises a utilization load of the GPU.
7. The method of claim 6 , wherein selecting the first rendering mode is further based on the GPU state indicating that the utilization load of the GPU exceeds a utilization value, wherein the first rendering mode is a binning rendering mode.
8. The method of claim 1 , wherein the GPU state comprises a memory usage of the GPU.
9. The method of claim 1 , wherein the first rendering mode is a direct rendering mode and the second rendering mode is a binning rendering mode, or wherein the second rendering mode is a direct rendering mode and the first rendering mode is a binning rendering mode.
10. The method of claim 1 , wherein selecting the first rendering mode is further based on information in the received command packet, the information in the received command packet comprising an amount of geometry in the portion of the frame to be rendered.
11. The method of claim 1 , wherein the received command packet comprises all bins required for rendering the frame to be rendered by the GPU.
12. The method of claim 1 , wherein selecting the first rendering mode is further based on rendering information from a frame previously rendered by the GPU.
13. The method of claim 1 , the method further comprising:
determining an amount of overdraw that will occur when rendering the frame, wherein selecting the first rendering mode is further based on the amount of overdraw that will occur when rendering the frame.
14. A device comprising a graphics processing unit (GPU), wherein the GPU further comprises:
a memory; and
at least one processor configured to:
receive a GPU command packet that indicates the GPU may select a rendering mode from a plurality of rendering modes for rendering at least a portion of a frame, wherein the plurality of rendering modes comprises a first rendering mode and a second rendering mode and wherein the GPU command packet indicates a first pointer for the first rendering mode and a second pointer for the second rendering mode;
select the first rendering mode from the plurality of rendering modes for rendering at least the portion of the frame based on a GPU state of the GPU that is maintained by the GPU;
render at least the portion of the frame using the selected first rendering mode, wherein, to render at least the portion of the frame, the at least one processor is configured to execute one or more commands specified by the first pointer indicated by the GPU command packet in response to selecting the first rendering mode; and
store at least the portion of the frame rendered using the selected first rendering mode in the memory.
15. The device of claim 14 , wherein the GPU state is a real-time GPU state and wherein the at least one processor is further configured to:
execute the GPU command packet; and
determine, while executing the command packet, the real-time GPU state.
16. The device of claim 14 , wherein, to receive the GPU command packet, the at least one processor is configured to receive the GPU command packet from a central processing unit (CPU) and wherein, to select the first rendering mode, the at least one processor is configured to select the first rendering mode without interaction with the CPU after receiving the GPU command packet.
17. The device of claim 14 , wherein the GPU state comprise a power consumption of the GPU.
18. The device of claim 17 , wherein, to select the first rendering mode, the at least one processor is configured to select the first rendering mode further based on the GPU state indicating that the power consumption of the GPU exceeds a threshold power consumption value, wherein the first rendering mode is a binning rendering mode.
19. The device of claim 14 , wherein the GPU state comprises a utilization load of the GPU.
20. The device of claim 19 , wherein, to select the first rendering mode, the at least one processor is further configured to select the first rendering mode further based on the GPU state indicating that the utilization load of the GPU exceeds a utilization value, wherein the first rendering mode is a binning rendering mode.
21. The device of claim 14 , wherein the GPU state comprises a memory usage of the GPU.
22. The device of claim 14 , wherein the first rendering mode is a direct rendering mode and the second rendering mode is a binning rendering mode, or wherein the second rendering mode is a direct rendering mode and the first rendering mode is a binning rendering mode.
23. The device of claim 14 , wherein, to select the first rendering mode, the at least one processor is configured to select the first rendering mode further based on information in the received command packet, the information in the received command packet comprising an amount of geometry in the portion of the frame to be rendered.
24. The device of claim 14 , wherein the received command packet comprises all bins required for rendering the frame to be rendered by the GPU.
25. The device of claim 14 , wherein, to select the first rendering mode, the at least one processor is configured to select the first rendering mode further based on rendering information from a frame previously rendered by the GPU.
26. The device of claim 14 , wherein the at least one processor is further configured to:
determine an amount of overdraw that will occur when rendering the frame, wherein, to select the first rendering mode the at least one processor is configured to select the first rendering mode further based on the amount of overdraw that will occur when rendering the frame.
27. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a graphics processing unit (GPU) to:
receive a GPU command packet that indicates the GPU may select a rendering mode from a plurality of rendering modes for rendering at least a portion of a frame, wherein the plurality of rendering modes comprises a first rendering mode and a second rendering mode and wherein the GPU command packet indicates a first pointer for the first rendering mode and a second pointer for the second rendering mode;
select the first rendering mode from the plurality of rendering modes for rendering at least the portion of the frame based on a GPU state of the GPU that is maintained by the GPU; and
render at least the portion of the frame using the selected first rendering mode, wherein the instructions that cause the GPU to render at least the portion of the frame comprise instructions that cause the GPU to execute one or more commands specified by the first pointer indicated by the GPU command packet in response to selecting the first rendering mode.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.