Graphics Processing Context Switching via Primitive Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems are inefficient in context switching, as they require completing the processing of one context before switching to another, leading to delays in tasks like video frame refreshing during simultaneous 3D game rendering and video streaming, due to serial processing and failure to preemptively multitask.

Innovation Solution

Implementing a graphics processing system that allows context switching before completing the processing of a primitive by interrupting the processing of a first context at a sub-primitive level, saving states of processing modules that have already completed, and processing part of the command list associated with a second context, enabling immediate switching between contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the graphics processing system completes the processing of one context before switching to another, then the processing is simple and stable, but the switching efficiency is low and real-time performance is poor

Engineering Contradiction:
Improvecontext switching efficiencyVSAvoidprocessing management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The primitive processing is segmented into multiple regions that can be independently managed. The system can complete processing of some regions while suspending others, allowing context switching to occur at region boundaries. This segmentation enables partial completion of primitives without requiring full completion before switching contexts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The graphics processing system implements dynamic context switching capabilities where the processing state can be suspended, saved, and restored. The system dynamically transitions between completing current context processing and switching to new contexts based on command list priorities, enabling flexible real-time performance optimization.

Inventive Principle:
Principle #15Dynamics

2Speed

If the system processes multiple command lists simultaneously, then the real-time performance improves, but the context switching complexity increases

Engineering Contradiction:
Improveresponse speed for high-priority contextsVSAvoidcontext management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system maintains continuous processing by allowing multiple command lists to be processed in parallel at different stages of the graphics pipeline. While one context is being processed, other contexts can be prepared or processed at different pipeline stages, ensuring continuous utilization of processing resources without idle time.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs preliminary setup and state saving for context switching before actual context transitions occur. Command lists are prepared in advance, and processing states are saved at optimal points, enabling rapid context switching without requiring complete processing of current primitives before switching.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the system interrupts primitive processing for context switching, then the multitasking capability improves, but the processing completeness may be compromised

Engineering Contradiction:
Improvemultitasking capabilityVSAvoidprocessing completeness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Primitives are divided into processable regions that can be independently completed or suspended. When context switching is required, the system completes processing up to the current region boundary, saves the state, and resumes later without losing processing integrity. This ensures that interrupted processing can be reliably continued.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements state saving and restoration mechanisms that provide feedback about the processing state. When a context is switched, the current processing state is saved and can be restored when the context is resumed, ensuring that processing completeness is maintained even after interruptions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8139070B1Systems for and methods of context switching in a graphics processing system
Publication Date: 2012.03.20 MATROX GRAPHICS INC
  • US8139070B1 patent drawing
  • US8139070B1 patent drawing
  • US8139070B1 patent drawing

AI summary

In accordance with one embodiment a graphics processing system is configured to switch from a processing of a primitive associated with a first context to a processing of a command list associated with a second context where the primitive includes a plurality of regions. The system includes a plurality of processing modules and at least one module of the plurality of processing modules is configured to receive a request to switch to the second context. In one embodiment, the plurality of processing modules includes a first module that is configured to, following a receipt of the request by the at least one module, to complete a processing of at least one region selected from among the plurality of regions before interrupting the processing of the primitive prior to completion and processing at least a part of the command list associated with the second context; and a second module configured to provide data concerning the primitive to the first module following a processing of the primitive by the second module. The graphics processing system may also include a memory configured to save a state of the second module, where the state corresponds to the state of the second module when processing the primitive associated with the first context.