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] Introduce llvm.dx.resource.load.cbuffer intrinsic and lower it to cbufferLoadLegacy dxil op #112992

Open
Tracked by #41
hekota opened this issue Oct 18, 2024 · 1 comment · May be fixed by #128699
Open
Tracked by #41
Assignees

Comments

@hekota
Copy link
Member

hekota commented Oct 18, 2024

We need LLVM intrinsic for cbuffer load which will be lowered to the op.dx.cbufferLoadLegacy dxil operation.

@hekota hekota mentioned this issue Oct 18, 2024
11 tasks
@hekota hekota transferred this issue from llvm/wg-hlsl Oct 18, 2024
@hekota hekota changed the title Introduce the cbufferLoad intrinsic and lower to the CBufferLoadLegacy dxil op Introduce llvm.dx.cbufferLoad intrinsic and lower to the CBufferLoadLegacy dxil op Oct 18, 2024
@hekota hekota moved this to Planning in HLSL Support Oct 18, 2024
@hekota hekota changed the title Introduce llvm.dx.cbufferLoad intrinsic and lower to the CBufferLoadLegacy dxil op Introduce llvm.dx.cbufferLoad intrinsic and lower it to cbufferLoadLegacy dxil op Oct 18, 2024
@hekota hekota changed the title Introduce llvm.dx.cbufferLoad intrinsic and lower it to cbufferLoadLegacy dxil op [DirectX] Introduce llvm.dx.cbufferLoad intrinsic and lower it to cbufferLoadLegacy dxil op Oct 18, 2024
@davidcook-msft davidcook-msft moved this from Planning to Designing in HLSL Support Oct 22, 2024
@hekota hekota changed the title [DirectX] Introduce llvm.dx.cbufferLoad intrinsic and lower it to cbufferLoadLegacy dxil op [DirectX] Introduce llvm.dx.resource.load.cbuffer intrinsic and lower it to cbufferLoadLegacy dxil op Jan 13, 2025
@damyanp
Copy link
Contributor

damyanp commented Jan 13, 2025

This is blocked on llvm/wg-hlsl#50, unless we decide to do a simple case first.

@damyanp damyanp assigned bogner and unassigned hekota Jan 27, 2025
@bogner bogner moved this from Designing to Active in HLSL Support Jan 30, 2025
@bogner bogner moved this from Active to Designing in HLSL Support Feb 10, 2025
@damyanp damyanp moved this from Designing to Planning in HLSL Support Feb 10, 2025
@damyanp damyanp moved this from Planning to Ready in HLSL Support Feb 10, 2025
@damyanp damyanp moved this from Ready to Active in HLSL Support Feb 13, 2025
hekota added a commit that referenced this issue Feb 20, 2025
Translates `cbuffer` declaration blocks to `target("dx.CBuffer")` type. Creates global variables in `hlsl_constant` address space for all `cbuffer` constant and adds metadata describing which global constant belongs to which constant buffer. For explicit constant buffer layout information an explicit layout type `target("dx.Layout")` is used. This might change in the future.

The constant globals are temporary and will be removed in upcoming pass that will translate `load` instructions in the `hlsl_constant` address space to constant buffer load intrinsics calls off a CBV handle (#124630, #112992).

See [Constant buffer design
doc](llvm/wg-hlsl#94) for more details.

Fixes #113514, #106596
bogner added a commit to bogner/llvm-project that referenced this issue Feb 25, 2025
@bogner bogner linked a pull request Feb 25, 2025 that will close this issue
@bogner bogner linked a pull request Feb 25, 2025 that will close this issue
@bogner bogner moved this from Active to Needs Review in HLSL Support Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs Review
Development

Successfully merging a pull request may close this issue.

4 participants