Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A depth processing apparatus, comprising: a depth buffer, configured to store depth information of a plurality of pixels of a screen space; an early depth processing circuit, configured to perform early depth processing based on at least a portion of the depth information in the depth buffer before a pixel shading stage; a post depth processing circuit, configured to perform post depth processing based on at least a portion of the depth information in the depth buffer after the pixel shading stage; and a depth processing controller, configured to manage a plurality of dependency indication values corresponding to a plurality of sub-regions in the screen space, respectively, and configured to control a first pixel for undergoing at least one of the early depth processing and the post depth processing by referring to a first dependency indication value of a first sub-region in which the first pixel is located, wherein each of the dependency indication values is configured to maintain data coherency between the early depth processing and the post depth processing of a corresponding sub-region in the screen space, and is adaptively adjusted based on occurrence of at least one pixel that is located in the corresponding sub-region and currently undergoes the post depth processing; wherein the first sub-region is one of the sub-regions in the screen space, and comprises a plurality of pixels including the first pixel; when the first sub-region has no pixel currently undergoing the post depth processing, the depth processing controller sets the first dependency indication value of the first sub-region by a first value; and when the first sub-region has at least one pixel currently undergoing the post depth processing, the depth processing controller sets the first dependency indication value of the first sub-region by a second value different from the first value.
A depth processing system manages early and post-pixel shading depth processing to improve performance. It uses a depth buffer to store depth information for pixels on the screen. An "early depth processing circuit" optimizes depth tests before pixel shading, and a "post depth processing circuit" handles depth updates after shading. A depth processing controller divides the screen into sub-regions and assigns a dependency indication value to each. This value indicates whether pixels in the sub-region are undergoing post-depth processing which means early-depth processing for the sub-region needs to wait. When a sub-region contains pixels in post-depth processing, the dependency value is set to indicate dependency. Otherwise, it's set to indicate no dependency. This allows early depth processing in independent sub-regions, improving overall processing speed.
2. The depth processing apparatus of claim 1 , wherein the first pixel is controlled to undergo the post depth processing; and the depth processing controller is configured to add an adjustment value to the first dependency indication value in response to the post depth processing performed upon the first pixel, and subtract the adjustment value from the first dependency indication value in response to a completion of the post depth processing performed upon the first pixel.
In the depth processing system described previously, when a pixel undergoes post-depth processing, the system adds an adjustment value to the dependency indication value of the sub-region it belongs to. After the pixel finishes post-depth processing, the same adjustment value is subtracted. This adjustment ensures that the dependency indication value accurately reflects the number of pixels undergoing post-depth processing in each sub-region. This more granular dependency tracking enhances data coherency by preventing premature early depth processing, even when other pixels within the sub-region are still being processed in post-depth.
3. The depth processing apparatus of claim 1 , wherein the first pixel is controlled to undergo the early depth processing; and the depth processing controller is configured to not adjust the first dependency indication value in response to the early depth processing performed upon the first pixel.
In the depth processing system described previously, when a pixel undergoes early depth processing, the system does *not* adjust the sub-region's dependency indication value. This is because early depth processing does not create a dependency that would affect post-depth processing. The dependency value is adjusted only when post depth processing occurs within the subregion to signal the potential for data coherency issues that may impact later early depth processing. This reduces unnecessary overhead in managing dependencies when early depth processing does not pose a conflict.
4. The depth processing apparatus of claim 1 , wherein the first pixel is categorized as an early depth processing pixel; and when the first dependency indication value indicates that there is no dependency between the early depth processing and the post depth processing of the first sub-region, the depth processing controller is configured to control the first pixel to undergo the early depth processing only.
In the depth processing system described previously, if a pixel is categorized for early depth processing and its sub-region's dependency indication value indicates *no* dependency (meaning no post-depth processing is currently active in that sub-region), then the system allows *only* early depth processing for that pixel. This optimization allows early depth processing to proceed without waiting, thus improving performance when there are no potential data hazards from post-depth processing operations in the same area.
5. The depth processing apparatus of claim 1 , wherein the first pixel is categorized as an early depth processing pixel; and when the first dependency indication value indicates that there is dependency between the early depth processing and the post depth processing of the first sub-region, the depth processing controller is configured to control the first pixel to undergo at least the post depth processing.
In the depth processing system described previously, if a pixel is categorized for early depth processing and its sub-region's dependency indication value indicates dependency (meaning post-depth processing *is* currently active in that sub-region), the system ensures that at least post depth processing is performed on the pixel. This avoids data corruption or incorrect rendering results by delaying or bypassing early depth processing when post-depth operations could change depth values. The goal is to maintain accurate depth information when conflicts may exist.
6. The depth processing apparatus of claim 1 , wherein the first pixel is categorized as an early depth processing pixel; and when the first dependency indication value indicates that there is dependency between the early depth processing and the post depth processing of the corresponding sub-region, the depth processing controller is configured to control the first pixel to wait for the first dependency indication value indicating that there is no dependency between the early depth processing and the post depth processing of the corresponding sub-region, where the first pixel does not undergo the early depth processing until the first dependency indication value indicates that there is no dependency between the early depth processing and the post depth processing of the corresponding sub-region.
In the depth processing system described previously, if a pixel is categorized for early depth processing, and the sub-region's dependency indication value indicates dependency (meaning post-depth processing is happening in that sub-region), the system makes the pixel wait. The pixel will *not* undergo early depth processing until the dependency indication value changes to indicate no dependency. This prevents potential data corruption caused by performing early depth processing on a pixel whose depth value may be changed by a later post-depth processing operation in the same sub-region. The system prioritizes data coherency by delaying the early depth test.
7. The depth processing apparatus of claim 6 , wherein a second pixel after the first pixel is categorized as an early depth processing pixel; and when a second dependency indication value of a second sub-region in which the second pixel is located indicates that there is no dependency between the early depth processing and the post depth processing of the second sub-region, the early depth processing circuit is configured to apply the early depth processing to the first pixel and the second processing out of order.
In the depth processing system described previously, a first pixel waits for early depth processing because of a dependency in its sub-region. If a *second* pixel, processed after the first, is also categorized for early depth processing, but its sub-region has *no* dependency, then the system can perform early depth processing on the *second* pixel *before* the first. This out-of-order processing optimizes performance by allowing independent pixels to proceed without waiting for potentially blocked pixels. It helps maximize throughput by exploiting parallel processing opportunities.
8. A depth processing method, comprising: storing depth information of a plurality of pixels of a screen space in a depth buffer; selectively performing early depth processing based on at least a portion of the depth information in the depth buffer before a pixel shading stage; selectively performing post depth processing based on at least a portion of the depth information in the depth buffer after the pixel shading stage; managing a plurality of dependency indication values corresponding to a plurality of sub-regions in the screen space, respectively; and controlling a first pixel for undergoing at least one of the early depth processing and the post depth processing by referring to a first dependency indication value of a first sub-region in which the first pixel is located; wherein each of the dependency indication values is configured to maintain data coherency between the early depth processing and the post depth processing of a corresponding sub-region in the screen space, and is adaptively adjusted based on occurrence of at least one pixel that is located in the corresponding sub-region and currently undergoes the post depth processing; wherein the first sub-region is one of the sub-regions in the screen space, and comprises a plurality of pixels including the first pixel; when the first sub-region has no pixel currently undergoing the post depth processing, the first dependency indication value of the first sub-region is set by a first value; and when the first sub-region has at least one pixel currently undergoing the post depth processing, the first dependency indication value of the first sub-region is set by a second value different from the first value.
A depth processing method manages early and post-pixel shading depth processing. Depth information for screen pixels is stored in a depth buffer. Early depth processing is selectively performed *before* pixel shading, and post depth processing is selectively performed *after*. The screen is divided into sub-regions, each with a dependency indication value. A pixel's processing (early or post) is controlled based on its sub-region's dependency value. This value reflects whether pixels in the sub-region are undergoing post-depth processing. If no pixels are in post-depth processing, the value indicates no dependency. Otherwise, it indicates dependency. This maintains data coherency by delaying early depth processing when post-depth operations are pending in the same sub-region.
9. The depth processing method of claim 8 , wherein the first pixel is controlled to undergo the post depth processing; and managing the dependency indication values corresponding to the sub-regions in the screen space comprises: adding an adjustment value to the first dependency indication value in response to the post depth processing performed upon the first pixel; and subtracting the adjustment value from the first dependency indication value in response to a completion of the post depth processing performed upon the first pixel.
In the depth processing method described previously, when a pixel undergoes post-depth processing, an adjustment value is *added* to its sub-region's dependency indication value. When the pixel *completes* post-depth processing, the same adjustment value is *subtracted*. This accurately reflects the number of pixels in post-depth processing within a sub-region, giving a more precise way to avoid conflicts with early depth processing. This allows early depth processing to resume as soon as post depth processing is complete and avoids unnecessary stalls or data hazards due to premature early depth operations.
10. The depth processing method of claim 8 , wherein the first pixel is controlled to undergo the early depth processing; and managing the dependency indication values corresponding to the sub-regions in the screen space comprises: not adjusting the first dependency indication value in response to the early depth processing performed upon the first pixel.
In the depth processing method described previously, when a pixel undergoes early depth processing, the sub-region's dependency indication value is *not* adjusted. The value is adjusted only during post-depth processing. This is because early depth processing doesn't introduce dependencies that would affect later post-depth operations, so the dependency needs only be updated as a result of post depth processing operations. This reduces the overhead associated with managing dependency values, thereby contributing to optimized performance.
11. The depth processing method of claim 8 , wherein the first pixel is categorized as an early depth processing pixel; and when the first dependency indication value indicates that there is no dependency between the early depth processing and the post depth processing of the first sub-region, the depth processing controller is configured to control the first pixel to undergo the early depth processing only.
In the depth processing method described previously, if a pixel is designated for early depth processing, and its sub-region's dependency indication value shows *no* dependency (no post-depth processing in that sub-region), then the method allows *only* early depth processing for that pixel. This is an optimization that avoids the overhead of unnecessary synchronization or waiting when there's no potential for data coherency issues, allowing maximum performance when no conflicts are possible in the sub-region.
12. The depth processing method of claim 8 , wherein the first pixel is categorized as an early depth processing pixel; and referring to the first dependency indication value of the first sub-region in which the first pixel is located to control the first pixel to undergo at least one of the early depth processing and the post depth processing comprises: when the first dependency indication value indicates that there is dependency between the early depth processing and the post depth processing of the first sub-region, controlling the first pixel to undergo at least the post depth processing.
In the depth processing method described previously, if a pixel is designated for early depth processing and its sub-region's dependency indication value indicates dependency, then the system forces the pixel to undergo *at least* post-depth processing. This ensures that even if early depth processing is skipped or delayed, the depth value of the pixel is ultimately resolved by post-depth processing which resolves potential data coherency issues within that screen region.
13. The depth processing method of claim 8 , wherein the first pixel is categorized as an early depth processing pixel; and referring to the first dependency indication value of the first sub-region in which the first pixel is located to control the first pixel to undergo at least one of the early depth processing and the post depth processing comprises: when the first dependency indication value indicates that there is dependency between the early depth processing and the post depth processing of the corresponding sub-region, controlling the first pixel to wait for the first dependency indication value indicating that there is no dependency between the early depth processing and the post depth processing of the corresponding sub-region, where the first pixel does not undergo the early depth processing until the first dependency indication value indicates that there is no dependency between the early depth processing and the post depth processing of the corresponding sub-region.
In the depth processing method described previously, when a pixel is categorized for early depth processing, but the sub-region's dependency value indicates dependency (post-depth processing is occurring), the system makes the pixel *wait*. The pixel *doesn't* undergo early depth processing until the dependency value indicates *no* dependency. This prioritizes data integrity by ensuring early depth operations are not performed while there is a potential conflict with post-depth processing in the same sub-region.
14. The depth processing method of claim 13 , wherein a second pixel after the first pixel is categorized as an early depth processing pixel; and the depth processing method further comprises: when a second dependency indication value of a second sub-region in which the second pixel is located indicates that there is no dependency between the early depth processing and the post depth processing of the second sub-region, applying the early depth processing to the first pixel and the second processing out of order.
In the depth processing method described previously, a first pixel is waiting for early depth processing due to a dependency in its sub-region. If a *second* pixel, processed after the first, is also designated for early depth processing, but its sub-region has *no* dependency, the method allows early depth processing to be applied to the *second* pixel *before* the first, out of order. This optimizes efficiency and maintains high throughput by allowing independent pixels to move forward rather than being blocked by unrelated dependencies in other screen locations.
Unknown
December 19, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.