You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
HLSL has a bunch of different casting builtins that are all spelled differently and not templated. That makes it difficult for template code to cast to the appropriate type if the type is a template parameter.
Describe the solution you'd like
It would be awesome to add a templated bit_cast operation. Such a casting operation was added as an implementation detail in:
btw since then we've learned that SPIR-V is a bit "special" and you can't bit-cast everything, only between fundametal types (scalar, vector, matrix) and sometimes Physical Pointer and uint64_t.
One would need some special memcpy for this otherwise.
Is your feature request related to a problem? Please describe.
HLSL has a bunch of different casting builtins that are all spelled differently and not templated. That makes it difficult for template code to cast to the appropriate type if the type is a template parameter.
Describe the solution you'd like
It would be awesome to add a templated
bit_cast
operation. Such a casting operation was added as an implementation detail in:llvm/llvm-project#107292
I suspect we could create a similar header-implemented interface for DXC as well using type traits.
The text was updated successfully, but these errors were encountered: