A mix of a miscellaneous fixes:
* Fixes to failed asserts I have stumbled upon when implementing other features. * Checks required for properly supporting object components. * A couple of code improvements.
-- v3: vkd3d-shader/hlsl: Use reg_size as component count when allocating a single register. vkd3d-shader/hlsl: For arrays, return components' base type in sm1_base_type(). vkd3d-shader/hlsl: Validate that objects are not components of structs in shader models < 5. tests: Add SM5 requirement to tests with object components. vkd3d-shader/hlsl: Don't allocate object types as constant registers. vkd3d-shader/hlsl: Make hlsl_type_get_component_type() type argument const.