<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/BinaryFormat/DXContainer.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[DirectX] Fix Flags validation to prevent casting into enum (#161587)</title>
<updated>2025-10-06T21:21:28+00:00</updated>
<author>
<name>joaosaffran</name>
<email>joaosaffranllvm@gmail.com</email>
</author>
<published>2025-10-06T21:21:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=58ce3e20e55c67298da94eabe4e25f8baeb45fa7'/>
<id>58ce3e20e55c67298da94eabe4e25f8baeb45fa7</id>
<content type='text'>
This PR changes the validation logic for Root Descriptor and Descriptor
Range flags to properly check if the `uint32_t` values are within range
before casting into the enums.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR changes the validation logic for Root Descriptor and Descriptor
Range flags to properly check if the `uint32_t` values are within range
before casting into the enums.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][DirectX] Moving IsValidXYZ Functions to cpp file (#161896)</title>
<updated>2025-10-06T19:01:26+00:00</updated>
<author>
<name>joaosaffran</name>
<email>joaosaffranllvm@gmail.com</email>
</author>
<published>2025-10-06T19:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8708968fbace0fef6fe2a01872da78e6d4348668'/>
<id>8708968fbace0fef6fe2a01872da78e6d4348668</id>
<content type='text'>
Originally, DXContainer `isValid...` functions were defined din the
header. That cause a problem, that made this specific file huge, since
every function also includes a `def` file. To fix this problem, this PR
moves the function to the cpp equivalent file.

Closes: [158162](https://github.com/llvm/llvm-project/issues/158162)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Originally, DXContainer `isValid...` functions were defined din the
header. That cause a problem, that made this specific file huge, since
every function also includes a `def` file. To fix this problem, this PR
moves the function to the cpp equivalent file.

Closes: [158162](https://github.com/llvm/llvm-project/issues/158162)</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Updating DXContainer Yaml to represent Root Signature 1.2 (#159659)</title>
<updated>2025-09-26T16:04:19+00:00</updated>
<author>
<name>joaosaffran</name>
<email>joaosaffranllvm@gmail.com</email>
</author>
<published>2025-09-26T16:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d2f6fd177fcf79564e68c9999a38b5af9982cbb'/>
<id>7d2f6fd177fcf79564e68c9999a38b5af9982cbb</id>
<content type='text'>
This PR updates the YAML representation of DXContainer to support Root
Signature 1.2, this also requires updating the write logic to support
testing.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR updates the YAML representation of DXContainer to support Root
Signature 1.2, this also requires updating the write logic to support
testing.</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Add Range Overlap validation (#152229)</title>
<updated>2025-08-14T22:40:11+00:00</updated>
<author>
<name>joaosaffran</name>
<email>126493771+joaosaffran@users.noreply.github.com</email>
</author>
<published>2025-08-14T22:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d56fa965243bcdc115b8f262ce79cf2547500c6d'/>
<id>d56fa965243bcdc115b8f262ce79cf2547500c6d</id>
<content type='text'>
As part of the Root Signature Spec, we need to validate if Root
Signatures are not defining overlapping ranges.
Closes: https://github.com/llvm/llvm-project/issues/126645

---------

Co-authored-by: joaosaffran &lt;joao.saffran@microsoft.com&gt;
Co-authored-by: Joao Saffran &lt;{ID}+{username}@users.noreply.github.com&gt;
Co-authored-by: Joao Saffran &lt;jderezende@microsoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As part of the Root Signature Spec, we need to validate if Root
Signatures are not defining overlapping ranges.
Closes: https://github.com/llvm/llvm-project/issues/126645

---------

Co-authored-by: joaosaffran &lt;joao.saffran@microsoft.com&gt;
Co-authored-by: Joao Saffran &lt;{ID}+{username}@users.noreply.github.com&gt;
Co-authored-by: Joao Saffran &lt;jderezende@microsoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][HLSL][DirectX] Consolidate `ResourceClassNames` (#152213)</title>
<updated>2025-08-07T23:10:50+00:00</updated>
<author>
<name>Finn Plummer</name>
<email>mail@inbelic.dev</email>
</author>
<published>2025-08-07T23:10:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cb2d56ce960714ce6fce39e8b846326969a30c2d'/>
<id>cb2d56ce960714ce6fce39e8b846326969a30c2d</id>
<content type='text'>
During the split of the various `Frontend/HLSL` libraries, there was an
oversight to duplicate the `ResourceClassNames` definitions. This commit
simply consolidates the definitions into `DXContainer.h` as
`getResourceClasses`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During the split of the various `Frontend/HLSL` libraries, there was an
oversight to duplicate the `ResourceClassNames` definitions. This commit
simply consolidates the definitions into `DXContainer.h` as
`getResourceClasses`</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (#145986)</title>
<updated>2025-07-03T21:44:11+00:00</updated>
<author>
<name>Finn Plummer</name>
<email>finn.c.plum@gmail.com</email>
</author>
<published>2025-07-03T21:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0ceb0c377a3e67b70965c32e7f21fe8b33f555d2'/>
<id>0ceb0c377a3e67b70965c32e7f21fe8b33f555d2</id>
<content type='text'>
This pr removes the redundancy of having the same enums defined in both
the front-end and back-end of handling root signatures. Since there are
many more uses of the enum in the front-end of the code, we will adhere
to the naming conventions used in the front-end, to minimize the diff.

The macros in `DXContainerConstants.def` are also touched-up to be
consistent and to have each macro name follow its respective definition
in d3d12.h and searchable by name
[here](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/).

Additionally, the many `getEnumNames` are moved to `DXContainer` from
`HLSLRootSignatureUtils` as they we will want them to be exposed
publicly anyways.

Changes for each enum follow the pattern of a commit that will make the
enum definition in `DXContainer` adhere to above listed naming
conventions, followed by a commit to actually use that enum in the
front-end.

Resolves https://github.com/llvm/llvm-project/issues/145815</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pr removes the redundancy of having the same enums defined in both
the front-end and back-end of handling root signatures. Since there are
many more uses of the enum in the front-end of the code, we will adhere
to the naming conventions used in the front-end, to minimize the diff.

The macros in `DXContainerConstants.def` are also touched-up to be
consistent and to have each macro name follow its respective definition
in d3d12.h and searchable by name
[here](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/).

Additionally, the many `getEnumNames` are moved to `DXContainer` from
`HLSLRootSignatureUtils` as they we will want them to be exposed
publicly anyways.

Changes for each enum follow the pattern of a commit that will make the
enum definition in `DXContainer` adhere to above listed naming
conventions, followed by a commit to actually use that enum in the
front-end.

Resolves https://github.com/llvm/llvm-project/issues/145815</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] adding support in obj2yaml and yaml2obj to root constants (#127840)</title>
<updated>2025-04-17T01:38:53+00:00</updated>
<author>
<name>joaosaffran</name>
<email>126493771+joaosaffran@users.noreply.github.com</email>
</author>
<published>2025-04-17T01:38:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=53eae22e228532fe3349890b6c7fc10b9c10dbee'/>
<id>53eae22e228532fe3349890b6c7fc10b9c10dbee</id>
<content type='text'>
Adding support for Root Constant in MC, Object and obj2yaml and
yaml2obj, this PR adds:
  - new structures to dxbc definition.
  - serialize and desirialize logic from dxcontainer to yaml
  - tests validating against dxc
  - adding support to multiple parts.

Closes: https://github.com/llvm/llvm-project/issues/126633

---------

Co-authored-by: joaosaffran &lt;joao.saffran@microsoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding support for Root Constant in MC, Object and obj2yaml and
yaml2obj, this PR adds:
  - new structures to dxbc definition.
  - serialize and desirialize logic from dxcontainer to yaml
  - tests validating against dxc
  - adding support to multiple parts.

Closes: https://github.com/llvm/llvm-project/issues/126633

---------

Co-authored-by: joaosaffran &lt;joao.saffran@microsoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Replace ResourceFlag enum with struct fields (#106617)</title>
<updated>2024-08-30T16:52:26+00:00</updated>
<author>
<name>Xiang Li</name>
<email>python3kgae@outlook.com</email>
</author>
<published>2024-08-30T16:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26f6091dc9c24bdf22390f2b9f68aacc4669ef36'/>
<id>26f6091dc9c24bdf22390f2b9f68aacc4669ef36</id>
<content type='text'>
Remove the enum about ResourceFlag.
Add struct ResourceFlags which save the resource flags with bool fields.

This will get better yaml dump.

For #103275</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the enum about ResourceFlag.
Add struct ResourceFlags which save the resource flags with bool fields.

This will get better yaml dump.

For #103275</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] add enum for PSV resource type/kind/flag. (#106227)</title>
<updated>2024-08-29T18:02:43+00:00</updated>
<author>
<name>Xiang Li</name>
<email>python3kgae@outlook.com</email>
</author>
<published>2024-08-29T18:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fd0dbc7f4d8a5900535aa87569fbc385b7c50ba6'/>
<id>fd0dbc7f4d8a5900535aa87569fbc385b7c50ba6</id>
<content type='text'>
Add ResourceType, ResourceKind and ResourceFlag enum class for PSV
resource.

This is for #103275</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add ResourceType, ResourceKind and ResourceFlag enum class for PSV
resource.

This is for #103275</pre>
</div>
</content>
</entry>
<entry>
<title>[DX] Add support for program signatures (#67346)</title>
<updated>2023-10-05T15:33:15+00:00</updated>
<author>
<name>Chris B</name>
<email>chris.bieneman@me.com</email>
</author>
<published>2023-10-05T15:33:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9f87522b121a08b97aff433e8b53dec1acf7c9d0'/>
<id>9f87522b121a08b97aff433e8b53dec1acf7c9d0</id>
<content type='text'>
For DirectX, program signatures are encoded into three different binary
sections depending on if the signature is for inputs, outputs, or
patches. All three signature types use the same data structure encoding
so they can share a lot of logic.

This patch adds support for reading and writing program signature data
as both yaml and binary data.

Fixes #57743 and #57744</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For DirectX, program signatures are encoded into three different binary
sections depending on if the signature is for inputs, outputs, or
patches. All three signature types use the same data structure encoding
so they can share a lot of logic.

This patch adds support for reading and writing program signature data
as both yaml and binary data.

Fixes #57743 and #57744</pre>
</div>
</content>
</entry>
</feed>
