[Bf-blender-cvs] [37fc5bcd8c4] vamr-openxr-module: Use VAMR namespace for internal types

Julian Eisel noreply at git.blender.org
Sat Aug 31 14:50:44 CEST 2019


Commit: 37fc5bcd8c4f80304e395e6e88ec8429e82b8152
Author: Julian Eisel
Date:   Sat Aug 31 14:20:57 2019 +0200
Branches: vamr-openxr-module
https://developer.blender.org/rB37fc5bcd8c4f80304e395e6e88ec8429e82b8152

Use VAMR namespace for internal types

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

M	intern/vamr/VAMR_IContext.h
M	intern/vamr/VAMR_Types.h
M	intern/vamr/intern/VAMR.cc
M	intern/vamr/intern/VAMR_Context.cc
M	intern/vamr/intern/VAMR_Context.h
M	intern/vamr/intern/VAMR_Event.cc
M	intern/vamr/intern/VAMR_Exception.h
M	intern/vamr/intern/VAMR_GraphicsBinding.cc
M	intern/vamr/intern/VAMR_IGraphicsBinding.h
M	intern/vamr/intern/VAMR_Session.cc
M	intern/vamr/intern/VAMR_Session.h
M	intern/vamr/intern/VAMR_capi.cc
M	intern/vamr/intern/VAMR_intern.h
M	source/blender/windowmanager/intern/wm_xr.c

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

diff --git a/intern/vamr/VAMR_IContext.h b/intern/vamr/VAMR_IContext.h
index 261bc0aa318..4e59c366e27 100644
--- a/intern/vamr/VAMR_IContext.h
+++ b/intern/vamr/VAMR_IContext.h
@@ -23,20 +23,24 @@
 
 #include "VAMR_Types.h"
 
-class VAMR_IContext {
+namespace VAMR {
+
+class IContext {
  public:
-  virtual ~VAMR_IContext() = default;
+  virtual ~IContext() = default;
 
   virtual void startSession(const VAMR_SessionBeginInfo *begin_info) = 0;
   virtual void endSession() = 0;
   virtual bool isSessionRunning() const = 0;
   virtual void drawSessionViews(void *draw_customdata) = 0;
 
-  virtual void dispatchErrorMessage(const class VAMR_Exception *) const = 0;
+  virtual void dispatchErrorMessage(const class Exception *) const = 0;
 
   virtual void setGraphicsContextBindFuncs(VAMR_GraphicsContextBindFn bind_fn,
                                            VAMR_GraphicsContextUnbindFn unbind_fn) = 0;
   virtual void setDrawViewFunc(VAMR_DrawViewFn draw_view_fn) = 0;
 };
 
+}  // namespace VAMR
+
 #endif  // __VAMR_ICONTEXT_H__
diff --git a/intern/vamr/VAMR_Types.h b/intern/vamr/VAMR_Types.h
index 68b1cb545ce..6e2cb8e75aa 100644
--- a/intern/vamr/VAMR_Types.h
+++ b/intern/vamr/VAMR_Types.h
@@ -21,7 +21,9 @@
 #ifndef __VAMR_TYPES_H__
 #define __VAMR_TYPES_H__
 
-typedef struct VAMR_Context *VAMR_ContextHandle;
+typedef struct VAMR_Context__ {
+  int dummy;
+} * VAMR_ContextHandle;
 
 typedef enum { VAMR_Failure = 0, VAMR_Success } VAMR_TSuccess;
 
diff --git a/intern/vamr/intern/VAMR.cc b/intern/vamr/intern/VAMR.cc
index 501d871de9f..f65055df958 100644
--- a/intern/vamr/intern/VAMR.cc
+++ b/intern/vamr/intern/VAMR.cc
@@ -29,6 +29,8 @@
 #include "VAMR_Context.h"
 #include "VAMR_Exception.h"
 
+using namespace VAMR;
+
 /**
  * \brief Initialize the XR-Context.
  * Includes setting up the OpenXR instance, querying available extensions and API layers,
@@ -36,14 +38,14 @@
  */
 VAMR_ContextHandle VAMR_ContextCreate(const VAMR_ContextCreateInfo *create_info)
 {
-  VAMR_Context *xr_context = new VAMR_Context(create_info);
+  Context *xr_context = new Context(create_info);
 
   // TODO VAMR_Context's should probably be owned by the GHOST_System, which will handle context
   // creation and destruction. Try-catch logic can be moved to C-API then.
   try {
     xr_context->initialize(create_info);
   }
-  catch (VAMR_Exception &e) {
+  catch (Exception &e) {
     xr_context->dispatchErrorMessage(&e);
     delete xr_context;
 
@@ -55,10 +57,15 @@ VAMR_ContextHandle VAMR_ContextCreate(const VAMR_ContextCreateInfo *create_info)
 
 void VAMR_ContextDestroy(VAMR_ContextHandle xr_contexthandle)
 {
-  delete (VAMR_Context *)xr_contexthandle;
+  delete (Context *)xr_contexthandle;
 }
 
 void VAMR_ErrorHandler(VAMR_ErrorHandlerFn handler_fn, void *customdata)
 {
-  VAMR_Context::setErrorHandler(handler_fn, customdata);
+  Context::setErrorHandler(handler_fn, customdata);
+}
+
+VAMR_TSuccess VAMR_EventsHandle(VAMR_ContextHandle xr_contexthandle)
+{
+  return VAMR_EventsHandle((Context *)xr_contexthandle);
 }
diff --git a/intern/vamr/intern/VAMR_Context.cc b/intern/vamr/intern/VAMR_Context.cc
index 9219b50d328..87b90bb5635 100644
--- a/intern/vamr/intern/VAMR_Context.cc
+++ b/intern/vamr/intern/VAMR_Context.cc
@@ -31,6 +31,8 @@
 
 #include "VAMR_Context.h"
 
+namespace VAMR {
+
 struct OpenXRInstanceData {
   XrInstance instance{XR_NULL_HANDLE};
   XrInstanceProperties instance_properties;
@@ -49,21 +51,21 @@ PFN_xrCreateDebugUtilsMessengerEXT OpenXRInstanceData::s_xrCreateDebugUtilsMesse
 PFN_xrDestroyDebugUtilsMessengerEXT OpenXRInstanceData::s_xrDestroyDebugUtilsMessengerEXT_fn =
     nullptr;
 
-VAMR_ErrorHandlerFn VAMR_Context::s_error_handler = nullptr;
-void *VAMR_Context::s_error_handler_customdata = nullptr;
+VAMR_ErrorHandlerFn Context::s_error_handler = nullptr;
+void *Context::s_error_handler_customdata = nullptr;
 
 /* -------------------------------------------------------------------- */
 /** \name Create, Initialize and Destruct
  *
  * \{ */
 
-VAMR_Context::VAMR_Context(const VAMR_ContextCreateInfo *create_info)
+Context::Context(const VAMR_ContextCreateInfo *create_info)
     : m_oxr(new OpenXRInstanceData()),
       m_debug(create_info->context_flag & VAMR_ContextDebug),
       m_debug_time(create_info->context_flag & VAMR_ContextDebugTime)
 {
 }
-VAMR_Context::~VAMR_Context()
+Context::~Context()
 {
   /* Destroy session data first. Otherwise xrDestroyInstance will implicitly do it, before the
    * session had a chance to do so explicitly. */
@@ -79,7 +81,7 @@ VAMR_Context::~VAMR_Context()
   }
 }
 
-void VAMR_Context::initialize(const VAMR_ContextCreateInfo *create_info)
+void Context::initialize(const VAMR_ContextCreateInfo *create_info)
 {
   enumerateApiLayers();
   enumerateExtensions();
@@ -94,7 +96,7 @@ void VAMR_Context::initialize(const VAMR_ContextCreateInfo *create_info)
   XR_DEBUG_ONLY_CALL(this, initDebugMessenger());
 }
 
-void VAMR_Context::createOpenXRInstance()
+void Context::createOpenXRInstance()
 {
   XrInstanceCreateInfo create_info{XR_TYPE_INSTANCE_CREATE_INFO};
 
@@ -114,9 +116,9 @@ void VAMR_Context::createOpenXRInstance()
            "Failed to connect to an OpenXR runtime.");
 }
 
-void VAMR_Context::storeInstanceProperties()
+void Context::storeInstanceProperties()
 {
-  const std::map<std::string, VAMR_OpenXRRuntimeID> runtime_map{
+  const std::map<std::string, OpenXRRuntimeID> runtime_map{
       {"Monado(XRT) by Collabora et al", OPENXR_RUNTIME_MONADO},
       {"Oculus", OPENXR_RUNTIME_OCULUS},
       {"Windows Mixed Reality Runtime", OPENXR_RUNTIME_WMR}};
@@ -139,7 +141,7 @@ void VAMR_Context::storeInstanceProperties()
  *
  * \{ */
 
-void VAMR_Context::printInstanceInfo()
+void Context::printInstanceInfo()
 {
   assert(m_oxr->instance != XR_NULL_HANDLE);
 
@@ -150,7 +152,7 @@ void VAMR_Context::printInstanceInfo()
          XR_VERSION_PATCH(m_oxr->instance_properties.runtimeVersion));
 }
 
-void VAMR_Context::printAvailableAPILayersAndExtensionsInfo()
+void Context::printAvailableAPILayersAndExtensionsInfo()
 {
   puts("Available OpenXR API-layers/extensions:");
   for (XrApiLayerProperties &layer_info : m_oxr->layers) {
@@ -161,7 +163,7 @@ void VAMR_Context::printAvailableAPILayersAndExtensionsInfo()
   }
 }
 
-void VAMR_Context::printExtensionsAndAPILayersToEnable()
+void Context::printExtensionsAndAPILayersToEnable()
 {
   for (const char *layer_name : m_enabled_layers) {
     printf("Enabling OpenXR API-Layer: %s\n", layer_name);
@@ -181,7 +183,7 @@ static XrBool32 debug_messenger_func(XrDebugUtilsMessageSeverityFlagsEXT /*messa
   return XR_FALSE;  // OpenXR spec suggests always returning false.
 }
 
-void VAMR_Context::initDebugMessenger()
+void Context::initDebugMessenger()
 {
   XrDebugUtilsMessengerCreateInfoEXT create_info{XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT};
 
@@ -228,7 +230,7 @@ void VAMR_Context::initDebugMessenger()
  *
  * \{ */
 
-void VAMR_Context::dispatchErrorMessage(const VAMR_Exception *exception) const
+void Context::dispatchErrorMessage(const Exception *exception) const
 {
   std::ostringstream stream_err_location;
   std::string str_err_location;
@@ -248,11 +250,11 @@ void VAMR_Context::dispatchErrorMessage(const VAMR_Exception *exception) const
                              exception->m_res,
                              error.source_location));
 
-  /* Potentially destroys VAMR_Context */
+  /* Potentially destroys VAMR-context */
   s_error_handler(&error);
 }
 
-void VAMR_Context::setErrorHandler(VAMR_ErrorHandlerFn handler_fn, void *customdata)
+void Context::setErrorHandler(VAMR_ErrorHandlerFn handler_fn, void *customdata)
 {
   s_error_handler = handler_fn;
   s_error_handler_customdata = customdata;
@@ -268,8 +270,8 @@ void VAMR_Context::setErrorHandler(VAMR_ErrorHandlerFn handler_fn, void *customd
 /**
  * \param layer_name May be NULL for extensions not belonging to a specific layer.
  */
-void VAMR_Context::enumerateExtensionsEx(std::vector<XrExtensionProperties> &extensions,
-                                         const char *layer_name)
+void Context::enumerateExtensionsEx(std::vector<XrExtensionProperties> &extensions,
+                                    const char *layer_name)
 {
   uint32_t extension_count = 0;
 
@@ -292,12 +294,12 @@ void VAMR_Context::enumerateExtensionsEx(std::vector<XrExtensionProperties> &ext
                layer_name, extension_count, &extension_count, extensions.data()),
            "Failed to query OpenXR runtime information. Do you have an active runtime set up?");
 }
-void VAMR_Context::enumerateExtensions()
+void Context::enumerateExtensions()
 {
   enumerateExtensionsEx(m_oxr->extensions, nullptr);
 }
 
-void VAMR_Context::enumerateApiLayers()
+void Context::enumerateApiLayers()
 {
   uint32_t layer_count = 0;
 
@@ -350,7 +352,7 @@ static bool openxr_extension_is_available(const std::vector<XrExtensionPropertie
 /**
  * Gather an array of names for the API-layers to enable.
  */
-void VAMR_Context::getAPILayersToEnable(std::vector<const char *> &r_ext_names)
+void Context::getAPILayersToEnable(std::vector<const char *> &r_ext_names)
 {
   static std::vector<std::string> try_layers;
 
@@ -387,7 +389,7 @@ static const char *openxr_ext_name_from_wm_gpu_binding(VAMR_GraphicsBindingType
 /**
  * Gather an array of names for the extensions to enable.
  */
-void VAMR_Context::getExtensionsToEnable(std::vector<const char *> &r_ext_names)
+void Context::getExtensionsToEnable(std::vector<const char *> &r_ext_names)
 {
   assert(m_gpu_binding_type != VAMR_GraphicsBindingTypeUnknown);
 
@@ -419,7 +421,7 @@ void VAMR_Context::getExtensionsToEnable(std::vector<const char *> &r_ext_names)
  * Decide which graphics binding extension to use based on
  * #VAMR_ContextCreateInfo.gpu_binding_candidates and available extensions.
  */
-VAMR_GraphicsBindingType VAMR_Context::determineGraphicsBindingTypeToEnable(
+VAMR_GraphicsBindingType Context::determineGraphicsBindingTypeToEnable(
     const VAMR_ContextCreateInfo *create_info)
 {
   assert(create_info->gpu_binding_candidates != NULL);
@@ -442,28 +444,28 @@ VAMR_GraphicsBindingType VAMR_Context::determineGraphicsBindingTypeToEnable(
 /* ----------------------------------------------------------------

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list