Pre-compiled Shader Chunk Assembly for Avionics Certification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In safety-critical graphics applications like avionics, the use of programmable GPUs with run-time compiled shader programs poses challenges for verification and certification due to their complexity, including the presence of branches and loops, which are difficult to verify against safety standards.

Innovation Solution

The method involves selecting and concatenating pre-compiled shader chunks to emulate a fixed-function graphics pipeline on programmable graphics hardware, eliminating the need for run-time compilation and simplifying the verification process by avoiding branches and loops in the shader program.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If run-time compiled shader programs are used on programmable GPUs, then graphics performance and flexibility are improved, but verification and certification against safety standards become difficult

Engineering Contradiction:
Improvegraphics performanceVSAvoidverification and certification
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The shader program is segmented into multiple pre-compiled shader chunks that can be independently verified and certified. Each chunk represents a discrete functional unit (vertex processing, fragment processing, etc.) that can be validated separately against safety standards, eliminating the need to verify the entire complex run-time compiler.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Shader chunks are pre-compiled and verified before runtime execution. The verification and certification process is performed in advance on the shader chunks, rather than attempting to verify the complex run-time compilation process. This preliminary verification ensures safety while maintaining runtime performance.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If shader source code is stored within an application and compiled at run-time, then shader functionality becomes independent of particular GPU types, but the compiled shader code becomes difficult to verify

Engineering Contradiction:
Improveshader functionality independenceVSAvoidverification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The shader functionality is divided into standardized shader chunks that can be independently verified. Each chunk is designed to work with specific GPU architectures, allowing verification to be performed on each segment rather than the entire heterogeneous system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A shader chunk selection and assembly mechanism serves as an intermediary between the application layer and the GPU execution layer. This intermediary selects appropriate pre-verified shader chunks based on the target GPU type and assembles them into a complete shader program, maintaining versatility while preserving verifiability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If fixed-function graphics pipelines are used, then verification and certification are simplified, but flexibility and adaptability are reduced

Engineering Contradiction:
Improveverification and certificationVSAvoidgraphics flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system transitions from static fixed-function pipelines to dynamic assembly of pre-verified shader chunks. The shader program can be dynamically configured by selecting different combinations of verified chunks, providing flexibility while maintaining the verifiability benefits of pre-compilation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The approach changes the verification parameter from runtime compilation behavior to pre-computed shader chunk properties. By verifying shader chunks based on their compiled characteristics rather than their source code compilation process, the system achieves both flexibility and verifiability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10861124B2Methods and systems for generating shaders to emulate a fixed-function graphics pipeline
Publication Date: 2020.12.08 CHANNEL ONE HOLDINGS INC
  • US10861124B2 patent drawing
  • US10861124B2 patent drawing
  • US10861124B2 patent drawing

AI summary

Methods, systems, and computer-readable media for rendering graphics using a graphics pipeline for emulating a fixed-function graphics pipeline, including selecting a first pre-compiled shader chunk from a set of pre-compiled shader chunks, selecting at least one second pre-compiled shader chunk from the set of pre-compiled shader chunks, and, concatenating the first shader chunk with the at least one second shader chunk, wherein each shader chunk corresponds to a fixed-function graphics function.