Graphics Primitive Set-Up for Rounding Error Compensation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing methods face challenges in conservative rasterization due to rounding errors introduced when converting vertex positions from floating point to lower precision formats, affecting accuracy in collision detection, occlusion culling, and visibility detection.

Innovation Solution

The method involves determining modified edge information for primitives in the primitive set-up stage, which accounts for potential rounding errors by offsetting edge positions to define an uncertainty region, allowing for conservative rasterization that accurately determines coverage without needing separate geometry shading stages or modifying sampling points.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vertex positions are converted from floating point to lower precision formats, then processing efficiency is improved, but rounding errors are introduced affecting accuracy

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidvertex position accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by determining modified edge information in advance during the primitive set-up stage, before rasterization occurs. This modified edge information pre-compensates for rounding errors that will occur during conversion to lower precision formats, ensuring accuracy is maintained without requiring additional processing during the actual rasterization phase.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If conservative rasterization is implemented to account for rounding errors, then accuracy in collision detection and occlusion culling is improved, but processing complexity increases

Engineering Contradiction:
Improvecoverage determination accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the determination of modified edge information with the existing primitive set-up stage, combining multiple functions into a single processing step. This integration allows conservative rasterization to be achieved without adding separate geometry shading stages or modifying sampling points, thereby maintaining processing efficiency while improving accuracy.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If modified edge information is determined to account for rounding errors, then rasterization accuracy is improved, but hardware requirements increase

Engineering Contradiction:
Improverasterization accuracyVSAvoidhardware requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies self-service by having the primitive set-up stage generate its own modified edge information based on the vertex data it already processes. The system uses its existing resources and data to compensate for rounding errors, eliminating the need for additional hardware components or external assistance while maintaining rasterization accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10957082B2Method of and apparatus for processing graphics
Publication Date: 2021.03.23 ARM LTD
  • US10957082B2 patent drawing
  • US10957082B2 patent drawing
  • US10957082B2 patent drawing

AI summary

When performing conservative rasterisation in a graphics processing pipeline, modified edge information that accounts for an error in the dimensions of a primitive is determined by a primitive set-up stage. That modified edge information is then used by a rasterisation stage to determine whether the primitive covers one or more sampling points associated with pixels to be displayed. The same modified edge information can also be used to determine if the pixels are fully covered by the primitive irrespective of any rounding effects (errors) in the position of the (vertices of the) primitive.