2011-05-01 4 views
1

프레임 버퍼를 통해 OpenGL 기능을 통합 할 수 있도록 임베디드 리눅스 용 Qtreen 드라이버를 작성하려고합니다. 나는 잠시 내 드라이버와 함께 화면에 EGL 표면과 함께 QWS 창을 가지고 있습니다. 나는 exposeRegion, blit 및 solidFill 메소드의 기본 구현을 사용합니다. 불행히도 EGL 표면 위에 QWS 창을 배치하려고하면 EGL 표면이 항상 QWS 창 위에 있음을 알게되었습니다.QWSWindow의 표면을 QGLWidget의 Qt/Embedded에 놓기

EGL 표면이 최상위 창이 아닌 경우 어떻게해서 QWS 창을 EGL 표면 위로 보낼 수 있습니까? 어떻게해야합니까?

OpenGL이 화면에 직접 그려지는 것을 알고 있지만, 새로 고침 절차를 중단하면 QScreen 드라이버가 창을 그릴 수 있어야한다고 생각합니다. 그러나 이것은 발생하지 않는 것 같습니다.

감사합니다.

답변

1

다른 사람이 관심이있는 경우를 대비하여이 작업을 수행 할 수 있습니다. 다른 함수를 재정의해야하기 때문에 나는 할 수 없었습니다. 내 경우에는 이것이 누락되었습니다 :

bool CompositeGLScreen::chooseContext(QGLContext *context, const QGLContext *shareContext) 
{ 
    Q_UNUSED(context); 
    Q_UNUSED(shareContext); 
    return false; 
} 

PowerVR에 대한 Qt의 참조 구현은 이렇게합니다.

관련 문제