KhronosGroup / KhronosGroup/glslang

No way to express access chains with SPIR-V intrinsics.

Open
#3,875 0 comments 0 reactions 0 assignees View on GitHub
Specification SPIR-V
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

I'm trying to make use of SPV_NV_raw_access_chains with SPIR-V intrinsics, but it does not seem like it's possible to do this.

The complicated part is that `OpRawAccessChainNV` returns a pointer, just like any other access chain, but it does not seem possible to return spirv_by_reference, so I'm a bit stumped. Is there any way to express plain OpAccessChain as-is with SPIR-V intrinsics in the first place? That'd be a good place to start.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by locating the SPIR-V intrinsic handling for OpAccessChain and the representation of spirv_by_reference, then investigate how OpRawAccessChainNV's pointer result could be expressed; done means a supported way to represent access chains with SPIR-V intrinsics, covered by focused tests.

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
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.