Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
1aeedaf1
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,发现更多精彩内容 >>
提交
1aeedaf1
编写于
11月 09, 2016
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update GL viewport when window size changes
上级
b05b8bae
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
0 deletion
+14
-0
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
...l/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
+14
-0
未找到文件。
external/android-emugl/host/libs/libOpenglRender/FrameBuffer.cpp
浏览文件 @
1aeedaf1
...
...
@@ -456,6 +456,9 @@ FrameBuffer::~FrameBuffer() {
struct
FrameBufferWindow
{
EGLNativeWindowType
native_window
=
0
;
EGLSurface
surface
=
EGL_NO_SURFACE
;
bool
needViewportUpdate
=
false
;
int
width
;
int
height
;
};
FrameBufferWindow
*
FrameBuffer
::
createWindow
(
int
x
,
int
y
,
int
width
,
int
height
)
{
...
...
@@ -469,6 +472,8 @@ FrameBufferWindow* FrameBuffer::createWindow(int x, int y, int width, int height
auto
window
=
new
FrameBufferWindow
;
window
->
native_window
=
native_window
;
window
->
width
=
width
;
window
->
height
=
height
;
window
->
surface
=
s_egl
.
eglCreateWindowSurface
(
m_eglDisplay
,
m_eglConfig
,
window
->
native_window
,
nullptr
);
...
...
@@ -502,6 +507,9 @@ void FrameBuffer::updateWindow(FrameBufferWindow *window, int x, int y, int widt
return
;
updateSubWindow
(
window
->
native_window
,
x
,
y
,
width
,
height
);
window
->
width
=
width
;
window
->
height
=
height
;
window
->
needViewportUpdate
=
true
;
}
void
FrameBuffer
::
destroyWindow
(
FrameBufferWindow
*
window
)
{
...
...
@@ -984,6 +992,12 @@ bool FrameBuffer::post(FrameBufferWindow *window, HandleType p_colorbuffer, bool
if
(
!
bindWindow_locked
(
window
))
goto
EXIT
;
if
(
window
->
needViewportUpdate
)
{
s_gles2
.
glViewport
(
0
,
0
,
window
->
width
,
window
->
height
);
window
->
needViewportUpdate
=
false
;
}
s_gles2
.
glClearColor
(
0.0
,
0.0
,
1.0
,
0.0
);
s_gles2
.
glClear
(
GL_COLOR_BUFFER_BIT
);
ret
=
(
*
c
).
second
.
cb
->
post
(
0.0
f
,
0
,
0
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录