Author: cazfi
Date: Thu Feb 12 22:06:33 2015
New Revision: 28117

URL: http://svn.gna.org/viewcvs/freeciv?rev=28117&view=rev
Log:
Added option to force SW Renderer to use in sdl2-client

See patch #5802

Modified:
    trunk/client/gui-sdl2/graphics.c
    trunk/client/gui-sdl2/mapview.c
    trunk/client/options.c
    trunk/client/options.h

Modified: trunk/client/gui-sdl2/graphics.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl2/graphics.c?rev=28117&r1=28116&r2=28117&view=diff
==============================================================================
--- trunk/client/gui-sdl2/graphics.c    (original)
+++ trunk/client/gui-sdl2/graphics.c    Thu Feb 12 22:06:33 2015
@@ -615,6 +615,8 @@
 **************************************************************************/
 int set_video_mode(int iWidth, int iHeight, int iFlags)
 {
+  unsigned int flags;
+
   Main.screen = SDL_CreateWindow(_("SDL2 Client for Freeciv"),
                                  SDL_WINDOWPOS_UNDEFINED,
                                  SDL_WINDOWPOS_UNDEFINED,
@@ -637,7 +639,13 @@
 #endif
 );
 
-  Main.renderer = SDL_CreateRenderer(Main.screen, -1, 0);
+  if (options.gui_sdl2_swrenderer) {
+    flags = SDL_RENDERER_SOFTWARE;
+  } else {
+    flags = 0;
+  }
+
+  Main.renderer = SDL_CreateRenderer(Main.screen, -1, flags);
 
   Main.maintext = SDL_CreateTexture(Main.renderer,
                                     SDL_PIXELFORMAT_ARGB8888,

Modified: trunk/client/gui-sdl2/mapview.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl2/mapview.c?rev=28117&r1=28116&r2=28117&view=diff
==============================================================================
--- trunk/client/gui-sdl2/mapview.c     (original)
+++ trunk/client/gui-sdl2/mapview.c     Thu Feb 12 22:06:33 2015
@@ -240,7 +240,7 @@
 
     draw_mouse_cursor();
 
-    /* flush main buffer to framebuffer */
+    /* Render to screen */
     update_main_screen();
   } else {
     static int i;
@@ -276,7 +276,7 @@
 
     draw_mouse_cursor();
 
-    /* flush main buffer to framebuffer */
+    /* Render to screen */
     update_main_screen();
 #if 0
     SDL_UpdateRects(Main.screen, Main.rects_count, Main.rects);

Modified: trunk/client/options.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/options.c?rev=28117&r1=28116&r2=28117&view=diff
==============================================================================
--- trunk/client/options.c      (original)
+++ trunk/client/options.c      Thu Feb 12 22:06:33 2015
@@ -253,6 +253,7 @@
   .gui_sdl2_default_theme_name = FC_SDL2_DEFAULT_THEME_NAME,
   .gui_sdl2_fullscreen = FALSE,
   .gui_sdl2_screen = VIDEO_MODE(640, 480),
+  .gui_sdl2_swrenderer = FALSE,
   .gui_sdl2_do_cursor_animation = TRUE,
   .gui_sdl2_use_color_cursors = TRUE,
 
@@ -2684,6 +2685,10 @@
                    N_("This option controls the resolution of the "
                       "selected screen."),
                    COC_INTERFACE, GUI_SDL2, 640, 480, NULL),
+  GEN_BOOL_OPTION(gui_sdl2_swrenderer, N_("Use software rendering"),
+                  N_("Usually hardware rendering is used when possible. "
+                     "With this option set, software rendering is always 
used."),
+                  COC_GRAPHICS, GUI_SDL2, FALSE, NULL),
   GEN_BOOL_OPTION(gui_sdl2_do_cursor_animation, N_("Do cursor animation"),
                   N_("If this option is disabled, the cursor will "
                      "always be displayed as static."),

Modified: trunk/client/options.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/options.h?rev=28117&r1=28116&r2=28117&view=diff
==============================================================================
--- trunk/client/options.h      (original)
+++ trunk/client/options.h      Thu Feb 12 22:06:33 2015
@@ -266,6 +266,7 @@
   char gui_sdl2_default_theme_name[512];
   bool gui_sdl2_fullscreen;
   struct video_mode gui_sdl2_screen;
+  bool gui_sdl2_swrenderer;
   bool gui_sdl2_do_cursor_animation;
   bool gui_sdl2_use_color_cursors;
 


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to