Add support for shared texture and external BeginFrame in OSR mode (issue #1006)

- Add CefWindowInfo::shared_texture_enabled and
  CefRenderHandler::OnAcceleratedPaint for shared texture support. Currently
  only supported on Windows (D3D11).
- Add CefWindowInfo::external_begin_frame_enabled and
  CefBrowserHost::SendExternalBeginFrame for external begin frame support.
This commit is contained in:
Greg Wessels
2018-07-02 19:46:03 -05:00
committed by Marshall Greenblatt
parent 09afa3a843
commit 713eebcafc
43 changed files with 2339 additions and 156 deletions

View File

@@ -82,6 +82,8 @@ struct CefWindowInfoTraits {
target->height = src->height;
target->parent_window = src->parent_window;
target->windowless_rendering_enabled = src->windowless_rendering_enabled;
target->shared_texture_enabled = src->shared_texture_enabled;
target->external_begin_frame_enabled = src->external_begin_frame_enabled;
target->window = src->window;
}
};

View File

@@ -88,6 +88,8 @@ struct CefWindowInfoTraits {
target->hidden = src->hidden;
target->parent_view = src->parent_view;
target->windowless_rendering_enabled = src->windowless_rendering_enabled;
target->shared_texture_enabled = src->shared_texture_enabled;
target->external_begin_frame_enabled = src->external_begin_frame_enabled;
target->view = src->view;
}
};

View File

@@ -96,6 +96,19 @@ typedef struct _cef_window_info_t {
///
int windowless_rendering_enabled;
///
// Set to true (1) to enable shared textures for windowless rendering. Only
// valid if windowless_rendering_enabled above is also set to true. Currently
// only supported on Windows (D3D11).
///
int shared_texture_enabled;
///
// Set to true (1) to enable the ability to issue BeginFrame requests from the
// client application by calling CefBrowserHost::SendExternalBeginFrame.
///
int external_begin_frame_enabled;
///
// Pointer for the new browser window. Only used with windowed rendering.
///

View File

@@ -106,6 +106,19 @@ typedef struct _cef_window_info_t {
///
int windowless_rendering_enabled;
///
// Set to true (1) to enable shared textures for windowless rendering. Only
// valid if windowless_rendering_enabled above is also set to true. Currently
// only supported on Windows (D3D11).
///
int shared_texture_enabled;
///
// Set to true (1) to enable the ability to issue BeginFrame from the client
// application.
///
int external_begin_frame_enabled;
///
// NSView pointer for the new browser view. Only used with windowed rendering.
///

View File

@@ -84,6 +84,19 @@ typedef struct _cef_window_info_t {
///
int windowless_rendering_enabled;
///
// Set to true (1) to enable shared textures for windowless rendering. Only
// valid if windowless_rendering_enabled above is also set to true. Currently
// only supported on Windows (D3D11).
///
int shared_texture_enabled;
///
// Set to true (1) to enable the ability to issue BeginFrame requests from the
// client application by calling CefBrowserHost::SendExternalBeginFrame.
///
int external_begin_frame_enabled;
///
// Handle for the new browser window. Only used with windowed rendering.
///

View File

@@ -88,6 +88,8 @@ struct CefWindowInfoTraits {
target->parent_window = src->parent_window;
target->menu = src->menu;
target->windowless_rendering_enabled = src->windowless_rendering_enabled;
target->shared_texture_enabled = src->shared_texture_enabled;
target->external_begin_frame_enabled = src->external_begin_frame_enabled;
target->window = src->window;
}
};