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

[HLSL] Add AppendStructuredBuffer and ConsumeStructuredBuffer definitions to HLSLExternalSemaSource #112777

Closed
Tracked by #88
hekota opened this issue Oct 17, 2024 · 1 comment · Fixed by #113643
Closed
Tracked by #88
Assignees
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" HLSL HLSL Language Support

Comments

@hekota
Copy link
Member

hekota commented Oct 17, 2024

Add AppendStructuredBuffer and ConsumeStructuredBuffer definitions to HLSLExternalSemaSource.

AppendStructuredBuffer is a streaming output buffer:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-appendstructuredbuffer

ConsumeStructuredBuffer is a streaming input buffer:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-consumestructuredbuffer

AppendStructuredBuffer<float> Buf1 : register(u0);
ConsumeStructuredBuffer<float> Buf2 : register(u1);

The resource definitions will contain a handle that will be lowered to a dx.RawBuffer target extension type with scalar, vector or UDT as its type argument.

Refer to Proposal for mapping resource attributes for the attribute mapping.

@hekota hekota moved this to Planning in HLSL Support Oct 17, 2024
@EugeneZelenko EugeneZelenko added HLSL HLSL Language Support and removed new issue labels Oct 17, 2024
@hekota hekota self-assigned this Oct 19, 2024
@davidcook-msft davidcook-msft moved this from Planning to Active in HLSL Support Oct 22, 2024
hekota added a commit to hekota/llvm-project that referenced this issue Oct 25, 2024
…ExternalSemaSource

Add separate tests for the AST shape and element types. Add constructor/handle.fromBinding test case to shared test file.
These buffers do not have any subscript operators. Append and Consume methods will be added later in llvm#112968.

Fixes llvm#112777
@hekota hekota moved this from Active to Needs Review in HLSL Support Oct 29, 2024
@hekota hekota moved this from Needs Review to Planning in HLSL Support Nov 5, 2024
@hekota hekota moved this from Planning to Ready in HLSL Support Nov 5, 2024
@hekota hekota moved this from Ready to Active in HLSL Support Nov 5, 2024
@hekota hekota moved this from Active to Needs Review in HLSL Support Nov 5, 2024
hekota added a commit that referenced this issue Nov 9, 2024
…SemaSource (#113643)

Adds `AppendStructuredBuffer` and `ConsumeStructuredBuffer` definition
to HLSLExternalSemaSource. Adds separate tests for the AST shape and
element types, and adds constructor/handle.fromBinding test case to
shared test file for structured buffers.

These buffers do not have any subscript operators. Append and Consume
methods will be added later in #112968.

Fixes #112777
@github-project-automation github-project-automation bot moved this from Needs Review to Closed in HLSL Support Nov 9, 2024
@EugeneZelenko EugeneZelenko added the clang:frontend Language frontend issues, e.g. anything involving "Sema" label Nov 9, 2024
@llvmbot
Copy link
Member

llvmbot commented Nov 9, 2024

@llvm/issue-subscribers-clang-frontend

Author: Helena Kotas (hekota)

Add `AppendStructuredBuffer` and `ConsumeStructuredBuffer` definitions to HLSLExternalSemaSource.

AppendStructuredBuffer is a streaming output buffer:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-appendstructuredbuffer

ConsumeStructuredBuffer is a streaming input buffer:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-consumestructuredbuffer

AppendStructuredBuffer&lt;float&gt; Buf1 : register(u0);
ConsumeStructuredBuffer&lt;float&gt; Buf2 : register(u1);

The resource definitions will contain a handle that will be lowered to a dx.RawBuffer target extension type with scalar, vector or UDT as its type argument.

Refer to Proposal for mapping resource attributes for the attribute mapping.

Groverkss pushed a commit to iree-org/llvm-project that referenced this issue Nov 15, 2024
…SemaSource (llvm#113643)

Adds `AppendStructuredBuffer` and `ConsumeStructuredBuffer` definition
to HLSLExternalSemaSource. Adds separate tests for the AST shape and
element types, and adds constructor/handle.fromBinding test case to
shared test file for structured buffers.

These buffers do not have any subscript operators. Append and Consume
methods will be added later in llvm#112968.

Fixes llvm#112777
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" HLSL HLSL Language Support
Projects
Status: Closed
Development

Successfully merging a pull request may close this issue.

3 participants