src/video/directfb/SDL_DirectFB_opengl.c
changeset 3011 8f4ed5ec2b06
parent 2998 d364ee9b9c15
child 3013 8cc00819c8d6
equal deleted inserted replaced
3010:a6694a812119 3011:8f4ed5ec2b06
   171     DirectFB_GLContext *context;
   171     DirectFB_GLContext *context;
   172     int ret;
   172     int ret;
   173 
   173 
   174     SDL_DFB_CALLOC(context, 1, sizeof(*context));
   174     SDL_DFB_CALLOC(context, 1, sizeof(*context));
   175 
   175 
   176     SDL_DFB_CHECKERR(windata->surface->
   176     SDL_DFB_CHECKERR(windata->
   177                      GetGL(windata->surface, &context->context));
   177                      surface->GetGL(windata->surface, &context->context));
   178 
   178 
   179     if (!context->context)
   179     if (!context->context)
   180         return NULL;
   180         return NULL;
   181 
   181 
   182     SDL_DFB_CHECKERR(context->context->Unlock(context->context));
   182     SDL_DFB_CHECKERR(context->context->Unlock(context->context));
   210     if (windata) {
   210     if (windata) {
   211         int cw, ch;
   211         int cw, ch;
   212 
   212 
   213         windata->gl_context = NULL;
   213         windata->gl_context = NULL;
   214         /* Everything is unlocked, check for a resize */
   214         /* Everything is unlocked, check for a resize */
   215         SDL_DFB_CHECKERR(windata->surface->
   215         SDL_DFB_CHECKERR(windata->
   216                          GetSize(windata->surface, &cw, &ch));
   216                          surface->GetSize(windata->surface, &cw, &ch));
   217         if (cw != window->w || ch != window->h)
   217         if (cw != window->w || ch != window->h)
   218             SDL_DFB_CHECKERR(windata->window->
   218             SDL_DFB_CHECKERR(windata->
   219                              ResizeSurface(windata->window, window->w,
   219                              window->ResizeSurface(windata->window, window->w,
   220                                            window->h));
   220                                                    window->h));
   221     }
   221     }
   222 
   222 
   223     if (ctx != NULL) {
   223     if (ctx != NULL) {
   224         SDL_DFB_CHECKERR(ctx->context->Lock(ctx->context));
   224         SDL_DFB_CHECKERR(ctx->context->Lock(ctx->context));
   225     }
   225     }
   264     else if (devdata->glFlush)
   264     else if (devdata->glFlush)
   265         devdata->glFlush();
   265         devdata->glFlush();
   266 
   266 
   267     if (1 || windata->gl_context) {
   267     if (1 || windata->gl_context) {
   268         /* SDL_DFB_CHECKERR(windata->gl_context->context->Unlock(windata->gl_context->context)); */
   268         /* SDL_DFB_CHECKERR(windata->gl_context->context->Unlock(windata->gl_context->context)); */
   269         SDL_DFB_CHECKERR(windata->surface->
   269         SDL_DFB_CHECKERR(windata->
   270                          Flip(windata->surface, &region, DSFLIP_ONSYNC));
   270                          surface->Flip(windata->surface, &region,
       
   271                                        DSFLIP_ONSYNC));
   271         /* SDL_DFB_CHECKERR(windata->gl_context->context->Lock(windata->gl_context->context)); */
   272         /* SDL_DFB_CHECKERR(windata->gl_context->context->Lock(windata->gl_context->context)); */
   272 
   273 
   273     }
   274     }
   274 
   275 
   275     return;
   276     return;