IP Library Granted Patent US 9,019,280
Granted Patent B2
US 9,019,280 · App. 13/189,351 · Granted Apr 28, 2015

Area-based rasterization techniques for a graphics processing system

Inventors: Petri Olavi Nordlund (Lieto, FI); Jukka-Pekka Arvo (Rasio, FI)
Assignee: QUALCOMM Incorporated
G06T1/20
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,019,280
App. No.
13/189,351
Granted
Apr 28, 2015
Kind
B2
Abstract

This disclosure describes area-based rasterization techniques that can improve the performance of a graphics processor. The techniques may include selecting a rasterization mode for a graphics primitive from a set of at least two candidate rasterization modes based on a metric indicative of an area of the graphics primitive. The techniques may further include performing, with fixed function scan conversion hardware of the graphics processor, scan conversion for the graphics primitive when a first candidate rasterization mode is selected as the rasterization mode for the graphics primitive. The techniques may further include performing, with a programmable shader unit of the graphics processor, scan conversion for the graphics primitive when a second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

Claims (80)

1. A method comprising:

selecting, with a graphics processing unit (GPU), a rasterization mode for a graphics primitive from a set of at least two candidate rasterization modes based on a metric indicative of an area of the graphics primitive, the set of at least two candidate rasterization modes including a first candidate rasterization mode and a second candidate rasterization mode;

performing, with fixed function scan conversion hardware of the GPU, scan conversion for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

performing, with a programmable shader unit of the GPU, scan conversion for the graphics primitive when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, wherein the programmable shader unit is configured to scan convert multiple primitives in parallel.

2. The method of claim 1 , wherein selecting the rasterization mode comprises:

selecting the first candidate rasterization mode as the rasterization mode for the graphics primitive when the metric indicative of the area of the graphics primitive is greater than a threshold; and

selecting the second candidate rasterization mode as the rasterization mode for the graphics primitive when the metric indicative of the area of the graphics primitive is not greater than the threshold.

3. The method of claim 2 , wherein the threshold is less than or equal to approximately one screen pixel.

4. The method of claim 1 , wherein performing, with the programmable shader unit, scan conversion for the graphics primitive comprises:

receiving, with the programmable shader unit, vertex information associated with the graphics primitive; and

executing a shader program on the programmable shader unit to perform scan conversion for the graphics primitive based on the vertex information associated with the graphics primitive.

5. The method of claim 1 , further comprising:

performing, with a fixed function primitive processing unit, primitive processing on the graphics primitive to generate polygon information when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive,

wherein performing, with the programmable shader unit, scan conversion for the graphics primitive comprises executing a shader program on the programmable shader unit to perform scan conversion for the graphics primitive based on the polygon information.

6. The method of claim 1 , further comprising:

executing a first set of shader program instructions on the programmable shader unit when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

executing a second set of shader program instructions on the programmable shader unit when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, the second set of shader program instructions being different than the first set of shader program instructions.

7. The method of claim 1 , further comprising:

bypassing the fixed function scan conversion hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

8. The method of claim 7 , further comprising:

performing, with fixed function primitive setup hardware, primitive setup operations for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

bypassing the fixed function primitive setup hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

9. The method of claim 7 , further comprising:

performing, with fixed function attribute interpolation hardware, attribute interpolation for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

bypassing the fixed function attribute interpolation hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

10. The method of claim 1 , wherein the metric indicative of the area of the graphics primitive is a metric indicative of the area of the graphics primitive in terms of screen pixels.

11. The method of claim 1 , further comprising:

determining the metric indicative of the area of the graphics primitive in terms of screen pixels based on vertex positional coordinates associated with the graphics primitive.

12. The method of claim 1 , further comprising:

generating a bounding box around the graphics primitive, wherein the metric indicative of the area of the graphics primitive is a metric indicative of the area of the bounding box.

13. The method of claim 1 , wherein the graphics primitive is a triangle primitive.

14. The method of claim 1 , wherein selecting the rasterization mode for the graphics primitive comprises:

selecting a rasterization mode for a batch of graphics primitives from the set of the at least two candidate rasterization modes based on a metric indicative of an area of at least one graphics primitive in the batch of graphics primitives.

15. The method of claim 1 , wherein selecting the rasterization mode for the graphics primitive comprises:

selecting a rasterization mode for a set of graphics primitives associated with an object to be rendered from the set of the at least two candidate rasterization modes based on a metric indicative of an area of at least one graphics primitive associated with the object to be rendered.

16. A graphics processing device comprising:

a rasterization mode selector configured to select a rasterization mode for a graphics primitive from a set of at least two candidate rasterization modes based on a metric indicative of an area of the graphics primitive, the set of at least two candidate rasterization modes including a first candidate rasterization mode and a second candidate rasterization mode;

fixed function scan conversion hardware configured to perform scan conversion for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

a programmable shader unit configured to perform scan conversion for the graphics primitive when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, wherein the programmable shader unit is configured to scan convert multiple primitives in parallel.

17. The device of claim 16 , wherein the rasterization mode selector is further configured to select the first candidate rasterization mode as the rasterization mode for the graphics primitive when the metric indicative of the area of the graphics primitive is greater than a threshold, and select the second candidate rasterization mode as the rasterization mode for the graphics primitive when the metric indicative of the area of the graphics primitive is not greater than the threshold.

18. The device of claim 17 , wherein the threshold is less than or equal to approximately one screen pixel.

19. The device of claim 16 , wherein the programmable shader unit is further configured to receive vertex information associated with the graphics primitive, and execute a shader program to perform scan conversion for the graphics primitive based on the vertex information associated with the graphics primitive.

20. The device of claim 16 , further comprising:

a fixed function primitive processing unit configured to perform primitive processing on the graphics primitive to generate polygon information when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive,

wherein the programmable shader unit is further configured to execute a shader program on the programmable shader unit to perform scan conversion for the graphics primitive based on the polygon information.

21. The device of claim 16 , wherein the programmable shader unit is further configured to execute a first set of shader program instructions when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive, and execute a second set of shader program instructions when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, the second set of shader program instructions being different than the first set of shader program instructions.

22. The device of claim 16 , wherein the graphics processing device is configured to bypass the fixed function scan conversion hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

23. The device of claim 22 , further comprising:

fixed function primitive setup hardware configured to perform primitive setup operations for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive,

wherein the graphics processing device is further configured to bypass the fixed function primitive setup hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

24. The device of claim 22 , further comprising

fixed function attribute interpolation hardware configured to perform attribute interpolation for the graphics primitive when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive,

wherein the graphics processing device is further configured to bypass the fixed function attribute interpolation hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

25. The device of claim 16 , wherein the metric indicative of the area of the graphics primitive is a metric indicative of the area of the graphics primitive in terms of screen pixels.

26. The device of claim 16 , wherein the rasterization mode selector is further configured to determine the metric indicative of the area of the graphics primitive in terms of screen pixels based on vertex positional coordinates associated with the graphics primitive.

27. The device of claim 16 , wherein the rasterization mode selector is further configured to generate a bounding box around the graphics primitive, and wherein the metric indicative of the area of the graphics primitive is a metric indicative of the area of the bounding box.

28. The device of claim 16 , wherein the graphics primitive is a triangle primitive.

29. The device of claim 16 , further comprising a display configured to display graphics images.

30. The device of claim 16 , wherein rasterization mode selector is further configured to select the rasterization mode for a batch of graphics primitives from the set of the at least two candidate rasterization modes based on a metric indicative of an area of at least one graphics primitive in the batch of graphics primitives.

31. The device of claim 16 , wherein rasterization mode selector is further configured to select a rasterization mode for a set of graphics primitives associated with an object to be rendered from the set of the at least two candidate rasterization modes based on a metric indicative of an area of at least one graphics primitive associated with the object to be rendered.

32. An apparatus comprising:

means for selecting a rasterization mode for a graphics primitive from a set of at least two candidate rasterization modes based on a metric indicative of an area of the graphics primitive, the set of at least two candidate rasterization modes including a first candidate rasterization mode and a second candidate rasterization mode;

means for performing scan conversion for the graphics primitive, with fixed function scan conversion hardware, when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

means for performing scan conversion for the graphics primitive, with a programmable shader unit, when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, wherein the programmable shader unit is configured to scan convert multiple primitives in parallel.

33. The apparatus of claim 32 , further comprising:

means for executing a first set of shader program instructions on the programmable shader unit when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

means for executing a second set of shader program instructions on the programmable shader unit when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, the second set of shader program instructions being different than the first set of shader program instructions.

34. The apparatus of claim 32 , further comprising:

means for bypassing the fixed function scan conversion hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

35. The apparatus of claim 32 , wherein the graphics primitive is a triangle primitive.

36. A non-transitory computer-readable medium comprising instructions that cause one or more processors to:

select a rasterization mode for a graphics processor for a graphics primitive from a set of at least two candidate rasterization modes based on a metric indicative of an area of the graphics primitive, the set of at least two candidate rasterization modes including a first candidate rasterization mode and a second candidate rasterization mode;

perform scan conversion for the graphics primitive, with fixed function scan conversion hardware of the graphics processor, when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

perform scan conversion for the graphics primitive, with a programmable shader unit of the graphics processor, when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, wherein the programmable shader unit is configured to scan convert multiple primitives in parallel.

37. The non-transitory computer readable medium of claim 36 , further comprising the instructions that cause the one or more processors to:

execute a first set of shader program instructions on the programmable shader unit when the first candidate rasterization mode is selected as the rasterization mode for the graphics primitive; and

execute a second set of shader program instructions on the programmable shader unit when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive, the second set of shader program instructions being different than the first set of shader program instructions.

38. The non-transitory computer readable medium of claim 36 , further comprising instructions that cause the one or more processors to:

bypass the fixed function scan conversion hardware when the second candidate rasterization mode is selected as the rasterization mode for the graphics primitive.

39. The non-transitory computer readable medium of claim 36 , wherein the graphics primitive is a triangle primitive.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2011
From: NORDLUND, PETRI OLAVI; ARVO, JUKKA-PEKKA
To: QUALCOMM INCORPORATED
Reel/Frame 026637/0202 →
Continuity (1)
Related Publication 20130021358A1 · Jan 24, 2013