Revision tags: llvmorg-21-init, llvmorg-19.1.7 |
|
#
0e2466f6 |
| 18-Dec-2024 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Create symbols for resource handles (#119775)
We need to create symbols with "the original shape of resource and
element type" to put in the resource metadata in order to generate valid
[DirectX] Create symbols for resource handles (#119775)
We need to create symbols with "the original shape of resource and
element type" to put in the resource metadata in order to generate valid
DXIL.
Note that DXC generally doesn't emit an actual symbol outside of library
shaders (it emits an undef of a pointer to the type), but since we have
to deal with opaque pointers we would need a way to smuggle the type
through to match that. Instead, we simply emit symbols for now.
Fixed #116849
show more ...
|
#
3eca15cb |
| 18-Dec-2024 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Split resource info into type and binding info. NFC (#119773)
This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immuta
[DirectX] Split resource info into type and binding info. NFC (#119773)
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
show more ...
|
#
65d2177a |
| 17-Dec-2024 |
Justin Bogner <mail@justinbogner.com> |
[DXIL] Simplify MDBuilder in resource unit tests. NFC (#120275)
|
Revision tags: llvmorg-19.1.6 |
|
#
482237e8 |
| 16-Dec-2024 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Get resource information via TargetExtType (#119772)
Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the i
[DirectX] Get resource information via TargetExtType (#119772)
Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the information
that we can via the type itself.
This also means we need to handle some of the target extension types we
haven't fully defined yet, like Texture and CBuffer. For now we make an
educated guess to what those should look like based on llvm/wg-hlsl#76,
and we can update them fairly easily when we've defined them more
thoroughly.
First part of #118400
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0 |
|
#
52b48a70 |
| 13-Sep-2024 |
JOE1994 <joseph942010@gmail.com> |
[llvm][unittests] Strip unneeded use of raw_string_ostream::str() (NFC)
Avoid excess layer of indirection.
|
Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
6992ebcb |
| 30-Jul-2024 |
Justin Bogner <mail@justinbogner.com> |
Reapply "[DXIL][Analysis] Make alignment on StructuredBuffer optional" (#101113)
Unfortunately storing a `MaybeAlign` in ResourceInfo deletes our move
constructor in compilers that haven't implemen
Reapply "[DXIL][Analysis] Make alignment on StructuredBuffer optional" (#101113)
Unfortunately storing a `MaybeAlign` in ResourceInfo deletes our move
constructor in compilers that haven't implemented [P0602R4], like GCC 7.
Since we only ever use the alignment in ways where alignment 1 and unset
are ambiguous anyway, we'll just store the integer AlignLog2 value that
we'll eventually use directly.
[P0602R4]:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0602r4.html
This reverts commit c22171f12fa9f260e2525cf61b93c136889e17f2, reapplying
a94edb6b8e321a46fe429934236aaa4e2e9fb97f.
show more ...
|
#
c22171f1 |
| 29-Jul-2024 |
Justin Bogner <mail@justinbogner.com> |
Revert "[DXIL][Analysis] Make alignment on StructuredBuffer optional" (#101088)
Seeing build failures, reverting to investigate.
Reverts llvm/llvm-project#100697
|
#
a94edb6b |
| 29-Jul-2024 |
Justin Bogner <mail@justinbogner.com> |
[DXIL][Analysis] Make alignment on StructuredBuffer optional
HLSL allows StructuredBuffer<> to be defined with scalar or up-to-4-element vectors as well as with structs, but when doing so `dxc` does
[DXIL][Analysis] Make alignment on StructuredBuffer optional
HLSL allows StructuredBuffer<> to be defined with scalar or up-to-4-element vectors as well as with structs, but when doing so `dxc` doesn't set the alignment. Emulate this.
Pull Request: https://github.com/llvm/llvm-project/pull/100697
show more ...
|
Revision tags: llvmorg-19.1.0-rc1 |
|
#
59e91d4c |
| 25-Jul-2024 |
Justin Bogner <mail@justinbogner.com> |
[DXIL][Analysis] Make the DXILResource binding optional. NFC
This makes the binding structure in a DXILResource default to empty and need a separate call to set up, and also moves the unique ID into
[DXIL][Analysis] Make the DXILResource binding optional. NFC
This makes the binding structure in a DXILResource default to empty and need a separate call to set up, and also moves the unique ID into it since bindings are the only place where those are actually used.
This will put us in a better position when dealing with resource handles in libraries.
Pull Request: https://github.com/llvm/llvm-project/pull/100623
show more ...
|
#
b365dbbd |
| 25-Jul-2024 |
Justin Bogner <mail@justinbogner.com> |
[DXIL][Analysis] Move dxil::ResourceInfo to the Analysis library. NFC
I had put this in Transforms/Utils, but that doesn't actually make sense if we want to populate these structures via an analysis
[DXIL][Analysis] Move dxil::ResourceInfo to the Analysis library. NFC
I had put this in Transforms/Utils, but that doesn't actually make sense if we want to populate these structures via an analysis pass.
Pull Request: https://github.com/llvm/llvm-project/pull/100621
show more ...
|