Tile-Based Z-Value Transfer Between IGPU and DGPU
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for transferring pre-computed Z-values between graphics processing units (GPUs) strain system memory bandwidth and invalidate Z-buffer compression techniques, leading to performance bottlenecks in graphics pipelines.
Innovation Solution
The method involves partitioning the display surface into tiles, generating a full-screen quad and tile quads with x and y coordinates, and configuring the first GPU to render image frames with minimum z-values, which are then used to create a coarse z-texture, allowing efficient pre-computation and transfer of z-values without straining system memory bandwidth or defeating Z-buffer compression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the DMA engine copies the full Z-buffer from IGPU local memory to DGPU local memory via system memory, then the DGPU can obtain pre-computed Z-values for rendering, but the system memory bandwidth is strained and Z-buffer compression techniques are invalidated
Solution Approach 1:
The patent divides the display surface into multiple tiles, with each tile containing a subset of pixels. Instead of transferring the complete Z-buffer for the entire display surface, only the Z-values corresponding to pixels within each tile are transferred. This segmentation reduces the total data volume transferred between GPUs while maintaining the integrity and utility of the pre-computed Z-values for the DGPU's rendering operations.
2Measurement precision
If the full Z-buffer is transferred between GPUs, then complete depth information is available for rendering, but the data volume becomes a bottleneck in the graphics pipeline
Solution Approach 1:
The patent extracts only the necessary portion of the Z-buffer data by identifying and transferring solely the Z-values that correspond to pixels within the display surface boundaries. This extraction process eliminates unnecessary data transfer while preserving all required depth information for accurate rendering, thereby improving data transfer efficiency without compromising rendering precision.
3Adaptability or versatility
If the Z-buffer is transferred via system memory, then standard memory interfaces can be used, but the transfer speed becomes limited and bottlenecks the graphics pipeline
Solution Approach 1:
By segmenting the Z-buffer transfer into tile-based portions, the patent enables more efficient utilization of available memory interfaces. The reduced data volume from transferring only tile-specific Z-values allows for faster transfer speeds while maintaining compatibility with standard memory interfaces, thereby alleviating the bottleneck in the graphics pipeline.
Data Source
AI summary
One embodiment of the present invention sets forth a method for pre-computing Z-values using an IGPU and, subsequently, conveying these Z-values to a DGPU. The graphics driver partitions the display into rectangular M-by-N tiles of pixels. For each tile, the graphics driver generates a quad geometry that encompasses the corresponding pixels. For each image frame, the graphics driver configures the IGPU to generate and down-sample a Z-buffer, creating a coarse Z-texture that contains a Z-value for each tile. The graphics driver transfers the coarse Z-texture to the system memory and configures the DGPU to apply the coarse Z-texture to the quad geometries, thereby generating a coarse Z-buffer in which the M-by-N pixels included in each tile are assigned the Z-value for the particular tile. Among other things, this technique enables the IGPU to pre-compute Z-values for the DGPU without straining the system memory bandwidth or defeating the Z-buffer compression techniques used by the DGPU.


