Fix T54337: Cycles crash with simple subd object in debug build
This commit is contained in:
@@ -204,7 +204,9 @@ public:
|
|||||||
src = dest;
|
src = dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(num_refiner_verts) {
|
||||||
patch_table->ComputeLocalPointValues(&verts[0], &verts[num_refiner_verts]);
|
patch_table->ComputeLocalPointValues(&verts[0], &verts[num_refiner_verts]);
|
||||||
|
}
|
||||||
|
|
||||||
/* create patch map */
|
/* create patch map */
|
||||||
patch_map = new Far::PatchMap(*patch_table);
|
patch_map = new Far::PatchMap(*patch_table);
|
||||||
@@ -236,6 +238,7 @@ public:
|
|||||||
src = dest;
|
src = dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(num_refiner_verts) {
|
||||||
if(attr.same_storage(attr.type, TypeDesc::TypeFloat)) {
|
if(attr.same_storage(attr.type, TypeDesc::TypeFloat)) {
|
||||||
patch_table->ComputeLocalPointValues((OsdValue<float>*)&attr.buffer[0],
|
patch_table->ComputeLocalPointValues((OsdValue<float>*)&attr.buffer[0],
|
||||||
(OsdValue<float>*)&attr.buffer[num_refiner_verts * attr.data_sizeof()]);
|
(OsdValue<float>*)&attr.buffer[num_refiner_verts * attr.data_sizeof()]);
|
||||||
@@ -245,6 +248,7 @@ public:
|
|||||||
(OsdValue<float4>*)&attr.buffer[num_refiner_verts * attr.data_sizeof()]);
|
(OsdValue<float4>*)&attr.buffer[num_refiner_verts * attr.data_sizeof()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if(attr.element == ATTR_ELEMENT_CORNER || attr.element == ATTR_ELEMENT_CORNER_BYTE) {
|
else if(attr.element == ATTR_ELEMENT_CORNER || attr.element == ATTR_ELEMENT_CORNER_BYTE) {
|
||||||
// TODO(mai): fvar interpolation
|
// TODO(mai): fvar interpolation
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user