vkd3d-shader/ir: Set the signature sort indices in shader_signature_merge().

Since the sort index is just a convenience field it is more
appropriate to only set it where it is required, instead of
requiring all frontends and passes to retain sensible values for
it.
This commit is contained in:
Giovanni Mascellani
2024-10-08 16:26:53 +02:00
committed by Henri Verbeet
parent c332adaa68
commit cd74461d6d
Notes: Henri Verbeet 2024-10-08 22:12:25 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1161
3 changed files with 6 additions and 2 deletions

View File

@@ -1471,6 +1471,9 @@ static bool shader_signature_merge(struct shader_signature *s, uint8_t range_map
return false;
memcpy(elements, s->elements, element_count * sizeof(*elements));
for (i = 0; i < element_count; ++i)
elements[i].sort_index = i;
qsort(elements, element_count, sizeof(elements[0]), signature_element_register_compare);
for (i = 0, new_count = 0; i < element_count; i = j, elements[new_count++] = *e)