Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DirectX] Replace resource accesses in the device address space to typedbuffer load and store #114848

Closed
bogner opened this issue Nov 4, 2024 · 0 comments · Fixed by #116726
Closed
Assignees

Comments

@bogner
Copy link
Contributor

bogner commented Nov 4, 2024

The frontend will generate accesses into resources via a llvm.dx.resource.access intrinsic that indexes into a resource handle and provides a pointer in the HLSL device address space. We need to have a pass that transforms these accesses post-inlining to dxil store and load intrinsics.

This issue tracks creating this pass and implementing handling for replacing these accesses with llvm.dx.typedbuffer.load and llvm.dx.typedbuffer.store. Handling for more complicated access patterns (ie llvm.dx.rawbuffer.*) will be tracked separately.

@bogner bogner moved this to Planning in HLSL Support Nov 4, 2024
@bogner bogner self-assigned this Nov 4, 2024
@damyanp damyanp moved this from Planning to Active in HLSL Support Nov 4, 2024
@damyanp damyanp moved this from Active to Needs Review in HLSL Support Nov 18, 2024
bogner added a commit to bogner/llvm-project that referenced this issue Nov 19, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Nov 20, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Nov 25, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Nov 26, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Nov 28, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 3, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 12, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 12, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 12, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 12, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 16, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit to bogner/llvm-project that referenced this issue Dec 18, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes llvm#114848.
bogner added a commit that referenced this issue Dec 18, 2024
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes #114848.
@github-project-automation github-project-automation bot moved this from Needs Review to Closed in HLSL Support Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Closed
Development

Successfully merging a pull request may close this issue.

1 participant