OpenSubdiv: Completely disable topology verification

Previously it was enabled for debug builds, now it is to be enabled
explicitly.

The reason for this is to reduce overhead when debugging other areas
which might involve subdivision surface. When conversion is to be
debugged set this manually in the code.
This commit is contained in:
Sergey Sharybin 2020-05-19 10:26:23 +02:00
parent 0d089ce881
commit 6fc9d106ad
4 changed files with 5 additions and 36 deletions

View File

@ -80,7 +80,6 @@ if(WITH_OPENSUBDIV)
internal/opensubdiv_converter_internal.h
internal/opensubdiv_evaluator_internal.h
internal/opensubdiv_internal.h
internal/opensubdiv_util.h
)

View File

@ -1,30 +0,0 @@
// Copyright 2015 Blender Foundation. All rights reserved.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// Author: Sergey Sharybin
#ifndef OPENSUBDIV_INTERNAL_H_
#define OPENSUBDIV_INTERNAL_H_
// Perform full topology validation when exporting it to OpenSubdiv.
#ifdef NDEBUG
// Never do for release builds.
# undef OPENSUBDIV_VALIDATE_TOPOLOGY
#else
# define OPENSUBDIV_VALIDATE_TOPOLOGY
#endif
#endif // OPENSUBDIV_INTERNAL_H_

View File

@ -21,7 +21,6 @@
#include "MEM_guardedalloc.h"
#include "internal/base/edge_map.h"
#include "internal/opensubdiv_converter_internal.h"
#include "internal/opensubdiv_internal.h"
#include "internal/opensubdiv_util.h"
#include "internal/topology/topology_refiner_impl.h"

View File

@ -28,7 +28,6 @@
#include <opensubdiv/far/topologyRefinerFactory.h>
#include "internal/opensubdiv_converter_internal.h"
#include "internal/opensubdiv_internal.h"
#include "internal/opensubdiv_util.h"
#include "opensubdiv_converter_capi.h"
@ -293,9 +292,11 @@ TopologyRefinerFactoryType::Options getTopologyRefinerOptions(OpenSubdiv_Convert
const SchemeType scheme_type = getSchemeTypeFromCAPI(converter->getSchemeType(converter));
TopologyRefinerFactoryType::Options topology_options(scheme_type, sdc_options);
#ifdef OPENSUBDIV_VALIDATE_TOPOLOGY
topology_options.validateFullTopology = true;
#endif
// NOTE: When debugging topology conversion related functionality it is helpful to set this
// to truth. In all other cases leave it at false. so debugging of other areas is not affected
// by performance penalty happening in this module.
topology_options.validateFullTopology = false;
return topology_options;
}