mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 01:48:05 +00:00
d0b2b8da65
- gfxVRExternal Enables other processes to present real or simulated VR hardware to Firefox. - This functionality is disabled by default, under dom.vr.external.enabled. - VRDisplayInfo, VRControllerInfo, and associated structs have been restructured to ensure internal state is not exposed via shmem interface. - Some refactoring to convert structs to POD types, enabling them to be located in shmem and be memcpy'd. - Work needed before unpreffing marked with "TODO" comments. MozReview-Commit-ID: FbsusbxuoQ8 --HG-- extra : rebase_source : 8a448169c3f47411c705a4d9fd462a1f9363dfd9 extra : amend_source : e6702549527292e2850d16e8f503f0be9848159f
99 lines
2.5 KiB
Python
99 lines
2.5 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
EXPORTS += [
|
|
'external_api/moz_external_vr.h',
|
|
'gfxVR.h',
|
|
'ipc/VRLayerChild.h',
|
|
'ipc/VRManagerChild.h',
|
|
'ipc/VRManagerParent.h',
|
|
'ipc/VRMessageUtils.h',
|
|
'VRDisplayClient.h',
|
|
'VRDisplayPresentation.h',
|
|
'VRManager.h',
|
|
'VRThread.h',
|
|
]
|
|
|
|
LOCAL_INCLUDES += [
|
|
'/dom/base',
|
|
'/gfx/layers/d3d11',
|
|
'/gfx/thebes',
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
'gfxVR.cpp',
|
|
'gfxVROSVR.cpp',
|
|
'ipc/VRLayerChild.cpp',
|
|
'ipc/VRLayerParent.cpp',
|
|
'ipc/VRManagerChild.cpp',
|
|
'ipc/VRManagerParent.cpp',
|
|
'VRDisplayClient.cpp',
|
|
'VRDisplayPresentation.cpp',
|
|
'VRManager.cpp',
|
|
'VRThread.cpp',
|
|
]
|
|
|
|
# VRDisplayHost includes MacIOSurface.h which includes Mac headers
|
|
# which define Size and Points types in the root namespace that
|
|
# often conflict with our own types.
|
|
SOURCES += [
|
|
'gfxVRExternal.cpp',
|
|
'gfxVRPuppet.cpp',
|
|
'VRDisplayHost.cpp',
|
|
]
|
|
|
|
# Build OpenVR on Windows, Linux, and macOS desktop targets
|
|
if CONFIG['OS_TARGET'] in ('WINNT', 'Linux', 'Darwin'):
|
|
DIRS += [
|
|
'openvr',
|
|
]
|
|
SOURCES += [
|
|
'gfxVROpenVR.cpp',
|
|
]
|
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
SOURCES += [
|
|
'gfxVROculus.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_ANDROID_GOOGLE_VR']:
|
|
SOURCES += [
|
|
'gfxVRGVR.cpp',
|
|
'jni/gfxGVRJNI.cpp',
|
|
]
|
|
CXXFLAGS += ['-I%s' % CONFIG['MOZ_ANDROID_GOOGLE_VR_INCLUDE']]
|
|
LOCAL_INCLUDES += ['/widget/android']
|
|
|
|
IPDL_SOURCES = [
|
|
'ipc/PVRLayer.ipdl',
|
|
'ipc/PVRManager.ipdl',
|
|
]
|
|
|
|
# For building with the real SDK instead of our local hack
|
|
#SOURCES += [
|
|
# 'OVR_CAPI_Util.cpp',
|
|
# 'OVR_CAPIShim.c',
|
|
# 'OVR_StereoProjection.cpp',
|
|
#]
|
|
#
|
|
#CXXFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"]
|
|
#CFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"]
|
|
|
|
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
|
CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
CFLAGS += CONFIG['TK_CFLAGS']
|
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
# This is intended as a temporary hack to enable VS2015 builds.
|
|
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
|
|
# ovr_capi_dynamic.h '<unnamed-tag>': Alignment specifier is less than
|
|
# actual alignment (8), and will be ignored
|
|
CXXFLAGS += ['-wd4359']
|