ByteAddressBufferLoad<T> fails when T contains an enum value
Templated ByteAddressBuffer loads will generate a compiler error if used to load a struct containing an enumeration value (Explicit template arguments on intrinsic Load must be a single numeric type). We currently work around this issue by storing enums as plain uint, but it would be nice if it would work with the enumeration type directly.
Sample Program: https://godbolt.org/z/GvGzb16Ej
Related to #4735
Note: I think the fix for this is updating HlslTypes.cop to accept Enums. I think that should be safe, but @tex3d would know for sure.
@bob80905 - we should make sure that this works in clang.
It looks to me that this is now fixed with #7449. Tested on Compiler Explorer: https://godbolt.org/z/GvGzb16Ej
I think this just missed the 6.9 preview branch, but it should be available in our next non-preview release.