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] Replace void * handles in HLSLExternalSemaSource with HLSLResource builtin types #84824

Closed
Tracked by #101557 ...
bogner opened this issue Mar 11, 2024 · 1 comment · Fixed by #110079
Closed
Tracked by #101557 ...
Assignees
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" HLSL HLSL Language Support

Comments

@bogner
Copy link
Contributor

bogner commented Mar 11, 2024

The resource types defined by HLSLExternalSource have a handle to the resource itself. This needs to be updated to be an HLSLResource builtin type (See #90631). This means __builtin_hlsl_create_handle will need to return that type, and the array subscript operators will need to use the builtins that index into it (See #95956).

In combination with #95952 this should be sufficient for clang codegen to generate the appropriate target types for resources in DXIL.

AC:

  • The resource types in HLSLExternalSemaSource are represented using an HLSLResource builtin for the handle
  • AST and CodeGen tests are updated appropriately
  • RWBuffer in HLSL is lowered to LLVM IR using TargetExtType
@bogner bogner added the HLSL HLSL Language Support label Mar 11, 2024
@bogner bogner self-assigned this Mar 11, 2024
@bogner bogner moved this to Planning in HLSL Support Mar 11, 2024
@damyanp damyanp removed the status in HLSL Support Mar 11, 2024
@damyanp damyanp moved this to Planning in HLSL Support Apr 22, 2024
@bogner bogner moved this from Planning to Active in HLSL Support Jun 11, 2024
@bogner bogner changed the title [HLSL] Teach clang codegen to generate TargetExtType instead of metadata for HLSL resource information [HLSL] Replace void * handles in HLSLExternalSemaSource with HLSLResource builtin types Jun 18, 2024
@bogner bogner removed the status in HLSL Support Jun 18, 2024
@damyanp damyanp assigned hekota and unassigned bogner Jul 31, 2024
@damyanp damyanp moved this to Ready in HLSL Support Jul 31, 2024
@pow2clk pow2clk moved this from Ready to Active in HLSL Support Sep 23, 2024
@hekota hekota closed this as completed in e20bf28 Sep 30, 2024
@github-project-automation github-project-automation bot moved this from Active to Done in HLSL Support Sep 30, 2024
@EugeneZelenko EugeneZelenko added the clang:frontend Language frontend issues, e.g. anything involving "Sema" label Sep 30, 2024
@llvmbot
Copy link
Member

llvmbot commented Sep 30, 2024

@llvm/issue-subscribers-clang-frontend

Author: Justin Bogner (bogner)

The resource types defined by HLSLExternalSource have a handle to the resource itself. This needs to be updated to be an HLSLResource builtin type (See #90631). This means `__builtin_hlsl_create_handle` will need to return that type, and the array subscript operators will need to use the builtins that index into it (See #95956).

In combination with #95952 this should be sufficient for clang codegen to generate the appropriate target types for resources in DXIL.

AC:

  • The resource types in HLSLExternalSemaSource are represented using an HLSLResource builtin for the handle
  • AST and CodeGen tests are updated appropriately
  • RWBuffer in HLSL is lowered to LLVM IR using TargetExtType

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: No status
4 participants