This needs spirv changes to make any tests pass, but this series is already long enough. Not sure what to do about initialisers; we can't use `DCL_IMMEDIATE_CONSTANT_BUFFER` because it emits a variable,
Is the issue purely that the shader may write to the variable, or are there other reasons that can't work? If what we want is essentially a writeable icb, we could perhaps consider adding a "data[]" field to the vkd3d_shader_indexable_temp structure, analogous to struct vkd3d_shader_immediate_constant_buffer.