diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index acdb660e..710811c6 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -777,8 +777,9 @@ 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, - * or it will be relative-addressed. */ + * interpolation modes are different, 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;