Separate window and renderer creation; use software rendering

It seems _slightly_ faster than hardware acceleration for the uses we
have.
This commit is contained in:
Peter Evans 2018-04-02 08:37:01 -05:00
parent 2d0952133a
commit c178e417b7
1 changed files with 14 additions and 4 deletions

View File

@ -110,13 +110,23 @@ vm_screen_add_window(vm_screen *screen, int width, int height)
// If HEADLESS is defined, we will assume we _don't_ want an actual
// drawing surface, but want to pretend we've added one.
#ifndef HEADLESS
SDL_CreateWindowAndRenderer(
width, height, 0, &screen->window, &screen->render);
screen->window = SDL_CreateWindow("erc",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
width, height, 0);
if (screen->window == NULL || screen->render == NULL) {
if (screen->window == NULL) {
log_crit("Could not create window: %s", SDL_GetError());
return ERR_GFXINIT;
}
screen->render = SDL_CreateRenderer(screen->window, -1,
SDL_RENDERER_SOFTWARE);
if (screen->render == NULL) {
log_crit("Could not create renderer: %s", SDL_GetError());
return ERR_GFXINIT;
}
#endif
// We plan to draw onto a surface that is xcoords x ycoords in area,
@ -195,7 +205,7 @@ vm_screen_active(vm_screen *scr)
void
vm_screen_prepare(vm_screen *scr)
{
SDL_RenderClear(scr->render);
//SDL_RenderClear(scr->render);
}
/*