Shader Variable Mapping to Rectangular Register Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing unit (GPU) compilers require separate support for multiple data storage types, leading to a larger memory footprint and complexity in accommodating new shader programming languages and standards.
Innovation Solution
Implementing a universal storage representation for shader program data elements, allowing the compiler to map data items to rectangular regions of a register file, thereby reducing the compiler footprint and simplifying the compilation process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate support for multiple data storage types is implemented in GPU compilers, then the compiler can accommodate different shader programming languages and standards, but the compiler footprint and complexity increase
Solution Approach 1:
The patent applies universality by creating a unified data storage representation that can represent multiple data storage types (such as different shader variable types) using a single common structure. This allows the compiler to handle diverse data types through one universal mechanism rather than requiring separate support structures for each type, thereby reducing compiler footprint while maintaining versatility
Solution Approach 2:
The patent uses parameter changes by transforming different data storage types into a standardized representation with uniform parameters. By changing the representation parameters to a common format, the compiler can process various data types consistently, reducing the complexity of maintaining separate handling logic for each data storage type
2Adaptability or versatility
If separate support for multiple data storage types is implemented in GPU compilers, then the compiler can accommodate different shader programming languages and standards, but the compiler complexity increases
Solution Approach 1:
The patent applies universality by creating a unified data storage representation that can represent multiple data storage types (such as different shader variable types) using a single common structure. This allows the compiler to handle diverse data types through one universal mechanism rather than requiring separate support structures for each type, thereby reducing compiler complexity while maintaining versatility
Solution Approach 2:
The patent merges multiple separate data storage type representations into a single unified representation. By combining the handling of different data types into one integrated structure, the compiler complexity is reduced as there is no longer the need to maintain separate processing logic for each data storage type
Data Source
AI summary
The present disclosure includes system and method of mapping shader variables into physical registers. In an embodiment, a graphics processing unit (GPU) and a memory coupled to the GPU are disclosed. The memory includes a processor readable data file that has a register file portion. The register file portion has a rectangular structure including a plurality of data items. At least two of the plurality of data items corresponding to data elements of a shader program. The data elements have different data storage types.


