lower I thresh for orc compile
fixes a segv with very large and complex morph masks
This commit is contained in:
parent
15c5f330c4
commit
b8d977544c
@ -270,9 +270,11 @@ vips_vector_full( VipsVector *vector )
|
|||||||
if( vector->n_source + vector->n_scanline + 1 > 7 )
|
if( vector->n_source + vector->n_scanline + 1 > 7 )
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
|
|
||||||
/* I seem to get segvs with I counts over about 50 :-( argh.
|
/* I seem to get segvs with I counts over about 50 :-( argh. After
|
||||||
|
* signalling full, some operations will add up to 4 more instructions
|
||||||
|
* as they finish up. Leave a margin.
|
||||||
*/
|
*/
|
||||||
if( vector->n_instruction > 45 )
|
if( vector->n_instruction > 42 )
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
|
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
@ -284,6 +286,8 @@ vips_vector_compile( VipsVector *vector )
|
|||||||
#ifdef HAVE_ORC
|
#ifdef HAVE_ORC
|
||||||
OrcCompileResult result;
|
OrcCompileResult result;
|
||||||
|
|
||||||
|
vips_vector_print( vector );
|
||||||
|
|
||||||
result = orc_program_compile( vector->program );
|
result = orc_program_compile( vector->program );
|
||||||
if( !ORC_COMPILE_RESULT_IS_SUCCESSFUL( result ) ) {
|
if( !ORC_COMPILE_RESULT_IS_SUCCESSFUL( result ) ) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
Loading…
Reference in New Issue
Block a user