IP Library Granted Patent US 7,091,971
Granted Patent B2
US 7,091,971 · App. 10/279,902 · Granted Aug 15, 2006

System, method, and apparatus for multi-level hierarchical Z buffering

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 7,091,971
App. No.
10/279,902
Granted
Aug 15, 2006
Kind
B2
Abstract

A secondary representative Z value memory includes a reduced-resolution representation of a primary representative Z value memory. Upon updating of a block of the primary representative Z value memory, one or more corresponding values are calculated for updating the reduced-resolution representation.

Claims (44)

1. A method of data processing, said method comprising:

selecting a line of a Z cache, the line having a first resolution corresponding to a resolution of a frame buffer;

generating a first-level representative Z value from the selected line of the Z cache; and

selecting, from among the lines of a cache of representative Z values, a line that corresponds to the first-level representative Z value, the line having a second resolution coarser than the first resolution.

2. The method of data processing according to claim 1 , said method comprising:

selecting a backmost value from among the selected line of a cache of representative Z values; and

updating a primary representative Z value memory based on the selected line of a cache of representative Z values.

3. The method of data processing according to claim 2 , said method comprising, based on the selected backmost value, updating a corresponding one of a plurality of second-level representative Z values of a secondary representative Z value memory.

4. The method of data processing according to claim 1 , said method comprising storing the generated first-level representative Z value to a primary representative Z value memory upon a write miss to the cache of representative Z values.

5. A data storage medium having machine-readable code stored thereon, the machine-readable code comprising instructions executable by an array of logic elements, the instructions defining the method according to claim 1 .

6. The method of data processing according to claim 1 , wherein said selecting, according to the first-level representative Z value, a line of a cache of representative Z values comprises selecting, from among the lines of the cache of representative Z values, a line that corresponds to the first-level representative Z value.

7. A data processing apparatus, said apparatus comprising:

a Z cache configured to store a plurality of cache lines of Z values, each of the plurality of cache lines having a first resolution corresponding to a resolution of a frame buffer;

a representative Z value generator configured to generate a first-level representative Z value from a selected cache line of the Z cache; and

a combining cache configured to store a plurality of cache lines of first-level representative Z values, each of the plurality of cache lines having a second resolution coarser than the first resolution, and to select, from among the plurality of cache lines of first-level representative Z values, a cache line that corresponds to the generated first-level representative Z value.

8. The data processing apparatus according to claim 7 , said apparatus comprising:

a primary representative Z value memory configured to store first-level representative Z values; and

a logic circuit configured to receive the selected one of the plurality of cache lines of first-level representative Z values and to compare the values of this cache line with corresponding first-level representative Z values from the primary representative Z value memory,

wherein said logic circuit is configured to determine a second-level representative Z value from the selected one of the plurality of cache lines of first-level representative Z values.

9. The data processing apparatus of claim 7 , said apparatus comprising a logic circuit configured to determine a second-level representative Z value as a backmost value among the first plurality of first-level representative Z values.

10. The data processing apparatus according to claim 7 , said apparatus comprising a secondary representative Z value memory configured to store a plurality of second-level representative Z values, wherein said logic circuit is configured to update a corresponding value of the secondary representative Z value memory with the determined second-level representative Z value.

11. The data processing apparatus according to claim 8 , wherein said logic circuit is configured to write back the minimum value of each said comparison of first-level representative Z values to the primary representative Z value memory.

12. The data processing apparatus of claim 8 , wherein said apparatus is configured to compare a fragment Z value with the determined second-level representative Z value.

13. The data processing apparatus of claim 7 , wherein said apparatus is configured to generate the first-level representative Z value as the backmost among values of the selected line.

14. The data processing apparatus according to claim 7 , wherein said representative Z value generator is configured to compress the Z values of the selected cache line of the Z cache and to write the compressed Z values to a Z buffer having the first resolution.

15. The data processing apparatus of claim 7 , wherein said combining cache is configured to select one of the plurality of cache lines of first-level representative Z values according to the generated first-level representative Z value by selecting a cache line, from among the plurality of cache lines of first-level representative Z values, that corresponds to the generated first-level representative Z value.

16. A method of data processing, said method comprising:

selecting one from among a plurality of cache lines of a first cache of Z values, each of the plurality of cache lines having a first resolution corresponding to a resolution of a frame buffer,

selecting a backmost Z value from among the Z values of the selected cache line of the first cache; and

selecting, from among a plurality of cache lines of a second cache of Z values, a cache line that corresponds to the backmost Z value, each of the plurality of cache lines of the second cache of Z values having a second resolution coarser than the first resolution.

17. The method of data processing according to claim 16 , wherein the selected cache line of the first cache includes a block of values corresponding to a pixel block of a display frame.

18. The method of data processing according to claim 16 , wherein the selected cache line of the first cache includes a block of values corresponding to a contiguous block of pixels of a display frame.

19. The method of data processing according to claim 16 , wherein the selected cache line of the second cache is mapped to a region of a display frame that includes a pixel block corresponding to the backmost Z value.

20. The method of data processing according to claim 16 , said method comprising selecting a backmost value from each of a plurality of blocks in the selected cache line of the second cache.

21. The method of data processing according to claim 20 , said method comprising comparing a fragment Z value with one of the selected backmost values of the selected cache line of the second cache.

22. The method of data processing according to claim 20 , said method comprising, based on at least one value of the selected backmost values of the selected cache line of the second cache, updating a memory accessible to a modeling software application.

23. The method of data processing according to claim 16 , said method comprising:

compressing the Z values of the selected cache line of the first cache; and

writing the compressed Z values to a Z buffer having the first resolution.

24. The method of data processing according to claim 16 , said method comprising:

comparing the Z values of the selected cache line of the second cache with corresponding values from a memory having the second resolution, and

writing back the minimum value of each said comparison to the memory.

25. A data storage medium having machine-readable code stored thereon, the machine-readable code comprising instructions executable by an array of logic elements, the instructions defining the method according to claim 16 .

26. The method of data processing according to claim 16 , wherein said selecting, according to the backmost Z value, one from among a plurality of cache lines of a second cache of Z values comprises selecting, from among the plurality of cache lines of the second cache of Z values, a cache line that corresponds to the backmost Z value.

Assignments (3)
CORRECTIVE ASSIGNMENT TO ADD THE LAST TWO ASSIGNORS PREVIOUSLY RECORDED AT REEL: 022240 FRAME: 0873. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 13, 2016
From: ADVANCED MICRO DEVICES, INC.; ATI TECHNOLOGIES ULC; ATI INTERNATIONAL SRL
To: QUALCOMM INCORPORATED
Reel/Frame 038427/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2009
From: ATI TECHNOLOGIES ULC
To: QUALCOMM INCORPORATED
Reel/Frame 022240/0873 →
CHANGE OF NAME Recorded Jan 14, 2009
From: ATI TECHNOLOGIES INC.
To: ATI TECHNOLOGIES ULC
Reel/Frame 022102/0933 →