[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61669] trunk/lib/win64_vc14/opensubdiv: MSVC 2015 windows x64 (vc140) OpenSubDiv (cf7135eb2a77d7907192fb3be4da7caa1e708f96)

Martijn Berger martijn.berger at gmail.com
Tue May 31 14:23:31 CEST 2016


Revision: 61669
          https://developer.blender.org/rBL61669
Author:   juicyfruit
Date:     2016-05-31 14:23:31 +0200 (Tue, 31 May 2016)
Log Message:
-----------
MSVC 2015 windows x64 (vc140) OpenSubDiv  (cf7135eb2a77d7907192fb3be4da7caa1e708f96)

Added Paths:
-----------
    trunk/lib/win64_vc14/opensubdiv/
    trunk/lib/win64_vc14/opensubdiv/bin/
    trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe
    trunk/lib/win64_vc14/opensubdiv/include/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/error.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchDescriptor.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchMap.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchParam.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchTableFactory.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/primvarRefiner.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/ptexIndices.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/stencilTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/stencilTableFactory.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/topologyDescriptor.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/topologyLevel.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/topologyRefiner.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/topologyRefinerFactory.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/types.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/allocator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/bilinear.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/catmark.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/cornerEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/creaseEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/face.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/faceEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/fvarData.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/fvarEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/halfedge.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/hierarchicalEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/holeEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/loop.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/mesh.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/subdivision.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/vertex.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/hbr/vertexEdit.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/bufferDescriptor.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/clEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/clGLVertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/clPatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/clVertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/cpuD3D11VertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/cpuEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/cpuGLVertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/cpuPatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/cpuVertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/d3d11ComputeEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/d3d11LegacyGregoryPatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/d3d11Mesh.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/d3d11PatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/d3d11VertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glComputeEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glLegacyGregoryPatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glMesh.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glPatchTable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glVertexBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glXFBEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/glslPatchShaderSource.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/hlslPatchShaderSource.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/mesh.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/nonCopyable.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/ompEvaluator.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/ompKernel.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/opencl.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/opengl.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/osd/types.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/bilinearScheme.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/catmarkScheme.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/crease.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/loopScheme.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/options.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/scheme.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/sdc/types.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/version.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/array.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/componentInterfaces.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/fvarLevel.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/fvarRefinement.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/level.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/refinement.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/sparseSelector.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/stackBuffer.h
    trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/vtr/types.h
    trunk/lib/win64_vc14/opensubdiv/lib/
    trunk/lib/win64_vc14/opensubdiv/lib/osdCPU.lib
    trunk/lib/win64_vc14/opensubdiv/lib/osdCPU_d.lib
    trunk/lib/win64_vc14/opensubdiv/lib/osdGPU.lib
    trunk/lib/win64_vc14/opensubdiv/lib/osdGPU_d.lib

Added: trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe
===================================================================
(Binary files differ)

Index: trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe
===================================================================
--- trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe	2016-05-31 12:22:09 UTC (rev 61668)
+++ trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe	2016-05-31 12:23:31 UTC (rev 61669)

Property changes on: trunk/lib/win64_vc14/opensubdiv/bin/stringify.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/error.h
===================================================================
--- trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/error.h	                        (rev 0)
+++ trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/error.h	2016-05-31 12:23:31 UTC (rev 61669)
@@ -0,0 +1,95 @@
+//
+//   Copyright 2013 Pixar
+//
+//   Licensed under the Apache License, Version 2.0 (the "Apache License")
+//   with the following modification; you may not use this file except in
+//   compliance with the Apache License and the following modification to it:
+//   Section 6. Trademarks. is deleted and replaced with:
+//
+//   6. Trademarks. This License does not grant permission to use the trade
+//      names, trademarks, service marks, or product names of the Licensor
+//      and its affiliates, except as required to comply with Section 4(c) of
+//      the License and to reproduce the content of the NOTICE file.
+//
+//   You may obtain a copy of the Apache License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the Apache License with the above modification is
+//   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//   KIND, either express or implied. See the Apache License for the specific
+//   language governing permissions and limitations under the Apache License.
+//
+
+#ifndef OPENSUBDIV3_FAR_ERROR_H
+#define OPENSUBDIV3_FAR_ERROR_H
+
+#include "../version.h"
+
+namespace OpenSubdiv {
+namespace OPENSUBDIV_VERSION {
+
+namespace Far {
+
+typedef enum {
+    FAR_NO_ERROR,               ///< No error. Move along.
+    FAR_FATAL_ERROR,            ///< Issue a fatal error and end the program.
+    FAR_INTERNAL_CODING_ERROR,  ///< Issue an internal programming error, but continue execution.
+    FAR_CODING_ERROR,           ///< Issue a generic programming error, but continue execution.
+    FAR_RUNTIME_ERROR           ///< Issue a generic runtime error, but continue execution.
+} ErrorType;
+
+
+/// \brief The error callback function type (default is "printf")
+typedef void (*ErrorCallbackFunc)(ErrorType err, const char *message);
+
+/// \brief Sets the error callback function (default is "printf")
+///
+/// \note This function is not thread-safe !
+///
+/// @param func function pointer to the callback function
+///
+void SetErrorCallback(ErrorCallbackFunc func);
+
+
+/// \brief The warning callback function type (default is "printf")
+typedef void (*WarningCallbackFunc)(const char *message);
+
+/// \brief Sets the warning callback function (default is "printf")
+///
+/// \note This function is not thread-safe !
+///
+/// @param func function pointer to the callback function
+///
+void SetWarningCallback(WarningCallbackFunc func);
+
+
+//
+//  The following are intended for internal use only (and will eventually
+//  be moved within namespace internal)
+//
+
+/// \brief Sends an OSD error with a message (internal use only)
+///
+/// @param err     the error type
+///
+/// @param format  the format of the message (followed by arguments)
+///
+void Error(ErrorType err, const char *format, ...);
+
+/// \brief Sends an OSD warning message (internal use only)
+///
+/// @param format  the format of the message (followed by arguments)
+///
+void Warning(const char *format, ...);
+
+
+} // end namespace
+
+} // end namespace OPENSUBDIV_VERSION
+using namespace OPENSUBDIV_VERSION;
+
+} // end namespace OpenSubdiv
+
+#endif // OPENSUBDIV3_FAR_ERROR_H

Added: trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchDescriptor.h
===================================================================
--- trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchDescriptor.h	                        (rev 0)
+++ trunk/lib/win64_vc14/opensubdiv/include/opensubdiv/far/patchDescriptor.h	2016-05-31 12:23:31 UTC (rev 61669)
@@ -0,0 +1,206 @@
+//
+//   Copyright 2013 Pixar
+//
+//   Licensed under the Apache License, Version 2.0 (the "Apache License")
+//   with the following modification; you may not use this file except in
+//   compliance with the Apache License and the following modification to it:
+//   Section 6. Trademarks. is deleted and replaced with:
+//
+//   6. Trademarks. This License does not grant permission to use the trade
+//      names, trademarks, service marks, or product names of the Licensor
+//      and its affiliates, except as required to comply with Section 4(c) of
+//      the License and to reproduce the content of the NOTICE file.
+//
+//   You may obtain a copy of the Apache License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the Apache License with the above modification is
+//   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//   KIND, either express or implied. See the Apache License for the specific
+//   language governing permissions and limitations under the Apache License.
+//
+
+#ifndef OPENSUBDIV3_FAR_PATCH_DESCRIPTOR_H
+#define OPENSUBDIV3_FAR_PATCH_DESCRIPTOR_H
+
+#include "../version.h"
+
+#include "../far/types.h"
+#include "../sdc/types.h"
+
+#include <vector>
+
+namespace OpenSubdiv {
+namespace OPENSUBDIV_VERSION {
+
+namespace Far {
+
+/// \brief Describes the type of a patch
+///
+/// Uniquely identifies all the different types of patches
+///
+/// * Uniformly subdivided meshes contain bilinear patches of either QUADS
+///   or TRIANGLES
+///
+/// * Adaptively subdivided meshes contain bicubic patches of types REGULAR,
+///   GREGORY, GREGORY_BOUNDARY, GREGORY_BASIS.
+///
+/// Bitfield layout :
+///
+///  Field       | Bits | Content
+///  ------------|:----:|------------------------------------------------------
+///  _type       | 4    | patch type
+///
+class PatchDescriptor {
+
+public:
+
+    enum Type {
+        NON_PATCH = 0,     ///< undefined
+
+        POINTS,            ///< points (useful for cage drawing)
+        LINES,             ///< lines  (useful for cage drawing)
+
+        QUADS,             ///< bilinear quads-only patches
+        TRIANGLES,         ///< bilinear triangles-only mesh
+
+        LOOP,              ///< Loop patch
+
+        REGULAR,           ///< feature-adaptive bicubic patches
+        GREGORY,
+        GREGORY_BOUNDARY,
+        GREGORY_BASIS
+    };
+
+public:
+
+    /// \brief Default constructor.
+    PatchDescriptor() :
+        _type(NON_PATCH) { }
+
+    /// \brief Constructor
+    PatchDescriptor(int type) :
+        _type(type) { }
+
+    /// \brief Copy Constructor
+    PatchDescriptor( PatchDescriptor const & d ) :
+        _type(d.GetType()) { }
+
+    /// \brief Returns the type of the patch
+    Type GetType() const {
+        return (Type)_type;
+    }
+
+    /// \brief Returns true if the type is an adaptive patch
+    static inline bool IsAdaptive(Type type) {
+        return (type>=LOOP and type<=GREGORY_BASIS);
+    }
+
+    /// \brief Returns true if the type is an adaptive patch
+    bool IsAdaptive() const {
+        return IsAdaptive( this->GetType() );
+    }
+
+    /// \brief Returns the number of control vertices expected for a patch of the
+    /// type described
+    static inline short GetNumControlVertices( Type t );
+
+    static inline short GetNumFVarControlVertices( Type t );
+
+    /// \brief Returns the number of control vertices expected for a patch of the
+    /// type described
+    short GetNumControlVertices() const {
+        return GetNumControlVertices( this->GetType() );
+    }
+
+    /// \brief Returns the number of control vertices expected for a patch of the
+    /// type described
+    short GetNumFVarControlVertices() const {
+        return GetNumFVarControlVertices( this->GetType() );
+    }
+
+    /// \brief Number of control vertices of Regular Patches in table.
+    static short GetRegularPatchSize() { return 16; }
+
+    /// \brief Number of control vertices of Gregory (and Gregory Boundary) Patches in table.
+    static short GetGregoryPatchSize() { return 4; }
+
+    /// \brief Number of control vertices of Gregory patch basis (20)
+    static short GetGregoryBasisPatchSize() { return 20; }
+
+
+    /// \brief Returns a vector of all the legal patch descriptors for the
+    ///        given adaptive subdivision scheme
+    static Vtr::ConstArray<PatchDescriptor> GetAdaptivePatchDescriptors(Sdc::SchemeType type);
+
+    /// \brief Allows ordering of patches by type
+    inline bool operator < ( PatchDescriptor const other ) const;
+
+    /// \brief True if the descriptors are identical
+    inline bool operator == ( PatchDescriptor const other ) const;
+
+    // debug helper
+    void print() const;
+
+private:
+    unsigned int  _type:4;
+};
+
+typedef Vtr::ConstArray<PatchDescriptor> ConstPatchDescriptorArray;
+
+// Returns the number of control vertices expected for a patch of this type
+inline short
+PatchDescriptor::GetNumControlVertices( Type type ) {
+    switch (type) {
+        case REGULAR           : return GetRegularPatchSize();
+        case QUADS             : return 4;
+        case GREGORY           :
+        case GREGORY_BOUNDARY  : return GetGregoryPatchSize();
+        case GREGORY_BASIS     : return GetGregoryBasisPatchSize();
+        case TRIANGLES         : return 3;
+        case LINES             : return 2;
+        case POINTS            : return 1;
+        default : return -1;
+    }
+}
+
+// Returns the number of face-varying control vertices expected for a patch of this type
+inline short
+PatchDescriptor::GetNumFVarControlVertices( Type type ) {
+    switch (type) {
+        case REGULAR           : return GetRegularPatchSize();

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list