[Bf-blender-cvs] [6d7113c363b] xr-controller-support: Merge branch 'master' into xr-controller-support

Peter Kim noreply at git.blender.org
Fri Sep 10 10:58:11 CEST 2021


Commit: 6d7113c363b99409b30dd6b48b90ad03e50b369d
Author: Peter Kim
Date:   Fri Sep 10 17:57:57 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rB6d7113c363b99409b30dd6b48b90ad03e50b369d

Merge branch 'master' into xr-controller-support

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



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

diff --cc build_files/utils/make_update.py
index 9cfe5e90914,b901fa56f52..8b336bf8cd3
--- a/build_files/utils/make_update.py
+++ b/build_files/utils/make_update.py
@@@ -170,15 -171,17 +171,17 @@@ def submodules_update(args, release_ver
          sys.stderr.write("git not found, can't update code\n")
          sys.exit(1)
  
-     # Update submodules to latest master or appropriate release branch.
-     if not release_version:
-         branch = "master"
+     # Update submodules to appropriate given branch,
+     # falling back to master if none is given and/or found in a sub-repository.
+     branch_fallback = "master"
+     if not branch:
+         branch = branch_fallback
  
      submodules = [
-         ("release/scripts/addons", "xr-controller-support"), # TODO: Change this back before merging into master.
-         ("release/scripts/addons_contrib", branch),
-         ("release/datafiles/locale", branch),
-         ("source/tools", branch),
 -        ("release/scripts/addons", branch, branch_fallback),
++        ("release/scripts/addons", "xr-controller-support", branch_fallback),
+         ("release/scripts/addons_contrib", branch, branch_fallback),
+         ("release/datafiles/locale", branch, branch_fallback),
+         ("source/tools", branch, branch_fallback),
      ]
  
      # Initialize submodules only if needed.
diff --cc intern/ghost/intern/GHOST_XrContext.cpp
index a359bdefe15,3584f4b8e90..692293c2789
--- a/intern/ghost/intern/GHOST_XrContext.cpp
+++ b/intern/ghost/intern/GHOST_XrContext.cpp
@@@ -410,14 -412,17 +412,20 @@@ void GHOST_XrContext::getExtensionsToEn
      try_ext.push_back(XR_EXT_DEBUG_UTILS_EXTENSION_NAME);
    }
  
--  /* Try enabling interaction profile extensions. */
++  /* Interaction profile extensions. */
    try_ext.push_back(XR_EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME);
    try_ext.push_back(XR_HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME);
    try_ext.push_back(XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME);
  
-   /* Try enabling controller model extension. */
++  /* Controller model extension. */
 +  try_ext.push_back(XR_MSFT_CONTROLLER_MODEL_EXTENSION_NAME);
 +
+   /* Varjo quad view extension. */
+   try_ext.push_back(XR_VARJO_QUAD_VIEWS_EXTENSION_NAME);
+ 
+   /* Varjo foveated extension. */
+   try_ext.push_back(XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME);
+ 
    r_ext_names.reserve(try_ext.size() + graphics_binding_types.size());
  
    /* Add graphics binding extensions (may be multiple ones, we'll settle for one to use later, once
diff --cc intern/ghost/intern/GHOST_XrSession.cpp
index cb566ee877e,cd930c8328b..670b3a9d150
--- a/intern/ghost/intern/GHOST_XrSession.cpp
+++ b/intern/ghost/intern/GHOST_XrSession.cpp
@@@ -843,71 -916,3 +919,71 @@@ void GHOST_XrSession::getActionCustomda
  }
  
  /** \} */ /* Actions */
 +
 +/* -------------------------------------------------------------------- */
 +/** \name Controller Model
 + *
 + * \{ */
 +
 +bool GHOST_XrSession::loadControllerModel(const char *subaction_path)
 +{
-   if (!m_context->isControllerModelExtensionEnabled()) {
++  if (!m_context->isExtensionEnabled(XR_MSFT_CONTROLLER_MODEL_EXTENSION_NAME)) {
 +    return false;
 +  }
 +
 +  XrSession session = m_oxr->session;
 +  std::map<std::string, GHOST_XrControllerModel> &controller_models = m_oxr->controller_models;
 +  std::map<std::string, GHOST_XrControllerModel>::iterator it = controller_models.find(
 +      subaction_path);
 +
 +  if (it == controller_models.end()) {
 +    XrInstance instance = m_context->getInstance();
 +    it = controller_models
 +             .emplace(std::piecewise_construct,
 +                      std::make_tuple(subaction_path),
 +                      std::make_tuple(instance, subaction_path))
 +             .first;
 +  }
 +
 +  it->second.load(session);
 +
 +  return true;
 +}
 +
 +void GHOST_XrSession::unloadControllerModel(const char *subaction_path)
 +{
 +  std::map<std::string, GHOST_XrControllerModel> &controller_models = m_oxr->controller_models;
 +  if (controller_models.find(subaction_path) != controller_models.end()) {
 +    controller_models.erase(subaction_path);
 +  }
 +}
 +
 +bool GHOST_XrSession::updateControllerModelComponents(const char *subaction_path)
 +{
 +  XrSession session = m_oxr->session;
 +  std::map<std::string, GHOST_XrControllerModel>::iterator it = m_oxr->controller_models.find(
 +      subaction_path);
 +  if (it == m_oxr->controller_models.end()) {
 +    return false;
 +  }
 +
 +  it->second.updateComponents(session);
 +
 +  return true;
 +}
 +
 +bool GHOST_XrSession::getControllerModelData(const char *subaction_path,
 +                                             GHOST_XrControllerModelData &r_data)
 +{
 +  std::map<std::string, GHOST_XrControllerModel>::iterator it = m_oxr->controller_models.find(
 +      subaction_path);
 +  if (it == m_oxr->controller_models.end()) {
 +    return false;
 +  }
 +
 +  it->second.getData(r_data);
 +
 +  return true;
 +}
 +
 +/** \} */ /* Controller Model */
diff --cc source/blender/editors/transform/transform_snap_object.c
index 7d0f5babe76,811f30c96e5..891919fd46c
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@@ -499,21 -499,9 +499,19 @@@ static void iter_snap_objects(SnapObjec
          continue;
        }
      }
 +    else if (snap_select == SNAP_SELECTED) {
 +      if (!(base->flag & BASE_SELECTED) && !(base->flag_legacy & BA_WAS_SEL)) {
 +        continue;
 +      }
 +    }
 +    else if (snap_select == SNAP_SELECTABLE) {
 +      if (!(base->flag & BASE_SELECTABLE)) {
 +        continue;
 +      }
 +    }
  
      Object *obj_eval = DEG_get_evaluated_object(depsgraph, base->object);
-     if (obj_eval->transflag & OB_DUPLI ||
-         (obj_eval->runtime.geometry_set_eval != NULL &&
-          BKE_geometry_set_has_instances(obj_eval->runtime.geometry_set_eval))) {
+     if (obj_eval->transflag & OB_DUPLI || BKE_object_has_geometry_set_instances(obj_eval)) {
        ListBase *lb = object_duplilist(depsgraph, sctx->scene, obj_eval);
        for (DupliObject *dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next) {
          BLI_assert(DEG_is_evaluated_object(dupli_ob->ob));



More information about the Bf-blender-cvs mailing list