app: add/update some comments.
Keep multi-threading disable on the cage transform operation. It is now fixed but is a lot much slower than when single-threaded, making it painful to use on bigger images. So let's reenable later if we can improve this. See bug 787663.
This commit is contained in:
@ -111,8 +111,8 @@ gimp_operation_cage_transform_class_init (GimpOperationCageTransformClass *klass
|
|||||||
operation_class->get_cached_region = gimp_operation_cage_transform_get_cached_region;
|
operation_class->get_cached_region = gimp_operation_cage_transform_get_cached_region;
|
||||||
operation_class->no_cache = FALSE;
|
operation_class->no_cache = FALSE;
|
||||||
operation_class->get_bounding_box = gimp_operation_cage_transform_get_bounding_box;
|
operation_class->get_bounding_box = gimp_operation_cage_transform_get_bounding_box;
|
||||||
/* XXX Temporarily disable multi-threading on this operation until it
|
/* XXX Temporarily disable multi-threading on this operation because
|
||||||
* is fixed. See bug 787663.
|
* it is much faster when single-threaded. See bug 787663.
|
||||||
*/
|
*/
|
||||||
operation_class->threaded = FALSE;
|
operation_class->threaded = FALSE;
|
||||||
|
|
||||||
@ -383,6 +383,9 @@ gimp_operation_cage_transform_interpolate_source_coords_recurs (GimpOperationCag
|
|||||||
GeglRectangle rect = { 0, 0, 1, 1 };
|
GeglRectangle rect = { 0, 0, 1, 1 };
|
||||||
gint xmin, xmax, ymin, ymax;
|
gint xmin, xmax, ymin, ymax;
|
||||||
|
|
||||||
|
/* Stop recursion if all 3 vertices of the triangle are outside the
|
||||||
|
* ROI (left/right or above/below).
|
||||||
|
*/
|
||||||
if (p1_d.x >= roi->x + roi->width &&
|
if (p1_d.x >= roi->x + roi->width &&
|
||||||
p2_d.x >= roi->x + roi->width &&
|
p2_d.x >= roi->x + roi->width &&
|
||||||
p3_d.x >= roi->x + roi->width) return;
|
p3_d.x >= roi->x + roi->width) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user