IP Library Granted Patent US 11,080,925
Granted Patent B2
US 11,080,925 · App. 16/456,645 · Granted Aug 3, 2021

Hierarchical depth buffer back annotation

Inventors: Vasanth Ranganathan (El Dorado Hills, CA); Saikat Mandal (Folsom, CA); Saurabh Sharma (El Dorado Hills, CA); Vamsee Vardhan Chivukula (Folsom, CA); Karol A. Szerszen (Rancho Cordova, CA); Aleksander Olek Neyman (Gdansk, PL); Altug Koker (El Dorado Hills, CA); Prasoonkumar Surti (Folsom, CA); Abhishek Appu (El Dorado Hills, CA); Joydeep Ray (Folsom, CA); Art Hunter (Folsom, CA); Luis F. Cruz Camacho (Folsom, CA); Akshay R. Chada (Folsom, CA)
Assignee: INTEL CORPORATION
G06T15/405G06T15/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 11,080,925
App. No.
16/456,645
Granted
Aug 3, 2021
Kind
B2
Abstract

Briefly, in accordance with one or more embodiments, a processor performs a coarse depth test on pixel data, and performs a final depth test on the pixel data. Coarse depth data is stored in a coarse depth cache, and per pixel depth data is stored in a per pixel depth cache. If a result of the coarse depth test is ambiguous, the processor is to read the per pixel depth data from the per pixel depth cache, and to update the coarse depth data with the per pixel depth data if the per pixel depth data has a smaller depth range than the coarse depth data.

Claims (38)

1. An apparatus comprising:

a processor to perform a plurality of depth tests, wherein the plurality of depth tests comprises a coarse depth test and a final depth test;

a coarse depth cache, coupled to the processor, to store coarse depth data;

a per pixel depth cache, coupled to the processor, to store per pixel depth data;

wherein, in response to a determination that a result of the coarse depth test is ambiguous, the processor is to:

read the per pixel depth data from the per pixel depth cache, and

update the coarse depth data in accordance with intermediate depth data in response to a determination that the intermediate depth data has a smaller depth range than the coarse depth data, wherein the coarse depth test and the final depth test are allowed to interact with the per pixel depth cache to access post-shader data, wherein the final depth test is to receive the intermediate depth data after performance of pixel shading on the intermediate depth data.

2. The apparatus of claim 1 , wherein the processor is to perform the coarse depth test on the updated coarse depth data.

3. The apparatus of claim 1 , wherein the coarse depth test is to be performed before the pixel shading is performed, and the final depth test is to be performed after the pixel shading is performed.

4. The apparatus of claim 1 , wherein the processor is to read the per pixel depth data after depth shading is performed and after performance of the final depth test.

5. The apparatus of claim 1 , wherein the result of the coarse depth test is considered to be ambiguous if the result is neither a pass nor a fail.

6. The apparatus of claim 1 , wherein the processor is to set a flag to indicate whether a minimum depth value needs to be updated, whether a maximum depth value needs to be updated, or a combination thereof.

7. The apparatus of claim 1 , wherein the processor comprises one or more of: a Graphics Processing Unit (GPU), one or more processor cores, or a combination thereof.

8. A method comprising:

performing a plurality of depth tests at a processor, wherein the plurality of depth tests comprises a coarse depth test and a final depth test;

storing coarse depth data in a coarse depth cache;

storing per pixel depth data in a per pixel depth cache;

wherein, in response to a determination that a result of the coarse depth test is ambiguous, operations are to be performed at the processor to:

read the per pixel depth data from the per pixel depth cache, and

update the coarse depth data in accordance with intermediate depth data in response to a determination that the intermediate depth data has a smaller depth range than the coarse depth data, wherein the coarse depth test and the final depth test are allowed to interact with the per pixel depth cache to access post-shader data, wherein the final depth test receives the intermediate depth data after performance of pixel shading on the intermediate depth data.

9. The method of claim 8 , further comprising performing the coarse depth test on the updated coarse depth data.

10. The method of claim 8 , further comprising performing the coarse depth test before the pixel shading is performed, and performing the final depth test after the pixel shading is performed.

11. The method of claim 8 , further comprising reading the per pixel depth data after depth shading is performed and after performance of the final depth test.

12. The method of claim 8 , wherein the result of the coarse depth test is considered to be ambiguous if the result is neither a pass nor a fail.

13. The method of claim 8 , further comprising setting a flag to indicate whether a minimum depth value needs to be updated, whether a maximum depth value needs to be updated, or a combination thereof.

14. One or more non-transitory computer-readable medium comprising one or more instructions that when executed on at least one processor configure the at least one processor to perform one or more operations to:

perform a plurality of depth tests at the processor, wherein the plurality of depth tests comprises a coarse depth test and a final depth test;

store coarse depth data in a coarse depth cache;

store per pixel depth data in a per pixel depth cache;

wherein, in response to a determination that a result of the coarse depth test is ambiguous, operations are to be performed at the processor to:

read the per pixel depth data from the per pixel depth cache, and

update the coarse depth data in accordance with intermediate depth data in response to a determination that the intermediate depth data has a smaller depth range than the coarse depth data, wherein the coarse depth test and the final depth test are allowed to interact with the per pixel depth cache to access post-shader data, wherein the final depth test is to receive the intermediate depth data after performance of pixel shading on the intermediate depth data.

15. The one or more non-transitory computer-readable medium of claim 14 , further comprising one or more instructions that when executed on the at least one processor configure the at least one processor to perform one or more operations to cause performance of the coarse depth test on the updated coarse depth data.

16. The one or more non-transitory computer-readable medium of claim 14 , further comprising one or more instructions that when executed on the at least one processor configure the at least one processor to perform one or more operations to cause performance of the coarse depth test before the pixel shading is performed, and performing the final depth test after the pixel shading is performed.

17. The one or more non-transitory computer-readable medium of claim 14 , further comprising one or more instructions that when executed on the at least one processor configure the at least one processor to perform one or more operations to cause reading of the per pixel depth data after depth shading is performed and after performance of the final depth test.

18. The one or more non-transitory computer-readable medium of claim 14 , wherein the result of the coarse depth test is considered to be ambiguous if the result is neither a pass nor a fail.

19. The one or more non-transitory computer-readable medium of claim 14 , further comprising one or more instructions that when executed on the at least one processor configure the at least one processor to perform one or more operations to cause setting of a flag to indicate whether a minimum depth value needs to be updated, whether a maximum depth value needs to be updated, or a combination thereof.

20. The one or more non-transitory computer-readable medium of claim 14 , wherein the processor comprises one or more of: a Graphics Processing Unit (GPU), one or more processor cores, or a combination thereof.

Continuity (2)
Continuation 15477049 · Apr 1, 2017
Related Publication 20200098167A1 · Mar 26, 2020