On Mon, 11 Oct 2021 at 16:23, Conor McCarthy <cmccarthy(a)codeweavers.com> wrote:
@@ -2627,6 +2629,16 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s shader_interface.push_constant_buffer_count = root_signature->root_constant_count; shader_interface.combined_samplers = NULL; shader_interface.combined_sampler_count = 0; + chain_next = &shader_interface.next; + + if (root_signature->binding_offsets) + { + shader_interface.next = &offset_info; + offset_info.type = VKD3D_SHADER_STRUCTURE_TYPE_BINDING_OFFSET_INFO; + offset_info.next = NULL; + offset_info.binding_offsets = root_signature->binding_offsets; + chain_next = &offset_info.next; + }
It may be worth introducing a vkd3d equivalent of vk_prepend_struct() for this kind of thing.