Skip to content
Snippets Groups Projects
  1. Oct 28, 2020
    • ReinUsesLisp's avatar
      shader/arithmetic: Implement FCMP immediate + register variant · 44b552be
      ReinUsesLisp authored
      Trivially add the encoding for this.
      44b552be
    • ReinUsesLisp's avatar
      video_core: Enforce -Wredundant-move and -Wpessimizing-move · 79da90ce
      ReinUsesLisp authored
      Silence three warnings and make them errors to avoid introducing more in the future.
      79da90ce
    • ReinUsesLisp's avatar
      video_core: Enforce -Werror=type-limits · 4a451e58
      ReinUsesLisp authored
      Silences one warning and avoids introducing more in the future.
      4a451e58
    • ReinUsesLisp's avatar
      common/fiber: Take shared_ptr<Fiber> by copy in YieldTo · cdb2480d
      ReinUsesLisp authored
      YieldTo does not intend to modify the passed shared_ptrs.
      Pass it by copy to keep a reference count while this function executes.
      cdb2480d
    • ReinUsesLisp's avatar
      tests: Fix data race in fibers test · 3fdb42e0
      ReinUsesLisp authored
      Previous to this commit, the tests were using operator[] from
      unordered_map to query elements but this silently inserts empty elements
      when they don't exist. If all threads were executed without concurrency,
      this wouldn't be an issue, but the same unordered_map could be written
      from two threads at the same time. This is a data race and makes some
      previously inserted elements invisible for a short period of time,
      causing them to insert and return an empty element. This default
      constructed element (a zero) was used to index an array of fibers that
      asserted when one of them was nullptr, shutting the test session off.
      
      To address this issue, lock on thread id reads and writes. This could be
      a shared mutex to allow concurrent reads, but the definition of
      std::this_thread::get_id is fuzzy when using non-standard techniques
      like fibers. I opted to use a standard mutex.
      
      While we are at it, fix the included headers.
      3fdb42e0
  2. Oct 27, 2020
    • liushuyu's avatar
      web_backend: fix a regression introduced in 39c8d18f · 8e673cbb
      liushuyu authored
      * A regression was in 39c8d18f and token verification function was
        broken.
      * The reason being `httplib` now requires OpenSSL 1.1+ API while
        LibreSSL 2.x provided OpenSSL 1.0 compatible API.
      * The bundled LibreSSL has been updated to 3.2.2 so it now provides
        OpenSSL 1.1 compatible API now.
      * Also the path hint has been added so that it will find the correct
        path to the CA certs on *nix systems.
      * An option is provided so that *nix system distributions/providers can
        use their own SSL implementations when compiling Yuzu/Citra to
        (hopefully) complies with their maintenance guidelines.
      * LURLParse is also removed since `httplib` can handle
        `scheme:host:port` string itself now.
    • bunnei's avatar
      yuzu: settings: Enable multicore, asynch GPU, and assembly shaders by default. · 941563f9
      bunnei authored
      - In general, this is now the preferred settings for most games.
      
      # Conflicts:
      #	src/yuzu/configuration/config.cpp
      941563f9
    • ReinUsesLisp's avatar
      hle/kernel: Remove unused registered_core_threads to fix data races · ce69ff28
      ReinUsesLisp authored
      This member was only used on asserts and it triggered data races.
      Remove it to fix them.
      ce69ff28
    • ameerj's avatar
      video_core: NVDEC Implementation · eb67a45c
      ameerj authored
      
      This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
      
      The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
      
      To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
      
      Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
      
      Async GPU is not properly implemented at the moment.
      
      Co-Authored-By: default avatarDavid <25727384+ogniK5377@users.noreply.github.com>
      eb67a45c
    • Lioncash's avatar
      controller: Pass ControllerParameters by reference in ReconfigureControllers() · 6b5f5653
      Lioncash authored
      Prevents unnecessary copies and heap reallocations from occurring.
      6b5f5653
  3. Oct 26, 2020
  4. Oct 25, 2020
  5. Oct 22, 2020
  6. Oct 21, 2020
  7. Oct 20, 2020
  8. Oct 18, 2020
  9. Oct 17, 2020
  10. Oct 16, 2020
  11. Oct 15, 2020
  12. Oct 14, 2020
  13. Oct 13, 2020
    • ReinUsesLisp's avatar
      kernel: Implement host thread register methods without locking · b9a9b83b
      ReinUsesLisp authored
      Locks on GetCurrentHostThreadID were causing performance issues
      according to Visual Studio's profiler. It was consuming twice the time
      as arm_interface.Run(). The cost was not in the function itself but in
      the lockinig it required.
      
      Reimplement these functions using atomics and static storage instead of
      an unordered_map. This is a side effect to avoid locking and using linked
      lists for reads.
      
      Replace unordered_map with a linear search.
      b9a9b83b
    • Lioncash's avatar
      audio_core/CMakeLists: Make warnings consistent with core · 9f9b64d2
      Lioncash authored
      Normalizes the warnings shared between audio_core and core.
      9f9b64d2
    • Lioncash's avatar
      core/CMakeLists: Make some warnings errors · 39c8d18f
      Lioncash authored
      Makes our error coverage a little more consistent across the board by
      applying it to Linux side of things as well. This also makes it more
      consistent with the warning settings in other libraries in the project.
      
      This also updates httplib to 0.7.9, as there are several warning
      cleanups made that allow us to enable several warnings as errors.
      39c8d18f
    • ReinUsesLisp's avatar
      vk_graphics_pipeline: Manage primitive topology as fixed state · e4e0abc4
      ReinUsesLisp authored
      Vulkan has requirements for primitive topologies that don't play nicely
      with yuzu's. Since it's only 4 bits, we can move it to fixed state
      without changing the size of the pipeline key.
      
      - Fixes a regression on recent Nvidia drivers on Fire Emblem: Three
        Houses.
      e4e0abc4
Loading