comparison src/video/directfb/SDL_DirectFB_render.c @ 2791:8133d1d278da

Date: Wed, 26 Nov 2008 19:50:31 +0100 From: Couriersud Subject: LPGL and closed-source license / Re: [Bug 607] Texture palette not up Permission granted to release code under both LPGL and closed-source commercial license. Please find attached a minor patch fixing vsync handling in the directfb driver and containing a small update to README.directfb
author Sam Lantinga <slouken@libsdl.org>
date Wed, 26 Nov 2008 21:59:35 +0000
parents 140a7edcf2bd
children 99210400e8b9
comparison
equal deleted inserted replaced
2790:8c9fa61a521c 2791:8133d1d278da
85 DirectFB_CreateRenderer, 85 DirectFB_CreateRenderer,
86 { 86 {
87 "directfb", 87 "directfb",
88 (SDL_RENDERER_SINGLEBUFFER | SDL_RENDERER_PRESENTCOPY | 88 (SDL_RENDERER_SINGLEBUFFER | SDL_RENDERER_PRESENTCOPY |
89 SDL_RENDERER_PRESENTFLIP2 | SDL_RENDERER_PRESENTFLIP3 | 89 SDL_RENDERER_PRESENTFLIP2 | SDL_RENDERER_PRESENTFLIP3 |
90 SDL_RENDERER_PRESENTDISCARD | SDL_RENDERER_ACCELERATED), 90 SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_PRESENTDISCARD |
91 SDL_RENDERER_ACCELERATED),
91 (SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR | 92 (SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR |
92 SDL_TEXTUREMODULATE_ALPHA), 93 SDL_TEXTUREMODULATE_ALPHA),
93 (SDL_TEXTUREBLENDMODE_NONE | SDL_TEXTUREBLENDMODE_MASK | 94 (SDL_TEXTUREBLENDMODE_NONE | SDL_TEXTUREBLENDMODE_MASK |
94 SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | 95 SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD |
95 SDL_TEXTUREBLENDMODE_MOD), 96 SDL_TEXTUREBLENDMODE_MOD),
229 data->surface->AddRef(data->surface); 230 data->surface->AddRef(data->surface);
230 231
231 data->flipflags = DSFLIP_PIPELINE | DSFLIP_BLIT; 232 data->flipflags = DSFLIP_PIPELINE | DSFLIP_BLIT;
232 233
233 if (flags & SDL_RENDERER_PRESENTVSYNC) { 234 if (flags & SDL_RENDERER_PRESENTVSYNC) {
234 data->flipflags = DSFLIP_ONSYNC; 235 data->flipflags |= DSFLIP_WAITFORSYNC;
235 renderer->info.flags |= SDL_RENDERER_PRESENTVSYNC; 236 renderer->info.flags |= SDL_RENDERER_PRESENTVSYNC;
236 } 237 } else
238 data->flipflags |= DSFLIP_ONSYNC;
237 239
238 SDL_DFB_CHECKERR(data->surface->GetCapabilities(data->surface, &scaps)); 240 SDL_DFB_CHECKERR(data->surface->GetCapabilities(data->surface, &scaps));
239 if (scaps & DSCAPS_DOUBLE) 241 if (scaps & DSCAPS_DOUBLE)
240 renderer->info.flags |= SDL_RENDERER_PRESENTFLIP2; 242 renderer->info.flags |= SDL_RENDERER_PRESENTFLIP2;
241 else if (scaps & DSCAPS_TRIPLE) 243 else if (scaps & DSCAPS_TRIPLE)
861 sr.w = window->w; 863 sr.w = window->w;
862 sr.h = window->h; 864 sr.h = window->h;
863 865
864 /* Send the data to the display */ 866 /* Send the data to the display */
865 SDL_DFB_CHECKERR(data->surface-> 867 SDL_DFB_CHECKERR(data->surface->
866 Flip(data->surface, NULL, 0 * data->flipflags)); 868 Flip(data->surface, NULL, data->flipflags));
867 869
868 return; 870 return;
869 error: 871 error:
870 return; 872 return;
871 } 873 }