KhronosGroup / KhronosGroup/SPIRV-Tools

Opt: Opaque Inliner Needed

Open
#754 2 comments 0 reactions 0 assignees View on GitHub
component:optimization enhancement
Dominant language
C++
Stars
1.4k
Forks
709
Avg merge
1d 22h
Merged PRs (30d)
28

Description

Create inliner pass which *only* inlines function calls with opaque arguments or return value.

This pass is part of an effort to assist glslang in creating valid SPIR-V from HLSL shaders which store and load opaque objects.

The algorithm will start by performing the inlining only in entry point functions. After the inlining for a function is complete, the functions of the remaining function calls are added to the list to be processed.

Claimed by @greg-lunarg and started.

Contributor guide

Open the contributing guide

Research direction

Start from the entry point functions described in the issue and determine how calls with opaque arguments or return values should be selected before processing remaining callees. Done means the pass handles the stated inlining sequence and assists glslang in producing valid SPIR-V for HLSL shaders; the work is already claimed and started.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.