<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/DirectX/DXContainerGlobals.cpp, branch users/nico/python-2</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>[HLSL][NFC] Rename getBindingMap to getResourceMap and update pass name (#137256)</title>
<updated>2025-04-25T21:30:33+00:00</updated>
<author>
<name>Helena Kotas</name>
<email>hekotas@microsoft.com</email>
</author>
<published>2025-04-25T21:30:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a1decfef3f75286398699573ddf801ec3805e1ee'/>
<id>a1decfef3f75286398699573ddf801ec3805e1ee</id>
<content type='text'>
The DXILResourceMap stores more information about resource instances
than just their binding.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The DXILResourceMap stores more information about resource instances
than just their binding.</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Move Resource Instance Properties from TypeInfo (#135259)</title>
<updated>2025-04-14T19:41:36+00:00</updated>
<author>
<name>Ashley Coleman</name>
<email>ascoleman@microsoft.com</email>
</author>
<published>2025-04-14T19:41:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b07fc0fd5e26f894e3a80373577cb5979b8b54bb'/>
<id>b07fc0fd5e26f894e3a80373577cb5979b8b54bb</id>
<content type='text'>
Fixes https://github.com/llvm/llvm-project/issues/134741

Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/llvm/llvm-project/issues/134741

Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][LLVM][DirectX] Cleanup pass initialization for DirectX (#134419)</title>
<updated>2025-04-08T00:28:26+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-04-08T00:28:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=707367621679742eae0e903470a5fe043424c698'/>
<id>707367621679742eae0e903470a5fe043424c698</id>
<content type='text'>
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][HLSL] Rename ResourceBinding Types (#134165)</title>
<updated>2025-04-04T22:51:35+00:00</updated>
<author>
<name>Ashley Coleman</name>
<email>ascoleman@microsoft.com</email>
</author>
<published>2025-04-04T22:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e3369a8dc9130ef261a092d866e8ba4f8242aa26'/>
<id>e3369a8dc9130ef261a092d866e8ba4f8242aa26</id>
<content type='text'>
Non-functional change as first step in
https://github.com/llvm/wg-hlsl/pull/207

Removes `Binding` from "Resource Instance" types</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Non-functional change as first step in
https://github.com/llvm/wg-hlsl/pull/207

Removes `Binding` from "Resource Instance" types</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Match DXC's resource order in DX container (#130233)</title>
<updated>2025-03-24T19:33:54+00:00</updated>
<author>
<name>Justin Bogner</name>
<email>mail@justinbogner.com</email>
</author>
<published>2025-03-24T19:33:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=368c7f72b917b9a9ae412dfe58d640e7022a3342'/>
<id>368c7f72b917b9a9ae412dfe58d640e7022a3342</id>
<content type='text'>
DXC and the DXIL validator expect resources in a DX container to be
specifically ordered CBuffers, Samplers, SRVs, and then UAVs. Match this
behaviour so that we can pass the validator.

Fixes #130232.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DXC and the DXIL validator expect resources in a DX container to be
specifically ordered CBuffers, Samplers, SRVs, and then UAVs. Match this
behaviour so that we can pass the validator.

Fixes #130232.</pre>
</div>
</content>
</entry>
<entry>
<title>[DXIL] Add support for root signature flag element in DXContainer (#123147)</title>
<updated>2025-02-13T22:16:01+00:00</updated>
<author>
<name>joaosaffran</name>
<email>126493771+joaosaffran@users.noreply.github.com</email>
</author>
<published>2025-02-13T22:16:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1ff5f328d9824694cc356ebf78adad8816a6de86'/>
<id>1ff5f328d9824694cc356ebf78adad8816a6de86</id>
<content type='text'>
Adding support for Root Signature Flags Element extraction and writing
to DXContainer.
- Adding an analysis to deal with RootSignature metadata definition
- Adding validation for Flag
- writing RootSignature blob into DXIL

Closes: [126632](https://github.com/llvm/llvm-project/issues/126632)

---------

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 Signature Flags Element extraction and writing
to DXContainer.
- Adding an analysis to deal with RootSignature metadata definition
- Adding validation for Flag
- writing RootSignature blob into DXIL

Closes: [126632](https://github.com/llvm/llvm-project/issues/126632)

---------

Co-authored-by: joaosaffran &lt;joao.saffran@microsoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Split resource info into type and binding info. NFC (#119773)</title>
<updated>2024-12-18T16:02:28+00:00</updated>
<author>
<name>Justin Bogner</name>
<email>mail@justinbogner.com</email>
</author>
<published>2024-12-18T16:02:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3eca15cbb9888a992749ddd24f0fb666dad733bf'/>
<id>3eca15cbb9888a992749ddd24f0fb666dad733bf</id>
<content type='text'>
This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] Infrastructure to collect shader flags for each function (#112967)</title>
<updated>2024-11-25T21:02:46+00:00</updated>
<author>
<name>S. Bharadwaj Yadavalli</name>
<email>Bharadwaj.Yadavalli@microsoft.com</email>
</author>
<published>2024-11-25T21:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=96547decd5f12c4357b104d107350c8a14b47650'/>
<id>96547decd5f12c4357b104d107350c8a14b47650</id>
<content type='text'>
Currently, ShaderFlagsAnalysis pass represents various module-level
properties as well as function-level properties of a DXIL Module using a
single mask. However, one mask per function is needed for accurate
computation of shader flags mask, such as for entry function metadata
creation.

This change introduces a structure that wraps a sorted vector of
function-shader flag mask pairs that represent function properties
instead of a single shader flag mask that represents module properties
and properties of all functions. The result type of ShaderFlagsAnalysis
pass is changed to newly-defined structure type instead of a single
shader flags mask.

This allows accurate computation of shader flags of an entry function
(and all functions in a library shader) for use during its metadata
generation (DXILTranslateMetadata pass) and its feature flags in DX
container globals construction (DXContainerGlobals pass) based on the
shader flags mask of functions. However, note that the change to
implement propagation of such callee-based shader flags mask computation
is planned in a follow-on PR. Consequently, this PR changes shader flag
mask computation in DXILTranslateMetadata and DXContainerGlobals passes
to simply be a union of module flags and shader flags of all functions,
thereby retaining the existing effect of using a single shader flag
mask.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, ShaderFlagsAnalysis pass represents various module-level
properties as well as function-level properties of a DXIL Module using a
single mask. However, one mask per function is needed for accurate
computation of shader flags mask, such as for entry function metadata
creation.

This change introduces a structure that wraps a sorted vector of
function-shader flag mask pairs that represent function properties
instead of a single shader flag mask that represents module properties
and properties of all functions. The result type of ShaderFlagsAnalysis
pass is changed to newly-defined structure type instead of a single
shader flags mask.

This allows accurate computation of shader flags of an entry function
(and all functions in a library shader) for use during its metadata
generation (DXILTranslateMetadata pass) and its feature flags in DX
container globals construction (DXContainerGlobals pass) based on the
shader flags mask of functions. However, note that the change to
implement propagation of such callee-based shader flags mask computation
is planned in a follow-on PR. Consequently, this PR changes shader flag
mask computation in DXILTranslateMetadata and DXContainerGlobals passes
to simply be a union of module flags and shader flags of all functions,
thereby retaining the existing effect of using a single shader flag
mask.</pre>
</div>
</content>
</entry>
<entry>
<title>[DXIL] Consume Metadata Analysis information in passes (#108034)</title>
<updated>2024-09-23T23:00:20+00:00</updated>
<author>
<name>S. Bharadwaj Yadavalli</name>
<email>Bharadwaj.Yadavalli@microsoft.com</email>
</author>
<published>2024-09-23T23:00:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3734fa8c724ce2af2f69886ca97c05c6c3717c34'/>
<id>3734fa8c724ce2af2f69886ca97c05c6c3717c34</id>
<content type='text'>
- Changed `DXILTranslateMetadata::translateMetadata()` to consume DXIL
Metadata Analysis information. Subsumed into `DXILTranslateMetedata.cpp`
the functionality in `DXILMetadata.*` files - that are hence deleted.
- Changed `DXILPrepare` pass to consume DXIL Metadata Analysis
information.
- Renamed `ModuleMetadataInfo::ShaderStage` to
`ModuleMetadataInfo::ShaderProfile` to better convey what it represents.
- Updated `unknown` target shader stage specification in triples of a
couple of tests.
- Added new tests for additional verification of `DXILTranslateMetadata`
pass functionality.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Changed `DXILTranslateMetadata::translateMetadata()` to consume DXIL
Metadata Analysis information. Subsumed into `DXILTranslateMetedata.cpp`
the functionality in `DXILMetadata.*` files - that are hence deleted.
- Changed `DXILPrepare` pass to consume DXIL Metadata Analysis
information.
- Renamed `ModuleMetadataInfo::ShaderStage` to
`ModuleMetadataInfo::ShaderProfile` to better convey what it represents.
- Updated `unknown` target shader stage specification in triples of a
couple of tests.
- Added new tests for additional verification of `DXILTranslateMetadata`
pass functionality.</pre>
</div>
</content>
</entry>
<entry>
<title>[DirectX] generate resource table for PSV part (#106607)</title>
<updated>2024-09-13T00:41:20+00:00</updated>
<author>
<name>Xiang Li</name>
<email>python3kgae@outlook.com</email>
</author>
<published>2024-09-13T00:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=981bb9dcc926ec91e5c3dd9e5064740ab19e1928'/>
<id>981bb9dcc926ec91e5c3dd9e5064740ab19e1928</id>
<content type='text'>
Use DXILResourceWrapperPass to build the resource table.

Since DXILResourceWrapperPass operates on LLVM intrinsics rather than
DXIL operations, add addPreserved for DXILResourceWrapperPass in the
passes before DXContainerGlobals

Fixes #103275</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use DXILResourceWrapperPass to build the resource table.

Since DXILResourceWrapperPass operates on LLVM intrinsics rather than
DXIL operations, add addPreserved for DXILResourceWrapperPass in the
passes before DXContainerGlobals

Fixes #103275</pre>
</div>
</content>
</entry>
</feed>
