1. 22 Apr, 2020 8 commits
  2. 21 Apr, 2020 7 commits
  3. 20 Apr, 2020 11 commits
  4. 19 Apr, 2020 12 commits
  5. 18 Apr, 2020 2 commits
    • Jan Beich's avatar
      cmake: Silence -Werror=implicit-fallthrough in SDL2 headers · 1a2df0a5
      Jan Beich authored
      In file included from src/input_common/sdl/sdl_impl.cpp:16:
      In file included from /usr/local/include/SDL2/SDL.h:32:
      In file included from /usr/local/include/SDL2/SDL_main.h:25:
      /usr/local/include/SDL2/SDL_stdinc.h:445:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
              case 3:         *_p++ = _val;   /* fallthrough */
              ^
      /usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert '[[fallthrough]];' to silence this warning
              case 3:         *_p++ = _val;   /* fallthrough */
              ^
              [[fallthrough]];
      /usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert 'break;' to avoid fall-through
              case 3:         *_p++ = _val;   /* fallthrough */
              ^
              break;
      /usr/local/include/SDL2/SDL_stdinc.h:446:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
              case 2:         *_p++ = _val;   /* fallthrough */
              ^
      /usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert '[[fallthrough]];' to silence this warning
              case 2:         *_p++ = _val;   /* fallthrough */
              ^
              [[fallthrough]];
      /usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert 'break;' to avoid fall-through
              case 2:         *_p++ = _val;   /* fallthrough */
              ^
              break;
      /usr/local/include/SDL2/SDL_stdinc.h:447:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
              case 1:         *_p++ = _val;   /* fallthrough */
              ^
      /usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert '[[fallthrough]];' to silence this warning
              case 1:         *_p++ = _val;   /* fallthrough */
              ^
              [[fallthrough]];
      /usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert 'break;' to avoid fall-through
              case 1:         *_p++ = _val;   /* fallthrough */
              ^
              break;
      3 errors generated.
      1a2df0a5
    • ReinUsesLisp's avatar
      fixed_pipeline_state: Hash and compare the whole structure · d62f57cf
      ReinUsesLisp authored
      Pad FixedPipelineState's size to 384 bytes to be a multiple of 16.
      
      Compare the whole struct with std::memcmp and hash with CityHash. Using
      CityHash instead of a naive hash should reduce the number of collisions.
      Improve used type traits to ensure this operation is safe.
      
      With these changes the improvements to the hashable pipeline state are:
      
      Optimized structure
      Hash:            89 ns
      Comparison:     103 ns
      Construction*:  164 ns
      Struct size:    384 bytes
      
      Original structure
      Hash:           148 ns
      Equal:          174 ns
      Construction*:  281 ns
      Size:          1384 bytes
      
      * Attribute state initialization is not measured
      
      These measures are averages taken with std::chrono::high_accuracy_clock
      on MSVC shipped on Visual Studio 16.6.0 Preview 2.1.
      d62f57cf