提交 0373ffac 编写于 作者: B bbcallen

ijksdl: ios: layout glview on display thread

上级 34adf5ae
......@@ -150,6 +150,8 @@ static void mat4f_LoadOrtho(float left, float right, float bottom, float top, fl
int _frameChroma;
id<IJKSDLGLRender> _renderer;
BOOL _didRelayoutSubViews;
}
enum {
......@@ -259,6 +261,11 @@ enum {
}
- (void)layoutSubviews
{
_didRelayoutSubViews = YES;
}
- (void)layoutOnDisplayThread
{
glBindRenderbuffer(GL_RENDERBUFFER, _renderbuffer);
[_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];
......@@ -276,7 +283,8 @@ enum {
}
[self updateVertices];
[self display: nil];
// FIXME: trigger a redisplay on display thread
// [self display: nil];
}
- (void)setContentMode:(UIViewContentMode)contentMode
......@@ -441,6 +449,11 @@ exit:
[EAGLContext setCurrentContext:_context];
if (_didRelayoutSubViews) {
[self layoutOnDisplayThread];
_didRelayoutSubViews = NO;
}
glBindFramebuffer(GL_FRAMEBUFFER, _framebuffer);
glViewport(0, 0, _backingWidth, _backingHeight);
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册