1. 28 Aug, 2018 2 commits
    • Lioncash's avatar
      hle/result: Make ResultVal's move constructor as noexcept · f1bc62bb
      Lioncash authored
      Many containers within the standard library provide different behaviors
      based on whether or not a move constructor/assignment operator can be
      guaranteed not to throw or not.
      
      Notably, implementations will generally use std::move_if_noexcept (or an
      internal implementation of it) to provide strong exception guarantees.
      If a move constructor potentially throws (in other words, is not
      noexcept), then certain behaviors will create copies, rather than moving
      the values.
      
      For example, consider std::vector. When a std::vector calls resize(),
      there are two ways the elements can be relocated to the new block of
      memory (if a reallocation happens), by copy, or by moving the existing
      elements into the new block of memory. If a type does not have a
      guarantee that it will not throw in the move constructor, a copy will
      happen. However, if it can be guaranteed that the move constructor won't
      throw, then the elements will be moved.
      
      This just allows ResultVal to be moved instead of copied all the time if
      ever used in conjunction with containers for whatever reason.
      f1bc62bb
    • bunnei's avatar
      Merge pull request #1165 from bunnei/shader-cache · ffe23361
      bunnei authored
      renderer_opengl: Implement a new shader cache.
      ffe23361
  2. 27 Aug, 2018 20 commits
  3. 26 Aug, 2018 1 commit
    • tech4me's avatar
      set: Fixed GetAvailableLanguageCodes() to follow the max_entries · d26a46fe
      tech4me authored
      Rightnow, in games use GetAvailableLanguageCodes(), there is a WriteBuffer() with size larger than the buffer_size. (Core Critical core\hle\kernel\hle_ipc.cpp:WriteBuffer:296: size (0000000000000088) is greater than buffer_size (0000000000000078))
      
      0x88 = 17(languages) * 8
      0x78 = 15(languages) * 8
      
      GetAvailableLanguageCodes() can only support 15 languages.
      After firmware 4.0.0 there are 17 supported language instead of 15, to enable this GetAvailableLanguageCodes2() need to be used.
      So GetAvailableLanguageCodes() will be caped at 15 languages.
      Reference:
      http://switchbrew.org/index.php/Settings_services
      d26a46fe
  4. 25 Aug, 2018 15 commits
  5. 24 Aug, 2018 2 commits