Commit 35e65e92 by Frank Henigman Committed by Commit Bot

Gyp support for Ozone.

Introduce gyp flag 'use_ozone' to select Ozone code. Ozone is a display method used on Chrome OS which is based on gbm, drm/kms, and surfaceless egl. BUG=angleproject:1297 Change-Id: I5272651bd1af5806b6b42067d2d0f0abf0895af3 Reviewed-on: https://chromium-review.googlesource.com/337781Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
parent b6d88e72
...@@ -13,6 +13,14 @@ ...@@ -13,6 +13,14 @@
'angle_build_winrt%': '0', 'angle_build_winrt%': '0',
'angle_build_winphone%': '0', 'angle_build_winphone%': '0',
# This works like the Ozone GBM platform in Chrome:
# - Generic Buffer Manager (gbm) to allocate buffers
# - EGL_EXT_image_dma_buf_import to render into those buffers via EGLImage
# - Direct Rendering Manager + Kernel Mode Setting to scan out from those buffers
# - EGL_PLATFORM_SURFACELESS because there are no native windows
'use_ozone%': 0,
'conditions': 'conditions':
[ [
['OS=="linux" and use_x11==1 and chromeos==0', { ['OS=="linux" and use_x11==1 and chromeos==0', {
...@@ -38,6 +46,10 @@ ...@@ -38,6 +46,10 @@
], ],
'conditions': 'conditions':
[ [
['use_ozone==1',
{
'defines': [ 'USE_OZONE' ],
}],
['component=="shared_library"', ['component=="shared_library"',
{ {
'defines': [ 'COMPONENT_BUILD' ], 'defines': [ 'COMPONENT_BUILD' ],
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
{ {
'conditions': 'conditions':
[ [
['OS=="linux"', ['OS=="linux" and use_ozone==0',
{ {
'use_x11': 1, 'use_x11': 1,
}, },
......
...@@ -38,6 +38,10 @@ ...@@ -38,6 +38,10 @@
{ {
'angle_enable_gl%': 1, 'angle_enable_gl%': 1,
}], }],
['use_ozone==1',
{
'angle_enable_gl%': 1,
}],
], ],
}, },
'includes': 'includes':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment