2016-07-14 19:16:42 +03:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2015-04-01 23:02:20 +03:00
|
|
|
# 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 += [
|
2018-03-14 03:09:54 +03:00
|
|
|
'external_api/moz_external_vr.h',
|
Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.
Differential Revision: https://phabricator.services.mozilla.com/D46179
--HG--
extra : moz-landing-system : lando
2019-09-26 15:50:44 +03:00
|
|
|
'FxROutputHandler.h',
|
|
|
|
'FxRWindowManager.h',
|
2015-04-01 23:02:20 +03:00
|
|
|
'gfxVR.h',
|
2018-08-07 21:20:34 +03:00
|
|
|
'ipc/VRChild.h',
|
|
|
|
'ipc/VRGPUChild.h',
|
|
|
|
'ipc/VRGPUParent.h',
|
2016-02-25 02:54:50 +03:00
|
|
|
'ipc/VRLayerChild.h',
|
2015-09-18 00:23:13 +03:00
|
|
|
'ipc/VRManagerChild.h',
|
|
|
|
'ipc/VRManagerParent.h',
|
|
|
|
'ipc/VRMessageUtils.h',
|
2018-08-07 21:20:34 +03:00
|
|
|
'ipc/VRParent.h',
|
|
|
|
'ipc/VRProcessChild.h',
|
|
|
|
'ipc/VRProcessManager.h',
|
|
|
|
'ipc/VRProcessParent.h',
|
2018-12-29 01:09:44 +03:00
|
|
|
'service/VRService.h',
|
2016-02-25 02:54:50 +03:00
|
|
|
'VRDisplayClient.h',
|
|
|
|
'VRDisplayPresentation.h',
|
2015-09-18 00:23:13 +03:00
|
|
|
'VRManager.h',
|
2019-06-29 00:19:54 +03:00
|
|
|
'VRPuppetCommandBuffer.h',
|
2019-09-04 22:58:51 +03:00
|
|
|
'VRShMem.h',
|
2017-10-05 13:12:45 +03:00
|
|
|
'VRThread.h',
|
2015-04-01 23:02:20 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
LOCAL_INCLUDES += [
|
2016-10-04 11:30:04 +03:00
|
|
|
'/dom/base',
|
2016-07-22 22:41:00 +03:00
|
|
|
'/gfx/layers/d3d11',
|
2015-04-01 23:02:20 +03:00
|
|
|
'/gfx/thebes',
|
|
|
|
]
|
|
|
|
|
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'gfxVR.cpp',
|
2018-08-07 21:20:34 +03:00
|
|
|
'ipc/VRChild.cpp',
|
|
|
|
'ipc/VRGPUChild.cpp',
|
|
|
|
'ipc/VRGPUParent.cpp',
|
2015-09-18 00:23:13 +03:00
|
|
|
'ipc/VRManagerChild.cpp',
|
|
|
|
'ipc/VRManagerParent.cpp',
|
2018-08-07 21:20:34 +03:00
|
|
|
'ipc/VRParent.cpp',
|
|
|
|
'ipc/VRProcessChild.cpp',
|
|
|
|
'ipc/VRProcessManager.cpp',
|
|
|
|
'ipc/VRProcessParent.cpp',
|
2016-02-25 02:54:50 +03:00
|
|
|
'VRDisplayClient.cpp',
|
|
|
|
'VRDisplayPresentation.cpp',
|
2017-10-05 13:12:45 +03:00
|
|
|
'VRThread.cpp',
|
2015-04-01 23:02:20 +03:00
|
|
|
]
|
|
|
|
|
2017-07-04 23:50:40 +03:00
|
|
|
SOURCES += [
|
2020-01-09 01:19:26 +03:00
|
|
|
'ipc/VRLayerChild.cpp',
|
|
|
|
'ipc/VRLayerParent.cpp',
|
2019-06-29 00:19:54 +03:00
|
|
|
'VRManager.cpp',
|
|
|
|
'VRPuppetCommandBuffer.cpp',
|
2019-07-03 18:50:28 +03:00
|
|
|
'VRShMem.cpp'
|
2017-07-04 23:50:40 +03:00
|
|
|
]
|
|
|
|
|
2018-06-05 01:45:04 +03:00
|
|
|
if CONFIG['OS_TARGET'] == 'Android':
|
2017-11-01 03:25:40 +03:00
|
|
|
LOCAL_INCLUDES += ['/widget/android']
|
2018-10-09 05:41:00 +03:00
|
|
|
else:
|
|
|
|
DIRS += [
|
|
|
|
'service',
|
|
|
|
]
|
2019-06-29 00:19:54 +03:00
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'VRServiceHost.cpp',
|
|
|
|
]
|
2017-11-01 03:25:40 +03:00
|
|
|
|
2019-05-17 07:53:16 +03:00
|
|
|
# Only target x64 for vrhost since WebVR is only supported on 64bit.
|
|
|
|
# Also, only use MSVC compiler for Windows-specific linking
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['HAVE_64BIT_BUILD'] and CONFIG['CC_TYPE'] not in ('clang', 'gcc'):
|
|
|
|
DIRS += [
|
|
|
|
'vrhost'
|
|
|
|
]
|
|
|
|
|
2015-09-18 00:23:13 +03:00
|
|
|
IPDL_SOURCES = [
|
2018-08-07 21:20:34 +03:00
|
|
|
'ipc/PVR.ipdl',
|
|
|
|
'ipc/PVRGPU.ipdl',
|
2016-02-25 02:54:50 +03:00
|
|
|
'ipc/PVRLayer.ipdl',
|
2015-09-18 00:23:13 +03:00
|
|
|
'ipc/PVRManager.ipdl',
|
|
|
|
]
|
|
|
|
|
2019-07-29 23:11:27 +03:00
|
|
|
# For now, only enable FxR CLH for Windows Nightly builds (BUG 1565349)
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['NIGHTLY_BUILD']:
|
2020-01-09 01:19:26 +03:00
|
|
|
XPCOM_MANIFESTS += [
|
|
|
|
'components.conf',
|
2019-07-29 23:11:27 +03:00
|
|
|
]
|
|
|
|
SOURCES += [
|
|
|
|
'nsFxrCommandLineHandler.cpp',
|
|
|
|
]
|
2019-07-12 00:01:04 +03:00
|
|
|
|
Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.
Differential Revision: https://phabricator.services.mozilla.com/D46179
--HG--
extra : moz-landing-system : lando
2019-09-26 15:50:44 +03:00
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
2019-10-18 04:24:56 +03:00
|
|
|
LOCAL_INCLUDES += [
|
|
|
|
'/layout/generic',
|
|
|
|
'/widget',
|
|
|
|
'/widget/windows'
|
|
|
|
]
|
Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.
Differential Revision: https://phabricator.services.mozilla.com/D46179
--HG--
extra : moz-landing-system : lando
2019-09-26 15:50:44 +03:00
|
|
|
SOURCES += [
|
|
|
|
'FxROutputHandler.cpp',
|
|
|
|
'FxRWindowManager.cpp'
|
|
|
|
]
|
|
|
|
|
2015-04-01 23:02:20 +03:00
|
|
|
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'
|
2019-03-06 17:45:43 +03:00
|
|
|
|
|
|
|
with Files('**'):
|
|
|
|
BUG_COMPONENT = ('Core', 'WebVR')
|
|
|
|
|