Dynamic Texture Load Routing Between Sampler and Data Port

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing technologies face inefficiencies in texture load routing due to limited dynamic decision-making capabilities, leading to sub-optimal resource utilization and performance, especially in graphics processors with programmable units.

Innovation Solution

Implementing dynamic routing of texture loads between a sampler engine and a data port, allowing for improved workload performance by enabling dynamic decision-making during shader compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If texture loads are statically routed to either sampler engine or data port, then device complexity is reduced, but productivity decreases due to sub-optimal resource utilization

Engineering Contradiction:
Improvegraphics processing efficiencyVSAvoidrouting decision complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic routing of texture loads by determining at compile time whether each texture load should be routed to the sampler engine or data port based on workload characteristics. This dynamic allocation allows the system to adapt resource usage to specific workload requirements, improving graphics processing efficiency without requiring complex runtime routing decisions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The routing decisions for texture loads are made during shader compilation rather than at runtime. The system pre-determines the optimal routing path for each texture load instruction based on analysis of the shader code and workload characteristics, eliminating the need for complex runtime routing logic while maximizing resource utilization.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a large first level cache is added to the data port to improve compute performance, then productivity increases during compute operations, but device complexity increases and resource utilization decreases during non-compute periods

Engineering Contradiction:
Improvecompute performanceVSAvoidresource utilization across different workloads
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The data port cache is designed to serve multiple functions: it supports compute operations by providing fast access to compute data, and it also supports texture sampling operations by caching texture data. The dynamic routing system directs texture load instructions to the data port when the cache can beneficially utilize it, thereby improving overall resource utilization without sacrificing compute performance.

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

3Productivity

If texture loads are dynamically routed based on workload analysis, then productivity improves through optimal resource utilization, but device complexity increases due to dynamic routing logic

Engineering Contradiction:
Improveworkload performanceVSAvoidrouting control logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs workload analysis and routing decision-making during shader compilation rather than at runtime. The compiler analyzes the shader code to determine which texture loads should be routed to the sampler engine versus the data port, and generates appropriate routing metadata. This preliminary action eliminates the need for complex runtime routing logic while achieving optimal resource utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shader compiler acts as an intermediary that translates high-level shader code into optimized machine code with embedded routing decisions. The compiler analyzes workload characteristics and encodes routing information in the generated instructions, allowing the hardware to execute with simple routing logic while benefiting from sophisticated optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4156077B1Dynamic routing of texture loads in graphics processing
Publication Date: 2025.09.03 INTEL CORP
  • EP4156077B1 patent drawingFigure 1
  • EP4156077B1 patent drawingFigure 2A
  • EP4156077B1 patent drawingFigure 2B

AI summary

Dynamic routing of texture-load in graphics processing is described. An example of a processor includes one or more processing resources, the one or more processing resources to load a message including a texture load; a texture sampler and a data port; and a message router to route the texture load to a destination, wherein the destination may be either the texture sampler or the data port; wherein the message router includes arbitration circuitry to select the destination for the texture load, the arbitration circuitry to base selection of the destination at least in part on support by the data port for a format of a memory surface for the texture load; and a utilization metric for the data port representing availability of the data port.