mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
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:
committed by
Marshall Greenblatt
parent
09afa3a843
commit
713eebcafc
46
libcef/browser/gpu/external_texture_manager.h
Normal file
46
libcef/browser/gpu/external_texture_manager.h
Normal file
@@ -0,0 +1,46 @@
|
||||
// Copyright 2018 The Chromium Embedded Framework Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CEF_LIBCEF_BROWSER_GPU_EXTERNAL_TEXTURE_MANAGER_H_
|
||||
#define CEF_LIBCEF_BROWSER_GPU_EXTERNAL_TEXTURE_MANAGER_H_
|
||||
#pragma once
|
||||
|
||||
#include <map>
|
||||
|
||||
#include "gpu/command_buffer/service/texture_manager.h"
|
||||
#include "gpu/gpu_export.h"
|
||||
#include "ui/gl/gl_image.h"
|
||||
#include "ui/gl/gl_surface_egl.h"
|
||||
|
||||
namespace gl {
|
||||
class GLImage;
|
||||
}
|
||||
|
||||
namespace gpu {
|
||||
namespace gles2 {
|
||||
|
||||
class GPU_GLES2_EXPORT ExternalTextureManager {
|
||||
public:
|
||||
ExternalTextureManager();
|
||||
~ExternalTextureManager();
|
||||
|
||||
void* CreateTexture(GLuint texture_id,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
TextureManager* tex_man);
|
||||
|
||||
void LockTexture(void* handle);
|
||||
void UnlockTexture(void* handle);
|
||||
|
||||
void DeleteTexture(void* handle, TextureManager* tex_man);
|
||||
|
||||
private:
|
||||
typedef std::map<void*, scoped_refptr<gl::GLImage>> ExternalSurfaceMap;
|
||||
ExternalSurfaceMap surfaceMap_;
|
||||
};
|
||||
|
||||
} // namespace gles2
|
||||
} // namespace gpu
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_GPU_EXTERNAL_TEXTURE_MANAGER_H_
|
Reference in New Issue
Block a user