IP Library Granted Patent US 9,836,810
Granted Patent B2
US 9,836,810 · App. 15/012,467 · Granted Dec 5, 2017

Optimized multi-pass rendering on tiled base architectures

Inventors: Murat Balci (Orlando, FL); Christopher Paul Frascati (Oviedo, FL); Avinash Seetharamaiah (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06T1/20G06T15/005
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 9,836,810
App. No.
15/012,467
Granted
Dec 5, 2017
Kind
B2
Abstract

The present disclosure provides systems and methods for multi-path rendering on tile based architectures including executing, with a graphics processing unit (GPU), a query pass, executing, with the GPU, a condition true pass based on the query pass without executing a flush operation, executing, with the GPU, a condition false pass based on the query pass without executing a flush operation, and responsive to executing the condition true pass and the condition false pass, executing, with the GPU, a flush operation.

Claims (44)

1. A method for multi-path graphics rendering on tile-based architectures, the method comprising:

receiving, with a graphics processing unit (GPU) from an application executing on a processor other than the GPU, a first set of commands for a condition true pass and a second set of commands for a condition false pass;

executing, with the GPU, a query pass without executing a flush operation to flush results of the query pass to the processor;

in response to the results of the query pass indicating a true condition, executing, with the GPU, the condition true pass, including executing the first set of commands, based on the query pass without executing the flush operation;

in response to the results of the query pass indicating a false condition, executing, with the GPU, the condition false pass, including executing the second set of commands, based on the query pass without executing the flush operation; and

responsive to executing the condition true pass and the condition false pass, executing, with the GPU, the flush operation.

2. The method of claim 1 , wherein the query pass comprises a first query pass and executing the first query pass comprises executing a graphics rendering command that indicates a start of the first query pass.

3. The method of claim 2 , wherein executing the first query pass further comprises executing a graphics rendering command that indicates an end of the first query pass.

4. The method of claim 1 , wherein executing the condition false pass further comprises executing a graphics command that indicates an end of the condition false pass.

5. The method of claim 1 , further comprising executing a direct render.

6. The method of claim 5 , wherein executing the condition true pass further comprises executing a graphics rendering command that indicates an end of a first query pass.

7. The method of claim 1 , wherein executing the condition false pass further comprises executing a graphics command that indicates a start of the condition false pass.

8. A device for multi-path graphics rendering on tile-based architectures comprising:

a memory;

a graphics processing unit (GPU) communicatively coupled to the memory and configured to:

receive, from an application executing on a processor other than the GPU, a first set of commands for a condition true pass and a second set of commands for a condition false pass;

execute a query pass without executing a flush operation to flush results of the query pass to the processor;

in response to the results of the query pass indicating a true condition, execute the condition true pass, including executing the first set of commands, based on the query pass without executing the flush operation;

in response to the results of the query pass indicating a false condition, execute the condition false pass, including executing the second set of commands, based on the query pass without executing the flush operation; and

responsive to executing the condition true pass, and the condition false pass, executing the flush operation.

9. The device of claim 8 , wherein the query pass comprises a first query pass and executing the first query pass comprises executing a graphics rendering command that indicates a start of the first query pass.

10. The device of claim 9 , wherein executing the first query pass further comprises executing a graphics rendering command that indicates an end of the first query pass.

11. The device of claim 8 , wherein executing the condition false pass further comprises executing a graphics command that indicates an end of the condition false pass.

12. The device of claim 8 , further comprising executing a direct render.

13. The device of claim 12 , wherein executing the condition true pass further comprises executing a graphics rendering command that indicates an end of a first query pass.

14. The device of claim 8 , wherein executing the condition false pass further comprises executing a graphics command that indicates a start of the condition false pass.

15. A device for multi-path graphics rendering on tile based architectures comprising:

means for receiving from an application executing on a processor different from the means for receiving, a first set of commands for a condition true pass and a second set of commands for a condition false pass;

means for executing a query pass without executing a flush operation to flush results of the query pass to the processor;

means for executing the condition true pass in response to the results of the query pass indicating a true condition, including means for executing the first set of commands, based on the query pass without executing the flush operation;

means for executing the condition false pass in response to the results of the query pass indicating a false condition, including means for executing the second set of commands, based on the query pass without executing the flush operation; and

responsive to executing the condition true pass and the condition false pass, means for performing the flush operation.

16. The device of claim 15 , wherein the query pass comprises a first query pass and executing the first query pass comprises executing a graphics rendering command that indicates a start of the first query pass.

17. The device of claim 16 , wherein executing the first query pass further comprises means for executing a graphics rendering command that indicates an end of the first query pass.

18. The device of claim 15 , wherein executing the condition false pass further comprises executing a graphics command that indicates an end of the condition false pass.

19. The device of claim 15 , further comprising executing a direct render.

20. The device of claim 19 , wherein executing the condition true pass further comprises executing a graphics rendering command that indicates an end of a first query pass.

21. The device of claim 15 , wherein executing the condition false pass further comprises executing a graphics command that indicates a start of the condition false pass.

22. A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium having stored thereon instructions for multi-path graphics rendering on tile based architectures that upon execution cause one or more graphics processing units (GPUs), to

receive, from an application executing on a processor other than the GPU, a first set of commands for a condition true pass and a second set of commands for a condition false pass;

execute a query pass without executing a flush operation to flush results of the query pass to the processor;

in response to the results of the query pass indicating a true condition, execute the condition true pass, including executing the first set of commands, based on the query pass without executing the flush operation;

in response to the results of the query pass indicating a false condition, execute the condition false pass, including executing the second set of commands, based on the query pass without executing the flush operation; and

responsive to executing the condition true pass, and the condition false pass, execute the flush operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2016
From: BALCI, MURAT; FRASCATI, CHRISTOPHER PAUL; SEETHARAMAIAH, AVINASH
To: QUALCOMM INCORPORATED
Reel/Frame 037636/0363 →
Continuity (3)
Continuation 14154996 · Jan 14, 2014
Provisional Application 61921145 · Dec 27, 2013
Related Publication 20160148338A1 · May 26, 2016