Module: vkd3d
Branch: master
Commit: b8280e4210df8504870410cb40eec3ff15867372
URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/b8280e4210df8504870410cb40eec…
Author: Conor McCarthy <cmccarthy(a)codeweavers.com>
Date: Thu Jan 4 11:23:16 2024 +1000
vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes.".
This reverts commit b5c067b41a173e2ab252d5a3588f807c3ade5b2a.
The commit causes regressions in other shaders because unused elements
do not have an interpolation mode.
---
libs/vkd3d-shader/ir.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c
index ab4aa60f..efbfa4b8 100644
--- a/libs/vkd3d-shader/ir.c
+++ b/libs/vkd3d-shader/ir.c
@@ -865,9 +865,8 @@ static bool shader_signature_merge(struct shader_signature *s, uint8_t range_map
f = &elements[j];
/* Merge different components of the same register unless sysvals are different,
- * interpolation modes are different, or it will be relative-addressed. */
+ * or it will be relative-addressed. */
if (f->register_index != e->register_index || f->sysval_semantic != e->sysval_semantic
- || f->interpolation_mode != e->interpolation_mode
|| range_map_get_register_count(range_map, f->register_index, f->mask) > 1)
break;