This adds all of the information used by the spirv backend to declare descriptor variables. Most of these are added to the internal vkd3d_shader_scan_descriptor_info1 structure, but patch 5/5 adds a flag to enum vkd3d_shader_descriptor_info_flag, which is public API.
The ultimate goal here is to declare SPIR-V descriptor variables from the scanned descriptor information, thereby avoiding the need to synthesize DCL instructions for frontends that don't have them (specifically sm1, but it may be that sm6 would benefit from this as well).
That work is visible here:
https://gitlab.winehq.org/zfigura/vkd3d/-/tree/himavant5
--
This is a follow-up to the already-approved 295, which I am submitting now so that we're not blocked on Alexandre's vacation.
-- v2: vkd3d-shader: Add a flag marking raw buffers to struct vkd3d_shader_descriptor_info. vkd3d-shader: Add structure stride to struct vkd3d_shader_descriptor_info1. vkd3d-shader: Add constant buffer size to struct vkd3d_shader_descriptor_info1. vkd3d-shader: Add sample count to struct vkd3d_shader_descriptor_info1. vkd3d-shader: Set descriptor flags in the caller to vkd3d_shader_scan_add_descriptor().