Local Occlusion Query Cache for Graphics Processing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing occlusion query methods in graphics processing, particularly in tile-based systems, are inefficient due to the need to maintain and process multiple queries concurrently across multiple tiles, leading to difficulties in implementing occlusion queries effectively.

Innovation Solution

The implementation of local occlusion counters in a cache memory associated with the graphics processing system, which count results and write back to main memory, allowing for more flexible and efficient occlusion query processing, including Boolean and integer queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If occlusion queries are maintained in main memory, then query results are accurate, but processing efficiency deteriorates due to memory access delays

Engineering Contradiction:
Improveocclusion query processing efficiencyVSAvoidwait time for counter values from main memory
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the monolithic main memory into multiple banked memory regions, allowing simultaneous access to different memory banks. This segmentation enables parallel processing of multiple occlusion queries without sequential memory access delays, directly resolving the contradiction between processing efficiency and memory access time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-allocates and pre-initializes occlusion counters in memory banks before rendering begins. By preparing the memory structure in advance with properly initialized counters, the system eliminates runtime memory initialization delays and enables immediate query processing, addressing the time loss issue while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple occlusion queries are processed concurrently across multiple tiles, then query coverage is improved, but implementation complexity increases

Engineering Contradiction:
Improveconcurrent query处理能力VSAvoidocclusion query implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent assigns different occlusion query counters to different memory banks, with each bank handling specific queries. This segmentation allows concurrent processing of multiple queries across tiles while maintaining simple, independent counter management for each bank, reducing overall implementation complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal memory bank structure that can handle multiple types of occlusion queries (Boolean and integer) concurrently. Each memory bank is designed to be multi-functional, supporting different query types through a unified interface, which simplifies the implementation while maintaining high adaptability for concurrent query processing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If occlusion counters are frequently updated from local memory to main memory, then query accuracy is maintained, but processing overhead increases

Engineering Contradiction:
Improveocclusion query result accuracyVSAvoidprocessing overhead for counter updates
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent pre-configures the memory bank structure with dedicated occlusion counter storage locations before rendering. By establishing the correct memory layout in advance, the system maintains query accuracy through proper counter management while minimizing update overhead, as counters are naturally positioned for efficient access without frequent data movement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables memory banks to autonomously manage their own occlusion counters without requiring frequent centralized updates. Each memory bank independently maintains its counter values and only performs write-back operations when necessary, reducing processing overhead while maintaining accuracy through decentralized self-management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8922572B2Occlusion queries in graphics processing
Publication Date: 2014.12.30 ARM LTD
  • US8922572B2 patent drawing
  • US8922572B2 patent drawing
  • US8922572B2 patent drawing

AI summary

The fragment processing pipeline 10 of a graphics processing core 2 has an associated occlusion query cache 19 that is used to maintain a set of local occlusion counters 21. The occlusion query cache 19 is maintained in a local memory 3 of the graphics processing system and can communicate via an interconnect 7 with a set of master occlusion counters 22 in a main memory 5 for the graphics processing system. When an occlusion query starts, a corresponding occlusion counter 22 is initialised in the main memory 5. A corresponding local occlusion counter 21 is also provided in the occlusion query cache 19 in the local memory 3 of the graphics processor, and is used to count the results of the occlusion query. The local occlusion counter value is written back to the occlusion counter 22 for the query in the main memory 5 at the appropriate time for further processing.