IP Library Granted Patent US 8,860,721
Granted Patent B2
US 8,860,721 · App. 11/277,641 · Granted Oct 14, 2014

Method and apparatus for processing pixel depth information

Inventors: Andrew E. Gruber (Arlington, MA); Christopher J. Brennan (Holden, MA)
Assignee: ATI Technologies ULC
G06T15/405
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 8,860,721
App. No.
11/277,641
Granted
Oct 14, 2014
Kind
B2
Abstract

An apparatus and method for processing pixel depth information eliminates stalling of data in a pixel pipeline, by performing late Z processing for one or more pixels currently in the pixel pipeline and early Z processing for one or more pixels entering the pixel pipeline. The apparatus and method also includes determining whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed. The apparatus and method also includes solely performing early Z processing for subsequent pixels entering the pixel pipeline responsive to determining that late Z processing for the one or more pixels currently in the pixel pipeline has been completed. The methods and apparatus, facilitates concurrent processing of early and late Z data to avoid flushing portions of the pixel pipeline.

Claims (48)

1. A method for processing pixel depth information comprising:

determining, for a Z processing stage that switches between early and late Z processing for different pixels in a pipeline, whether or not a mode of Z processing should be changed from late Z to early Z; and

if the mode should be changed, performing late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline.

2. The method of claim 1 comprising tracking completion of late Z processing of pixels in the pixel pipeline.

3. A method for processing pixel depth information comprising:

determining, for a Z processing stage that switches between early and late Z processing for different pixels in a pipeline, whether or not the mode of Z processing should be changed within the Z processing stage associated with a pixel pipeline from late Z to early Z processing;

if the mode should be changed, performing late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline;

determining whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed; and

solely performing early Z processing for subsequent pixels entering the pixel pipeline in response to determining that late Z processing for the one or more pixels currently in the pixel pipeline has been completed.

4. The method according to claim 3 , wherein determining whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed comprises determining based on a late Z-depth counter being set to a value indicating completion of late Z processing for all pixels currently in the pixel pipeline.

5. The method according to claim 3 , wherein the method further comprises:

determining if there is possible overlap in screen space between at least one early Z pixel and at least one late Z pixel;

if an overlap is determined, marking the early Z pixel as a late Z pixel; and

performing late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline.

6. A method for processing pixel depth information comprising:

determining, for a Z processing stage that switches between early and late Z processing for different pixels in a pipeline, whether a mode of Z processing should be changed within the Z processing stage of a pixel pipeline from late Z to early Z processing;

if so, perform late Z processing for one or more late Z pixels currently in the pixel pipeline and early Z processing for one or more pixels entering the pixel pipeline;

determining whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed; and

if so, solely performing early Z processing for subsequent pixels entering the pixel pipeline responsive to determining that late Z processing for the one or more pixels currently in the pixel pipeline has been completed.

7. The method according to claim 6 , wherein determining whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed comprises determining one of a late Z-depth counter being decremented to zero.

8. The method according to claim 6 , wherein the method further comprises:

determining if there is possible overlap in screen space between at least one early Z pixel and at least one late Z pixel;

if an overlap is determined, marking the early Z pixel as a late Z pixel; and

performing late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline.

9. An apparatus for processing pixel depth information comprising:

a Z processing stage configured to:

perform both late Z processing for one or more pixels currently in a pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline;

determine whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed; and

solely perform early Z processing for subsequent pixels entering the pixel pipeline responsive to determining that late Z processing for the one or more pixels currently in the pixel pipeline has been completed.

10. The apparatus according to claim 9 , wherein the Z processing stage further comprises a counter configured to be updated in response to completion of late Z processing of pixels in the pixel pipeline.

11. The apparatus according to claim 9 , including logic operative to:

determine if there is possible overlap in screen space between at least one early Z pixel and at least one late Z pixel;

if an overlap is determined, mark the early Z pixel as a late Z pixel; and

performing late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline.

12. An apparatus for processing pixel depth information comprising:

pixel processing pipeline logic having pixel processing rendering states associated therewith and operative to provide information indicating that a pixel from the pipeline is valid for late Z processing;

a Z processing stage, configured to:

perform both late Z processing for one or more pixels currently in the pixel pipeline and early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pipeline if it is determined that a mode of Z processing may be changed within the Z processing stage associated with the pixel pipeline from late Z to early Z processing;

determine whether the late Z processing for the one or more pixels currently in the pixel pipeline has been completed; and

solely perform early Z processing for subsequent pixels entering the pixel pipeline responsive to determining that late Z processing for the one or more pixels currently in the pixel pipeline has been completed.

13. The apparatus according to claim 12 , wherein the Z processing stage further comprises a counter configured to be updated in response to completion of late Z processing of pixels in the pixel pipeline.

14. The apparatus according to claim 12 , including a scan converter operatively coupled to the Z processing stage and operative to:

determine if there is possible overlap in screen space between at least one early Z pixel and at least one late Z pixel;

if an overlap is determined, mark the early Z pixel as a late Z pixel; and

wherein the Z processing stage is operative to perform late Z processing for one or more pixels currently in the pixel pipeline and performing early Z processing for one or more pixels entering the pixel pipeline without flushing any of said pixels from the pixel pipeline.

15. The apparatus according to claim 14 , further comprising a counter configured to be updated in response to completion of late Z processing of pixels in the pixel pipeline.

16. The apparatus of claim 12 comprising a Z buffer operatively coupled to the Z processing stage that stores Z values determined by the Z processing stage.

17. The apparatus of claim 14 comprising logic operative to update the counter in response to a late Z pixel entering the pipeline and operative to determine whether an overlap of early Z and late Z pixels exists in the pipeline and operative to switch a mode of the Z processing logic in response a count value of the counter.

Assignments (2)
CHANGE OF NAME Recorded Dec 14, 2010
From: ATI TECHNOLOGIES INC.
To: ATI TECHNOLOGIES ULC
Reel/Frame 025497/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2006
From: GRUBER, ANDREW E.; BRENNAN, CHRISTOPHER J.
To: ATI TECHNOLOGIES INC.
Reel/Frame 017391/0893 →
Continuity (1)
Related Publication 20070236495A1 · Oct 11, 2007