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] Implement Root Signature Lexer for Descriptor Tables #126563

Closed
4 tasks
inbelic opened this issue Feb 10, 2025 · 1 comment · Fixed by #122981
Closed
4 tasks

[HLSL] Implement Root Signature Lexer for Descriptor Tables #126563

inbelic opened this issue Feb 10, 2025 · 1 comment · Fixed by #122981
Assignees
Labels
clang:frontend Language frontend issues, e.g. anything involving "Sema" HLSL HLSL Language Support

Comments

@inbelic
Copy link
Contributor

inbelic commented Feb 10, 2025

This issue handles the lexing of a root signature string into a token representation of the data. Specifically, it handles and defines all the tokens required for a Descriptor Table and its clauses.

For the sake of scope, we will let the lexing of floating literals be deferred until needed for Static Samplers. Other than that this pr should allow us to simply define new enumerations/keywords in RootSignatureTokenKinds.def for when they are used in the parser. We could have define all of these keywords here, but for the sake of correctness in review we will let them be split up.

AC:

  • Define RootSignatureLexer and provide a public LexToken method for external use
  • Define the file RootSignatureTokenKinds to define required tokens and allow for future custom keywords/enums
  • Implement the internal methods required to parse the different types of tokens (integers, flag enums, puncuators...)
  • Add test harness for unit testing and the respective unit tests for lexing the tokens
@inbelic inbelic self-assigned this Feb 10, 2025
@inbelic inbelic added HLSL HLSL Language Support and removed new issue labels Feb 10, 2025
@inbelic inbelic moved this to Planning in HLSL Support Feb 10, 2025
@inbelic inbelic linked a pull request Feb 10, 2025 that will close this issue
@damyanp damyanp moved this from Planning to Needs Review in HLSL Support Feb 10, 2025
@inbelic inbelic moved this from Needs Review to Planning in HLSL Support Feb 11, 2025
@damyanp damyanp moved this from Planning to Active in HLSL Support Feb 11, 2025
@damyanp damyanp moved this from Active to Needs Review in HLSL Support Feb 11, 2025
@github-project-automation github-project-automation bot moved this from Needs Review to Closed in HLSL Support Feb 14, 2025
@EugeneZelenko EugeneZelenko added the clang:frontend Language frontend issues, e.g. anything involving "Sema" label Feb 14, 2025
@llvmbot
Copy link
Member

llvmbot commented Feb 14, 2025

@llvm/issue-subscribers-clang-frontend

Author: Finn Plummer (inbelic)

This issue handles the lexing of a root signature string into a token representation of the data. Specifically, it handles and defines all the tokens required for a Descriptor Table and its clauses.

For the sake of scope, we will let the lexing of floating literals be deferred until needed for Static Samplers. Other than that this pr should allow us to simply define new enumerations/keywords in RootSignatureTokenKinds.def for when they are used in the parser. We could have define all of these keywords here, but for the sake of correctness in review we will let them be split up.

AC:

  • Define RootSignatureLexer and provide a public LexToken method for external use
  • Define the file RootSignatureTokenKinds to define required tokens and allow for future custom keywords/enums
  • Implement the internal methods required to parse the different types of tokens (integers, flag enums, puncuators...)
  • Add test harness for unit testing and the respective unit tests for lexing the tokens

joaosaffran pushed a commit to joaosaffran/llvm-project that referenced this issue Feb 14, 2025
For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.

- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens

Resolves llvm#126563

---------

Co-authored-by: Chris B <[email protected]>
sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this issue Feb 24, 2025
For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.

- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens

Resolves llvm#126563

---------

Co-authored-by: Chris B <[email protected]>
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