On Wed Nov 16 19:20:40 2022 +0000, Conor McCarthy wrote:
The SSA register type needs to marked as a scalar or vector because use of the symbol tree and get_register_info() is avoided for simplicity and performance. Immediate constants already have enum vkd3d_immconst_type, which is the most logical place for the info if it's renamed appropriately. Does enum vkd3d_static_type and VKD3D_STATIC_SCALAR, etc., look right?
I think that makes sense, at least. The native HLSL compiler actually emits that field on all parameters, it's just that only immconsts actually care (since we can infer it in every other case from the register type).
FWIW, elsewhere in vkd3d-shader we call that "dimension".