Conservative Rasterization Hardware for Degenerate Primitive Tiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies in handling conservative rasterization, particularly with increased primitives, leading to higher processing demands and aliasing issues, which are not adequately addressed by current tile-based and immediate-mode rendering techniques.

Innovation Solution

Implementing a graphics pipeline with vertex coordinate conversion to fixed-point format, identifying degenerate primitives, and using conservative bounding boxes and edge calculations to optimize tile lists, along with microtile coverage determination, to enhance conservative rasterization efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the number of primitives is increased to improve surface approximation accuracy, then manufacturing precision is improved, but device complexity and processing effort increase

Engineering Contradiction:
Improvesurface approximation accuracyVSAvoidprocessing effort
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The rendering space is divided into multiple tiles, and each primitive is processed independently to determine which tiles it overlaps. This segmentation allows the system to handle large numbers of primitives efficiently by processing them in smaller, manageable units rather than as a single large batch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Tile lists are generated in advance during the geometry processing phase, identifying which primitives overlap which tiles before the actual rendering occurs. This preliminary classification optimizes the subsequent rendering phase by pre-organizing the work that needs to be done.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conservative rasterization is used to correctly detect primitive overlap, then reliability is improved, but productivity decreases due to increased pixel processing

Engineering Contradiction:
Improveprimitive overlap detection accuracyVSAvoidpixel processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different coverage determination methods to different regions: inner coverage (underestimate) is used for pixels that are fully overlapped, while outer coverage (overestimate) is used for pixels that are partially overlapped. This local differentiation allows the system to maintain high reliability for overlap detection while optimizing pixel processing throughput by not over-processing pixels that are clearly covered.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If fixed-point conversion is applied to handle quantization errors, then measurement precision is improved, but device complexity increases due to additional processing steps

Engineering Contradiction:
Improvecoordinate precisionVSAvoidprocessing pipeline complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system converts vertex coordinates from floating-point format to fixed-point format during the geometry processing phase. This parameter change allows for more precise handling of quantization errors that occur during rasterization, as fixed-point arithmetic provides consistent precision throughout the conversion process without requiring complex floating-point operations in the rendering pipeline.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260004382A1Conservative Rasterization Hardware
Publication Date: 2026.01.01 IMAGINATION TECH LTD
  • US20260004382A1 patent drawing
  • US20260004382A1 patent drawing
  • US20260004382A1 patent drawing

AI summary

A method of rendering primitives is described. Vertex coordinates are converted from floating-point to fixed-point format and triangle primitives having non-zero area prior to the conversion and zero area after the conversion and primitives that have changed from line primitives to point primitives as a consequence of the conversion are identified. A flag is set for each identified primitive and triangle or line primitives that have changed to point primitives as a consequence of the conversion are marked as small objects. Tile lists for each tile in the rendering space are then generated by: for any primitive that is not flagged as a degenerate primitive, using one or more edge calculations to determine whether the primitive overlaps a tile; and for any primitive that is both marked as a small object and flagged as a degenerate primitive, using a conservative bounding box to determine whether the primitive overlaps a tile.