[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