[Bf-blender-cvs] [df64d865e1c] soc-2018-npr: Merge branch 'master' into soc-2018-npr

Yiming Wu noreply at git.blender.org
Sat Apr 20 06:52:00 CEST 2019


Commit: df64d865e1c7f1f278a11f7266cb173a9644aff1
Author: Yiming Wu
Date:   Sat Apr 20 12:51:21 2019 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBdf64d865e1c7f1f278a11f7266cb173a9644aff1

Merge branch 'master' into soc-2018-npr

# Conflicts:
#	intern/opensubdiv/internal/opensubdiv_evaluator.cc
#	intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
#	release/scripts/startup/bl_ui/properties_data_modifier.py
#	source/blender/CMakeLists.txt
#	source/blender/blenkernel/intern/scene.c
#	source/blender/blenloader/intern/readfile.c
#	source/blender/blenloader/intern/versioning_280.c
#	source/blender/blenloader/intern/writefile.c
#	source/blender/bmesh/intern/bmesh_polygon.c
#	source/blender/draw/CMakeLists.txt
#	source/blender/draw/intern/draw_manager.c
#	source/blender/draw/modes/object_mode.c
#	source/blender/editors/mesh/editmesh_tools.c
#	source/blender/editors/mesh/mesh_ops.c
#	source/blender/editors/render/render_intern.h
#	source/blender/editors/render/render_ops.c
#	source/blender/editors/space_outliner/outliner_draw.c
#	source/blender/editors/space_view3d/space_view3d.c
#	source/blender/makesdna/DNA_light_types.h
#	source/blender/makesdna/DNA_modifier_types.h
#	source/blender/makesdna/DNA_scene_types.h
#	source/blender/makesdna/intern/makesdna.c
#	source/blender/makesrna/intern/CMakeLists.txt
#	source/blender/makesrna/intern/makesrna.c
#	source/blender/makesrna/intern/rna_modifier.c
#	source/blender/makesrna/intern/rna_scene.c
#	source/blender/modifiers/CMakeLists.txt
#	source/blender/modifiers/intern/MOD_util.c

===================================================================



===================================================================

diff --cc intern/opensubdiv/internal/opensubdiv_evaluator.cc
index 0fe9c7567ea,2500691885c..a8253a144e2
--- a/intern/opensubdiv/internal/opensubdiv_evaluator.cc
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator.cc
@@@ -99,44 -91,33 +91,52 @@@ void refine(OpenSubdiv_Evaluator *evalu
    evaluator->internal->eval_output->refine();
  }
  
- void evaluateLimit(OpenSubdiv_Evaluator* evaluator,
+ void evaluateLimit(OpenSubdiv_Evaluator *evaluator,
                     const int ptex_face_index,
-                    const float face_u, const float face_v,
-                    float P[3], float dPdu[3], float dPdv[3]) {
-   evaluator->internal->eval_output->evaluateLimit(ptex_face_index,
-                                                   face_u, face_v,
-                                                   P, dPdu, dPdv);
+                    const float face_u,
+                    const float face_v,
+                    float P[3],
+                    float dPdu[3],
+                    float dPdv[3])
+ {
+   evaluator->internal->eval_output->evaluateLimit(ptex_face_index, face_u, face_v, P, dPdu, dPdv);
  }
  
++<<<<<<< HEAD
 +void evaluateLimit2(OpenSubdiv_Evaluator* evaluator,
 +                   const int ptex_face_index,
 +                   const float face_u, const float face_v,
 +				   float P[3],
 +				   float dPdu[3],
 +				   float dPdv[3],
 +				   float dPduu[3],
 +				   float dPduv[3],
 +				   float dPdvv[3]) {
 +  evaluator->internal->eval_output->evaluateLimit2(ptex_face_index,
 +                                                  face_u, face_v,
 +                                                  P, dPdu, dPdv,
 +												  dPduu, dPduv, dPdvv);
 +}
 +
 +void evaluateVarying(OpenSubdiv_Evaluator* evaluator,
++=======
+ void evaluateVarying(OpenSubdiv_Evaluator *evaluator,
++>>>>>>> master
                       const int ptex_face_index,
-                      float face_u, float face_v,
-                      float varying[3]) {
-   evaluator->internal->eval_output->evaluateVarying(ptex_face_index,
-                                                     face_u, face_v,
-                                                     varying);
+                      float face_u,
+                      float face_v,
+                      float varying[3])
+ {
+   evaluator->internal->eval_output->evaluateVarying(ptex_face_index, face_u, face_v, varying);
  }
  
- void evaluateFaceVarying(OpenSubdiv_Evaluator* evaluator,
+ void evaluateFaceVarying(OpenSubdiv_Evaluator *evaluator,
                           const int face_varying_channel,
                           const int ptex_face_index,
-                          float face_u, float face_v,
-                          float face_varying[2]) {
+                          float face_u,
+                          float face_v,
+                          float face_varying[2])
+ {
    evaluator->internal->eval_output->evaluateFaceVarying(
        face_varying_channel, ptex_face_index, face_u, face_v, face_varying);
  }
diff --cc intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
index 810ec4a8f91,fa45c0119ec..ccc0ec846f7
--- a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
@@@ -458,70 -461,8 +461,75 @@@ class VolatileEvalOutput 
      }
    }
  
++<<<<<<< HEAD
 +  void evalPatchesWithDerivatives2(const PatchCoord& patch_coord,
 +		  float P[3],
 +		  float dPdu[3],
 +		  float dPdv[3],
 +		  float dPduu[3],
 +		  float dPduv[3],
 +		  float dPdvv[3])
 +  {
 +	  StackAllocatedBuffer<6, 1> vertex_data;
 +	  StackAllocatedBuffer<6, 1> derivatives;
 +	  StackAllocatedBuffer<6, 1> derivatives1;
 +	  StackAllocatedBuffer<6, 1> derivatives2;
 +	  BufferDescriptor vertex_desc(0, 3, 6),
 +					   du_desc(0, 3, 6),
 +					   dv_desc(3, 3, 6),
 +					   duu_desc(0, 3, 6),
 +					   duv_desc(3, 3, 6),
 +					   dvv_desc(0, 3, 6);
 +	  SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
 +	  const EVALUATOR *eval_instance =
 +		  OpenSubdiv::Osd::GetEvaluator<EVALUATOR>(evaluator_cache_,
 +				  src_desc_,
 +				  vertex_desc,
 +				  du_desc,
 +				  dv_desc,
 +				  duu_desc,
 +				  duv_desc,
 +				  dvv_desc,
 +				  device_context_);
 +	  EVALUATOR::EvalPatches(src_data_, src_desc_,
 +			  &vertex_data, vertex_desc,
 +			  &derivatives, du_desc,
 +			  &derivatives, dv_desc,
 +			  &derivatives1, duu_desc,
 +			  &derivatives1, duv_desc,
 +			  &derivatives2, dvv_desc,
 +			  patch_coord_buffer.GetNumVertices(),
 +			  &patch_coord_buffer,
 +			  patch_table_, eval_instance, device_context_);
 +	  float *refined_verts = vertex_data.BindCpuBuffer();
 +	  memcpy(P, refined_verts, sizeof(float) * 3);
 +	  if (dPdu != NULL || dPdv != NULL || dPduu != NULL || dPduv != NULL || dPdvv != NULL) {
 +		  float *refined_drivatives = derivatives.BindCpuBuffer();
 +		  float *refined_drivatives1 = derivatives1.BindCpuBuffer();
 +		  float *refined_drivatives2 = derivatives2.BindCpuBuffer();
 +		  if (dPdu) {
 +			  memcpy(dPdu, refined_drivatives, sizeof(float) * 3);
 +		  }
 +		  if (dPdv) {
 +			  memcpy(dPdv, refined_drivatives + 3, sizeof(float) * 3);
 +		  }
 +		  if (dPduu) {
 +			  memcpy(dPduu, refined_drivatives1, sizeof(float) * 3);
 +		  }
 +		  if (dPduv) {
 +			  memcpy(dPduv, refined_drivatives1 + 3, sizeof(float) * 3);
 +		  }
 +		  if (dPdvv) {
 +			  memcpy(dPdvv, refined_drivatives2, sizeof(float) * 3);
 +		  }
 +	  }
 +  }
 +
 +  void evalPatchVarying(const PatchCoord& patch_coord, float varying[3]) {
++=======
+   void evalPatchVarying(const PatchCoord &patch_coord, float varying[3])
+   {
++>>>>>>> master
      StackAllocatedBuffer<6, 1> varying_data;
      BufferDescriptor varying_desc(3, 3, 6);
      SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
@@@ -710,40 -654,17 +721,44 @@@ void CpuEvalOutputAPI::evaluateLimit(co
    PatchCoord patch_coord(*handle, face_u, face_v);
    if (dPdu != NULL || dPdv != NULL) {
      implementation_->evalPatchesWithDerivatives(patch_coord, P, dPdu, dPdv);
-   } else {
+   }
+   else {
      implementation_->evalPatchCoord(patch_coord, P);
-   }}
+   }
+ }
  
 +void CpuEvalOutputAPI::evaluateLimit2(const int ptex_face_index,
 +									  float face_u, float face_v,
 +									  float P[3],
 +									  float dPdu[3],
 +									  float dPdv[3],
 +									  float dPduu[3],
 +									  float dPduv[3],
 +									  float dPdvv[3]) {
 +  assert(face_u >= 0.0f);
 +  assert(face_u <= 1.0f);
 +  assert(face_v >= 0.0f);
 +  assert(face_v <= 1.0f);
 +  const PatchTable::PatchHandle* handle =
 +      patch_map_->FindPatch(ptex_face_index, face_u, face_v);
 +  PatchCoord patch_coord(*handle, face_u, face_v);
 +  if (dPdu != NULL || dPdv != NULL || dPduu != NULL || dPduv != NULL || dPdvv != NULL ) {
 +	implementation_->evalPatchesWithDerivatives2(patch_coord,
 +			  P,
 +			  dPdu,
 +			  dPdv,
 +			  dPduu,
 +			  dPduv,
 +			  dPdvv);
 +  } else {
 +    implementation_->evalPatchCoord(patch_coord, P);
 +  }}
 +
  void CpuEvalOutputAPI::evaluateVarying(const int ptex_face_index,
-                                        float face_u, float face_v,
-                                        float varying[3]) {
+                                        float face_u,
+                                        float face_v,
+                                        float varying[3])
+ {
    assert(face_u >= 0.0f);
    assert(face_u <= 1.0f);
    assert(face_v >= 0.0f);
diff --cc intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
index 4e5d396b57b,7c963227d17..d380b08fe54
--- a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
@@@ -96,22 -97,14 +97,23 @@@ class CpuEvalOutputAPI 
    // Evaluate given ptex face at given bilinear coordinate.
    // If derivatives are NULL, they will not be evaluated.
    void evaluateLimit(const int ptex_face_index,
-                      float face_u, float face_v,
-                      float P[3], float dPdu[3], float dPdv[3]);
+                      float face_u,
+                      float face_v,
+                      float P[3],
+                      float dPdu[3],
+                      float dPdv[3]);
  
 +  void evaluateLimit2(const int ptex_face_index,
 +		  			  float face_u, float face_v,
 +		  			  float P[3],
 +		  			  float dPdu[3],
 +		  			  float dPdv[3],
 +		  			  float dPduu[3],
 +		  			  float dPduv[3],
 +		  			  float dPdvv[3]);
 +
    // Evaluate varying data at a given bilinear coordinate of given ptex face.
-   void evaluateVarying(const int ptes_face_index,
-                        float face_u, float face_v,
-                        float varying[3]);
+   void evaluateVarying(const int ptes_face_index, float face_u, float face_v, float varying[3]);
  
    // Evaluate facee-varying data at a given bilinear coordinate of given
    // ptex face.
diff --cc intern/opensubdiv/opensubdiv_evaluator_capi.h
index 8e6721ba767,ceb0c58feba..a84a52b13f3
--- a/intern/opensubdiv/opensubdiv_evaluator_capi.h
+++ b/intern/opensubdiv/opensubdiv_evaluator_capi.h
@@@ -83,25 -84,19 +84,29 @@@ typedef struct OpenSubdiv_Evaluator 
  
    // Evaluate given ptex face at given bilinear coordinate.
    // If derivatives are NULL, they will not be evaluated.
-   void (*evaluateLimit)(struct OpenSubdiv_Evaluator* evaluator,
+   void (*evaluateLimit)(struct OpenSubdiv_Evaluator *evaluator,
                          const int ptex_face_index,
-                         float face_u, float face_v,
-                         float P[3], float dPdu[3], float dPdv[3]);
+                         float face_u,
+                         float face_v,
+                         float P[3],
+                         float dPdu[3],
+                         float dPdv[3]);
  
 +  void (*evaluateLimit2)(struct OpenSubdiv_Evaluator* evaluator,
 +                        const int ptex_face_index,
 +                        float face_u, float face_v,
 +						float P[3],
 +						float dPdu[3],
 +						float dPdv[3],
 +						float dPduu[3],
 +						float dPduv[3],
 +						float dPdvv[3]);
 +
    // Evaluate varying data at a given bilinear coordinate of given ptex face.
-   void (*ev

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list