Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
5ee8c02b
A
anbox
项目概览
openeuler
/
anbox
通知
24
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
anbox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5ee8c02b
编写于
8月 08, 2016
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Hand EGL native display into renderer to not use default display
上级
6c15fb98
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
25 addition
and
10 deletion
+25
-10
external/android-emugl/CMakeLists.txt
external/android-emugl/CMakeLists.txt
+3
-1
external/android-emugl/host/include/OpenglRender/render_api_functions.h
...id-emugl/host/include/OpenglRender/render_api_functions.h
+3
-1
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
...l/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
+2
-2
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.h
...nal/android-emugl/host/libs/libOpenglRender/FrameBuffer.h
+1
-1
external/android-emugl/host/libs/libOpenglRender/RenderWindow.cpp
.../android-emugl/host/libs/libOpenglRender/RenderWindow.cpp
+6
-2
external/android-emugl/host/libs/libOpenglRender/RenderWindow.h
...al/android-emugl/host/libs/libOpenglRender/RenderWindow.h
+1
-1
external/android-emugl/host/libs/libOpenglRender/render_api.cpp
...al/android-emugl/host/libs/libOpenglRender/render_api.cpp
+2
-1
src/anbox/graphics/gl_renderer_server.cpp
src/anbox/graphics/gl_renderer_server.cpp
+1
-1
src/anbox/graphics/window_creator.h
src/anbox/graphics/window_creator.h
+1
-0
src/anbox/ubuntu/window_creator.cpp
src/anbox/ubuntu/window_creator.cpp
+4
-0
src/anbox/ubuntu/window_creator.h
src/anbox/ubuntu/window_creator.h
+1
-0
未找到文件。
external/android-emugl/CMakeLists.txt
浏览文件 @
5ee8c02b
...
...
@@ -14,7 +14,9 @@ include_directories(
${
CMAKE_SOURCE_DIR
}
/external/android-emugl/host/libs/GLESv2_dec
${
CMAKE_BINARY_DIR
}
/external/android-emugl/host/libs/GLESv2_dec
${
CMAKE_SOURCE_DIR
}
/external/android-emugl/host/libs/renderControl_dec
${
CMAKE_BINARY_DIR
}
/external/android-emugl/host/libs/renderControl_dec
)
${
CMAKE_BINARY_DIR
}
/external/android-emugl/host/libs/renderControl_dec
${
CMAKE_SOURCE_DIR
}
/external/android-emugl/host/libs/Translator/include
${
MIRCLIENT_INCLUDE_DIRS
}
)
add_subdirectory
(
host
)
add_subdirectory
(
shared
)
external/android-emugl/host/include/OpenglRender/render_api_functions.h
浏览文件 @
5ee8c02b
...
...
@@ -10,6 +10,8 @@
#include <stddef.h>
#include <stdint.h>
#include <EGL/egl.h>
/* list of constants to be passed to setStreamMode */
#define RENDER_API_STREAM_MODE_DEFAULT 0
#define RENDER_API_STREAM_MODE_TCP 1
...
...
@@ -23,7 +25,7 @@ typedef void (*emugl_crash_func_t)(const char* format, ...);
#define LIST_RENDER_API_FUNCTIONS(X) \
X(int, initLibrary, (), ()) \
X(int, setStreamMode, (int mode), (mode)) \
X(int, initOpenGLRenderer, (int width, int height, bool useSubWindow, char* addr, size_t addrLen, emugl_logger_struct logfuncs, emugl_crash_func_t crashfunc), (width, height, useSubWindow, addr, addrLen, logfuncs, crashfunc)) \
X(int, initOpenGLRenderer, (
EGLNativeDisplayType native_display,
int width, int height, bool useSubWindow, char* addr, size_t addrLen, emugl_logger_struct logfuncs, emugl_crash_func_t crashfunc), (width, height, useSubWindow, addr, addrLen, logfuncs, crashfunc)) \
X(void, getHardwareStrings, (const char** vendor, const char** renderer, const char** version), (vendor, renderer, version)) \
X(void, setPostCallback, (OnPostFn onPost, void* onPostContext), (onPost, onPostContext)) \
X(bool, showOpenGLSubwindow, (FBNativeWindowType window, int wx, int wy, int ww, int wh, int fbw, int fbh, float dpr, float zRot), (window, wx, wy, ww, wh, fbw, fbh, dpr, zRot)) \
...
...
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
浏览文件 @
5ee8c02b
...
...
@@ -165,7 +165,7 @@ void FrameBuffer::finalize(){
s_egl
.
eglDestroySurface
(
m_eglDisplay
,
m_pbufSurface
);
}
bool
FrameBuffer
::
initialize
(
int
width
,
int
height
,
bool
useSubWindow
)
bool
FrameBuffer
::
initialize
(
EGLNativeDisplayType
nativeDisplay
,
int
width
,
int
height
,
bool
useSubWindow
)
{
GL_LOG
(
"FrameBuffer::initialize"
);
if
(
s_theFrameBuffer
!=
NULL
)
{
...
...
@@ -184,7 +184,7 @@ bool FrameBuffer::initialize(int width, int height, bool useSubWindow)
//
// Initialize backend EGL display
//
fb
->
m_eglDisplay
=
s_egl
.
eglGetDisplay
(
EGL_DEFAULT_DISPLAY
);
fb
->
m_eglDisplay
=
s_egl
.
eglGetDisplay
(
nativeDisplay
);
if
(
fb
->
m_eglDisplay
==
EGL_NO_DISPLAY
)
{
ERR
(
"Failed to Initialize backend EGL display
\n
"
);
delete
fb
;
...
...
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.h
浏览文件 @
5ee8c02b
...
...
@@ -74,7 +74,7 @@ public:
// own sub-windows. If false, this means the caller will use
// setPostCallback() instead to retrieve the content.
// Returns true on success, false otherwise.
static
bool
initialize
(
int
width
,
int
height
,
bool
useSubWindow
);
static
bool
initialize
(
EGLNativeDisplayType
nativeDisplay
,
int
width
,
int
height
,
bool
useSubWindow
);
// Setup a sub-window to display the content of the emulated GPU
// on-top of an existing UI window. |p_window| is the platform-specific
...
...
external/android-emugl/host/libs/libOpenglRender/RenderWindow.cpp
浏览文件 @
5ee8c02b
...
...
@@ -72,6 +72,7 @@ struct RenderWindowMessage {
union
{
// CMD_INITIALIZE
struct
{
EGLNativeDisplayType
nativeDisplay
;
int
width
;
int
height
;
bool
useSubWindow
;
...
...
@@ -120,7 +121,8 @@ struct RenderWindowMessage {
D
(
"CMD_INITIALIZE w=%d h=%d
\n
"
,
msg
.
init
.
width
,
msg
.
init
.
height
);
GL_LOG
(
"RenderWindow: CMD_INITIALIZE w=%d h=%d"
,
msg
.
init
.
width
,
msg
.
init
.
height
);
result
=
FrameBuffer
::
initialize
(
msg
.
init
.
width
,
result
=
FrameBuffer
::
initialize
(
msg
.
init
.
nativeDisplay
,
msg
.
init
.
width
,
msg
.
init
.
height
,
msg
.
init
.
useSubWindow
);
break
;
...
...
@@ -312,7 +314,8 @@ private:
}
// namespace
RenderWindow
::
RenderWindow
(
int
width
,
RenderWindow
::
RenderWindow
(
EGLNativeDisplayType
native_display
,
int
width
,
int
height
,
bool
use_thread
,
bool
use_sub_window
)
:
...
...
@@ -328,6 +331,7 @@ RenderWindow::RenderWindow(int width,
RenderWindowMessage
msg
;
msg
.
cmd
=
CMD_INITIALIZE
;
msg
.
init
.
nativeDisplay
=
native_display
;
msg
.
init
.
width
=
width
;
msg
.
init
.
height
=
height
;
msg
.
init
.
useSubWindow
=
use_sub_window
;
...
...
external/android-emugl/host/libs/libOpenglRender/RenderWindow.h
浏览文件 @
5ee8c02b
...
...
@@ -59,7 +59,7 @@ public:
//
// Note that this call doesn't display anything, it just initializes
// the library, use setupSubWindow() to display something.
RenderWindow
(
int
width
,
int
height
,
bool
use_thread
,
bool
use_sub_window
);
RenderWindow
(
EGLNativeDisplayType
native_display
,
int
width
,
int
height
,
bool
use_thread
,
bool
use_sub_window
);
// Destructor. This will automatically call removeSubWindow() is needed.
~
RenderWindow
();
...
...
external/android-emugl/host/libs/libOpenglRender/render_api.cpp
浏览文件 @
5ee8c02b
...
...
@@ -78,6 +78,7 @@ RENDER_APICALL int RENDER_APIENTRY initLibrary(void)
}
RENDER_APICALL
int
RENDER_APIENTRY
initOpenGLRenderer
(
EGLNativeDisplayType
native_display
,
int
width
,
int
height
,
bool
useSubWindow
,
char
*
addr
,
size_t
addrLen
,
emugl_logger_struct
logfuncs
,
emugl_crash_func_t
crashfunc
)
{
set_emugl_crash_reporter
(
crashfunc
);
...
...
@@ -116,7 +117,7 @@ RENDER_APICALL int RENDER_APIENTRY initOpenGLRenderer(
// initialize the renderer and listen to connections
// on a thread in the current process.
//
s_renderWindow
=
new
RenderWindow
(
width
,
height
,
kUseThread
,
useSubWindow
);
s_renderWindow
=
new
RenderWindow
(
native_display
,
width
,
height
,
kUseThread
,
useSubWindow
);
if
(
!
s_renderWindow
)
{
ERR
(
"Could not create rendering window class"
);
GL_LOG
(
"Could not create rendering window class"
);
...
...
src/anbox/graphics/gl_renderer_server.cpp
浏览文件 @
5ee8c02b
...
...
@@ -72,7 +72,7 @@ void GLRendererServer::start() {
// The width & height we supply here are the dimensions the internal framebuffer
// will use. Making this static prevents us for now to resize the window we create
// later for the actual display.
if
(
!
initOpenGLRenderer
(
width
,
height
,
true
,
server_addr
,
sizeof
(
server_addr
),
log_funcs
,
logger_write
))
if
(
!
initOpenGLRenderer
(
wi
ndow_creator_
->
native_display
(),
wi
dth
,
height
,
true
,
server_addr
,
sizeof
(
server_addr
),
log_funcs
,
logger_write
))
BOOST_THROW_EXCEPTION
(
std
::
runtime_error
(
"Failed to setup OpenGL renderer"
));
socket_path_
=
server_addr
;
...
...
src/anbox/graphics/window_creator.h
浏览文件 @
5ee8c02b
...
...
@@ -36,6 +36,7 @@ public:
};
virtual
DisplayInfo
display_info
()
const
=
0
;
virtual
EGLNativeDisplayType
native_display
()
const
=
0
;
protected:
std
::
shared_ptr
<
input
::
Manager
>
input_manager_
;
...
...
src/anbox/ubuntu/window_creator.cpp
浏览文件 @
5ee8c02b
...
...
@@ -54,5 +54,9 @@ void WindowCreator::destroy_window(EGLNativeWindowType win) {
WindowCreator
::
DisplayInfo
WindowCreator
::
display_info
()
const
{
return
{
display_
->
horizontal_resolution
(),
display_
->
vertical_resolution
()};
}
EGLNativeDisplayType
WindowCreator
::
native_display
()
const
{
return
display_
->
native_display
();
}
}
// namespace bridge
}
// namespace anbox
src/anbox/ubuntu/window_creator.h
浏览文件 @
5ee8c02b
...
...
@@ -37,6 +37,7 @@ public:
void
destroy_window
(
EGLNativeWindowType
win
)
override
;
DisplayInfo
display_info
()
const
override
;
EGLNativeDisplayType
native_display
()
const
override
;
private:
std
::
shared_ptr
<
input
::
Manager
>
input_manager_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录