IP Library › Granted Patent US 10,796,478
Granted Patent B2
US 10,796,478 · App. 16/143,260 · Granted Oct 6, 2020

Dynamic rendering for foveated rendering

Inventor: Andrew Evan Gruber (Arlington, MA)
Assignee: QUALCOMM Incorporated
G06T15/40G06T1/20G06T15/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,796,478
App. No.
16/143,260
Granted
Oct 6, 2020
Kind
B2
Abstract

A method, a computer-readable medium, and an apparatus are provided. The apparatus may be a GPU. The GPU generates first visibility information during a visibility pass associated with an application requested depth pre-pass. In addition, the GPU renders an application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass.

Claims (44)

1. A method of operation of a graphics processing unit (GPU), comprising:

generating first visibility information during a visibility pass associated with an application requested depth pre-pass; and

generating second visibility information during a render pass associated with the application requested depth pre-pass, the second visibility information being generated based on the generated first visibility information;

generating third visibility information during a visibility pass associated with an application requested color pass; and

rendering the application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass, wherein the application requested color pass is rendered during a render pass associated with the application requested color pass, the application requested color pass being rendered based on the generated second visibility information.

2. The method of claim 1 , wherein Late Z operations identified during the render pass associated with the application requested depth pre-pass are incorporated into the generated second visibility information.

3. The method of claim 2 , wherein vertex processing is skipped in the render pass associated with the application requested color pass based on the Late Z operations incorporated in the generated second visibility information.

4. The method of claim 2 , wherein depth surfaces are rendered when generating the second visibility information, and the application requested color pass is further rendered based on the rendered depth surfaces.

5. The method of claim 1 , wherein the third visibility information is generated based on the generated first visibility information, and the second visibility information is generated based on the generated third visibility information.

6. The method of claim 5 , further comprising receiving an indication that first geometry corresponding to the visibility pass associated with the application requested depth pre-pass is identical to second geometry corresponding to the visibility pass associated with the application requested color pass, wherein the GPU determines to generate the third visibility information upon receiving the indication that the first geometry is identical to the second geometry.

7. The method of claim 5 , wherein the visibility pass associated with the application requested depth pre-pass and the visibility pass associated with the application requested color pass are performed sequentially in the same visibility pass, and the render pass associated with the application requested depth pre-pass and the render pass associated with the application requested color pass are performed sequentially in the same render pass.

8. The method of claim 1 , wherein the third visibility information is generated based on the generated second visibility information, and the application requested color pass is rendered based on the generated third visibility information.

9. The method of claim 1 , wherein the application requested color pass is rendered during a visibility pass associated with the application requested color pass, second visibility information is generated during the visibility pass associated with the application requested color pass, and the second visibility information is generated based on the first visibility information.

10. The method of claim 9 , further comprising generating third visibility information during a render pass associated with the application requested depth pre-pass, the third visibility information being generated based on the generated second visibility information.

11. The method of claim 10 , further comprising rendering the application requested color pass during a render pass associated with the application requested color pass based on the generated third visibility information.

12. The method of claim 1 , wherein the first visibility information is generated in parallel for each bin of a plurality of bins.

13. The method of claim 1 , further comprising:

identifying one or more non-visible pixels based on the generated first visibility information; and

culling the non-visible pixels before rendering the application requested color pass.

14. A graphics processing unit (GPU), comprising:

a memory; and

at least one processing unit coupled to the memory and configured to:

generate first visibility information during a visibility pass associated with an application requested depth pre-pass;

generate second visibility information during a render pass associated with the application requested depth pre-pass, the second visibility information being generated based on the generated first visibility information;

generate third visibility information during a visibility pass associated with an application requested color pass; and

render the application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass, wherein the application requested color pass is rendered during a render pass associated with the application requested color pass, the application requested color pass being rendered based on the generated second visibility information.

15. The GPU of claim 14 , wherein the third visibility information is generated based on the generated first visibility information, and the second visibility information is generated based on the generated third visibility information.

16. The GPU of claim 15 , wherein the at least one processing unit is further configured to receive an indication that first geometry corresponding to the visibility pass associated with the application requested depth pre-pass is identical to second geometry corresponding to the visibility pass associated with the application requested color pass, wherein the GPU determines to generate the third visibility information upon receiving the indication that the first geometry is identical to the second geometry.

17. The GPU of claim 14 , wherein the third visibility information is generated based on the generated second visibility information, and the application requested color pass is rendered based on the generated third visibility information.

18. The GPU of claim 14 , wherein the application requested color pass is rendered during a visibility pass associated with the application requested color pass, second visibility information is generated during the visibility pass associated with the application requested color pass, and the second visibility information is generated based on the first visibility information.

19. The GPU of claim 18 , wherein the at least one processing unit is further configured to generate third visibility information during a render pass associated with the application requested depth pre-pass, the third visibility information being generated based on the generated second visibility information.

20. The GPU of claim 19 , wherein the at least one processing unit is further configured to render the application requested color pass during a render pass associated with the application requested color pass based on the generated third visibility information.

21. A graphics processing unit (GPU) apparatus, comprising:

means for generating first visibility information during a visibility pass associated with an application requested depth pre-pass;

means for generating second visibility information during a render pass associated with the application requested depth pre-pass, the second visibility information being generated based on the generated first visibility information;

means for generating third visibility information during a visibility pass associated with an application requested color pass; and

means for rendering the application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass, wherein the application requested color pass is rendered during a render pass associated with the application requested color pass, the application requested color pass being rendered based on the generated second visibility information.

22. The GPU of claim 21 , wherein the third visibility information is generated based on the generated first visibility information, and the second visibility information is generated based on the generated third visibility information.

23. The GPU of claim 21 , wherein the third visibility information is generated based on the generated second visibility information, and the application requested color pass is rendered based on the generated third visibility information.

24. A non-transitory computer-readable medium having code stored thereon that, when executed, causes a processing unit to:

generate first visibility information during a visibility pass associated with an application requested depth pre-pass;

generate second visibility information during a render pass associated with the application requested depth pre-pass, the second visibility information being generated based on the generated first visibility information;

generate third visibility information during a visibility pass associated with an application requested color pass; and

render the application requested color pass based on the first visibility information generated during the visibility pass associated with the application requested depth pre-pass, wherein the application requested color pass is rendered during a render pass associated with the application requested color pass, the application requested color pass being rendered based on the generated second visibility information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2018
From: GRUBER, ANDREW EVAN
To: QUALCOMM INCORPORATED
Reel/Frame 047745/0681 →
Continuity (1)
Related Publication 20200098165A1 · Mar 26, 2020