[Commits] [wesnoth/wesnoth] 1ac4b4: SDL/Window: set render scaling method to linear

GitHub noreply at github.com
Fri Jun 2 03:11:36 UTC 2017


  Branch: refs/heads/accelerated_rendering
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 1ac4b495f08dd2a55369d8446a7c067317d03dea
      https://github.com/wesnoth/wesnoth/commit/1ac4b495f08dd2a55369d8446a7c067317d03dea
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/sdl/window.cpp

  Log Message:
  -----------
  SDL/Window: set render scaling method to linear

This looks better than NN scaling (default);


  Commit: 529dd59d512e281feb71aed943dfa4d07a167af6
      https://github.com/wesnoth/wesnoth/commit/529dd59d512e281feb71aed943dfa4d07a167af6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/video.cpp

  Log Message:
  -----------
  Video: enabled accelerated rendering with texture target access


  Commit: 26ae5632465c07534159652fd9ed33541f4c63c7
      https://github.com/wesnoth/wesnoth/commit/26ae5632465c07534159652fd9ed33541f4c63c7
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M data/gui/widget/button_default.cfg
    M src/gui/core/canvas.cpp
    M src/gui/core/canvas.hpp
    M src/gui/core/canvas_private.hpp
    M src/gui/core/event/handler.cpp
    M src/gui/widgets/widget.cpp
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  GUI2/Canvas: [WIP] refactor surface blitting out of drawing routines

This entirely refactors surface blitting out of the canvas. Instead, each canvas owns a texture. This texture
is completely redrawn any time the canvas if marked dirty, else the result is cached and drawn to the screen
each draw cycle.

All windows are now redrawn every draw cycle. The use of the cached canvas textures means there's no noticeable
performance difference (likely a performance gain, actually) from using surface blitting.

There's still some code to clean up and a few things to fix, which is why this is marked WIP.


  Commit: c052c8209396ef84c91be6d05590619baf189dee
      https://github.com/wesnoth/wesnoth/commit/c052c8209396ef84c91be6d05590619baf189dee
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  GUI2/Window: properly re-implement draw and restore code

We don't need all this dirty list or handling or surface restoration anymore.


  Commit: ecf7b3c74ee91e8460e7eb0b3fc0162c5f7fb05e
      https://github.com/wesnoth/wesnoth/commit/ecf7b3c74ee91e8460e7eb0b3fc0162c5f7fb05e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/gui/core/event/handler.cpp
    M src/gui/dialogs/debug_clock.cpp
    M src/gui/dialogs/editor/custom_tod.cpp
    M src/gui/dialogs/lua_interpreter.cpp
    M src/gui/dialogs/outro.cpp
    M src/gui/dialogs/story_viewer.cpp
    M src/gui/dialogs/story_viewer.hpp
    M src/gui/dialogs/title_screen.cpp
    M src/gui/widgets/button.cpp
    M src/gui/widgets/container_base.cpp
    M src/gui/widgets/container_base.hpp
    M src/gui/widgets/generator.hpp
    M src/gui/widgets/generator_private.hpp
    M src/gui/widgets/grid.cpp
    M src/gui/widgets/grid.hpp
    M src/gui/widgets/label.cpp
    M src/gui/widgets/list.cpp
    M src/gui/widgets/listbox.cpp
    M src/gui/widgets/listbox.hpp
    M src/gui/widgets/matrix.cpp
    M src/gui/widgets/matrix.hpp
    M src/gui/widgets/menu_button.cpp
    M src/gui/widgets/minimap.hpp
    M src/gui/widgets/multimenu_button.cpp
    M src/gui/widgets/pane.cpp
    M src/gui/widgets/pane.hpp
    M src/gui/widgets/progress_bar.cpp
    M src/gui/widgets/repeating_button.cpp
    M src/gui/widgets/scrollbar.cpp
    M src/gui/widgets/scrollbar_container.cpp
    M src/gui/widgets/scrollbar_container.hpp
    M src/gui/widgets/slider.hpp
    M src/gui/widgets/styled_widget.cpp
    M src/gui/widgets/text_box.cpp
    M src/gui/widgets/text_box_base.cpp
    M src/gui/widgets/toggle_button.cpp
    M src/gui/widgets/toggle_panel.cpp
    M src/gui/widgets/tree_view.cpp
    M src/gui/widgets/tree_view.hpp
    M src/gui/widgets/tree_view_node.cpp
    M src/gui/widgets/tree_view_node.hpp
    M src/gui/widgets/viewport.cpp
    M src/gui/widgets/viewport.hpp
    M src/gui/widgets/widget.cpp
    M src/gui/widgets/widget.hpp
    M src/gui/widgets/window.hpp
    M src/scripting/lua_gui2.cpp

  Log Message:
  -----------
  GUI2: removed dirty widget interface

This is no longer needed since we redraw everything every frame. The dirty flag in the canvas remains
as that controls whether the cached texture is used or recreated.


  Commit: 40301e46f0edd7da4a2eb5322fb52db3c44eb6d6
      https://github.com/wesnoth/wesnoth/commit/40301e46f0edd7da4a2eb5322fb52db3c44eb6d6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/gui/widgets/window.cpp
    M src/gui/widgets/window.hpp

  Log Message:
  -----------
  GUI2/Window: removed restore flag and restorer surface


  Commit: 78914b5c52da981c34e7c73818bc24caedf1ca7b
      https://github.com/wesnoth/wesnoth/commit/78914b5c52da981c34e7c73818bc24caedf1ca7b
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/gui/core/canvas.cpp
    M src/gui/core/canvas.hpp
    M src/gui/widgets/panel.cpp
    M src/gui/widgets/styled_widget.cpp

  Log Message:
  -----------
  GUI2/Canvas: renamed blit function and removed surface argument


  Commit: 81f021a4a13a65f82204fe917ddf7269e16ace84
      https://github.com/wesnoth/wesnoth/commit/81f021a4a13a65f82204fe917ddf7269e16ace84
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/gui/widgets/container_base.cpp
    M src/gui/widgets/container_base.hpp
    M src/gui/widgets/generator.hpp
    M src/gui/widgets/generator_private.hpp
    M src/gui/widgets/grid.cpp
    M src/gui/widgets/grid.hpp
    M src/gui/widgets/matrix.cpp
    M src/gui/widgets/matrix.hpp
    M src/gui/widgets/minimap.cpp
    M src/gui/widgets/minimap.hpp
    M src/gui/widgets/multi_page.cpp
    M src/gui/widgets/multi_page.hpp
    M src/gui/widgets/pane.cpp
    M src/gui/widgets/pane.hpp
    M src/gui/widgets/panel.cpp
    M src/gui/widgets/panel.hpp
    M src/gui/widgets/scrollbar_container.cpp
    M src/gui/widgets/scrollbar_container.hpp
    M src/gui/widgets/spacer.cpp
    M src/gui/widgets/spacer.hpp
    M src/gui/widgets/styled_widget.cpp
    M src/gui/widgets/styled_widget.hpp
    M src/gui/widgets/toggle_panel.cpp
    M src/gui/widgets/toggle_panel.hpp
    M src/gui/widgets/tree_view_node.cpp
    M src/gui/widgets/tree_view_node.hpp
    M src/gui/widgets/viewport.cpp
    M src/gui/widgets/viewport.hpp
    M src/gui/widgets/widget.cpp
    M src/gui/widgets/widget.hpp
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  GUI2: removed framebuffer code from draw impl functions


  Commit: 88e0b86dca3da43d879dcc9d58f158336f604a8f
      https://github.com/wesnoth/wesnoth/commit/88e0b86dca3da43d879dcc9d58f158336f604a8f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/font/text.cpp

  Log Message:
  -----------
  Hack to get text to render right


  Commit: 5d18d3df4298d6ab34766efe4a999d1ec90c16a6
      https://github.com/wesnoth/wesnoth/commit/5d18d3df4298d6ab34766efe4a999d1ec90c16a6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M src/sdl/window.cpp
    M src/sdl/window.hpp
    M src/video.cpp

  Log Message:
  -----------
  Initial work on setting up an OpenGL context (nothing works yet)

[ci skip]


  Commit: 41331c36d9879b3e4bc45a48c247c3bf52f30bf1
      https://github.com/wesnoth/wesnoth/commit/41331c36d9879b3e4bc45a48c247c3bf52f30bf1
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M projectfiles/CodeBlocks/wesnoth.cbp

  Log Message:
  -----------
  Updated CB projectfile

[ci skip]


  Commit: 88ea6a71b0b372d639512a7811804b47bf04430d
      https://github.com/wesnoth/wesnoth/commit/88ea6a71b0b372d639512a7811804b47bf04430d
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M src/sdl/rect.cpp
    M src/sdl/utils.cpp

  Log Message:
  -----------
  Moved SDL_Rect ostream op to the correct file and improved output formatting


  Commit: 58ebe65710518b34573940219e85906b55165940
      https://github.com/wesnoth/wesnoth/commit/58ebe65710518b34573940219e85906b55165940
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M src/gui/core/canvas.cpp
    M src/gui/core/canvas.hpp
    M src/gui/widgets/panel.cpp
    M src/gui/widgets/styled_widget.cpp
    M src/gui/widgets/widget.cpp
    M src/gui/widgets/widget.hpp

  Log Message:
  -----------
  GUI2: refactored viewport setting and re-added clip rect setting

It turns out I had removed the clip rect setting in error; it prevented items in, say, a listbox from drawing
outside the widget's boundaries. I've re-added that now and moved viewport setting to the same place. It turns
out it didn't need to be set every canvas draw. The only reason the old code was passing the blitting rect
to the canvas was it was needed for the sdl_blit call. Since I can now set the viewport independent of a canvas
state, there's no longer a need to set the viewport in the canvas.


  Commit: c3d166b7c5f0d24fded58ded6a7ea7509058e229
      https://github.com/wesnoth/wesnoth/commit/c3d166b7c5f0d24fded58ded6a7ea7509058e229
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M src/gui/core/event/handler.cpp
    M src/gui/dialogs/lua_interpreter.cpp

  Log Message:
  -----------
  Fixed some unused parameter warnings


Compare: https://github.com/wesnoth/wesnoth/compare/def93dd57bba...c3d166b7c5f0


More information about the Commits mailing list