Fix T91728: Cycles render artifacts with motion blur and object attributes

This commit is contained in:
Brecht Van Lommel 2021-09-27 17:38:53 +02:00 committed by Philipp Oeser
parent 6489f2212b
commit 5d8a7ba7de
Notes: blender-bot 2023-02-14 10:11:49 +01:00
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93
Referenced by issue #88449, Blender LTS: Maintenance Task 2.93
Referenced by issue #91728, Cycles render artefacts with motion blur turned on
1 changed files with 12 additions and 1 deletions

View File

@ -39,7 +39,18 @@ ccl_device_inline int find_attribute_motion(KernelGlobals *kg,
uint4 attr_map = kernel_tex_fetch(__attributes_map, attr_offset);
while (attr_map.x != id) {
attr_offset += ATTR_PRIM_TYPES;
if (UNLIKELY(attr_map.x == ATTR_STD_NONE)) {
if (UNLIKELY(attr_map.y == 0)) {
return (int)ATTR_STD_NOT_FOUND;
}
else {
/* Chain jump to a different part of the table. */
attr_offset = attr_map.z;
}
}
else {
attr_offset += ATTR_PRIM_TYPES;
}
attr_map = kernel_tex_fetch(__attributes_map, attr_offset);
}