Skip to content
Snippets Groups Projects
  1. Aug 29, 2018
    • Lioncash's avatar
      kernel: Eliminate kernel global state · 0cbcd6ec
      Lioncash authored
      As means to pave the way for getting rid of global state within core,
      This eliminates kernel global state by removing all globals. Instead
      this introduces a KernelCore class which acts as a kernel instance. This
      instance lives in the System class, which keeps its lifetime contained
      to the lifetime of the System class.
      
      This also forces the kernel types to actually interact with the main
      kernel instance itself instead of having transient kernel state placed
      all over several translation units, keeping everything together. It also
      has a nice consequence of making dependencies much more explicit.
      
      This also makes our initialization a tad bit more correct. Previously we
      were creating a kernel process before the actual kernel was initialized,
      which doesn't really make much sense.
      
      The KernelCore class itself follows the PImpl idiom, which allows
      keeping all the implementation details sealed away from everything else,
      which forces the use of the exposed API and allows us to avoid any
      unnecessary inclusions within the main kernel header.
      0cbcd6ec
  2. Aug 24, 2018
  3. Aug 12, 2018
  4. Aug 10, 2018
  5. Aug 09, 2018
  6. Aug 07, 2018
  7. Aug 04, 2018
    • Lioncash's avatar
      renderer_base: Make Rasterizer() return the rasterizer by reference · 2665457f
      Lioncash authored
      All calling code assumes that the rasterizer will be in a valid state,
      which is a totally fine assumption. The only way the rasterizer wouldn't
      be is if initialization is done incorrectly or fails, which is checked
      against in System::Init().
      2665457f
    • Lioncash's avatar
      video_core: Eliminate the g_renderer global variable · 6030c5ce
      Lioncash authored
      We move the initialization of the renderer to the core class, while
      keeping the creation of it and any other specifics in video_core. This
      way we can ensure that the renderer is initialized and doesn't give
      unfettered access to the renderer. This also makes dependencies on types
      more explicit.
      
      For example, the GPU class doesn't need to depend on the
      existence of a renderer, it only needs to care about whether or not it
      has a rasterizer, but since it was accessing the global variable, it was
      also making the renderer a part of its dependency chain. By adjusting
      the interface, we can get rid of this dependency.
      6030c5ce
  8. Aug 03, 2018
  9. Aug 02, 2018
    • Lioncash's avatar
      hw: Remove unused files · c6db1c39
      Lioncash authored
      None of these files are used in any meaningful way. They're just
      leftovers from citra. Also has the benefit of getting rid of an unused
      global variable.
      c6db1c39
    • Lioncash's avatar
      kernel: Move object class to its own source files · bf45092c
      Lioncash authored
      General moving to keep kernel object types separate from the direct
      kernel code. Also essentially a preliminary cleanup before eliminating
      global kernel state in the kernel code.
      bf45092c
    • Lioncash's avatar
      video_core: Make global EmuWindow instance part of the base renderer class · 0f2ac928
      Lioncash authored
      Makes the global a member of the RendererBase class. We also change this
      to be a reference. Passing any form of null pointer to these functions
      is incorrect entirely, especially given the code itself assumes that the
      pointer would always be in a valid state.
      
      This also makes it easier to follow the lifecycle of instances being
      used, as we explicitly interact the renderer with the rasterizer, rather
      than it just operating on a global pointer.
      0f2ac928
  10. Aug 01, 2018
  11. Jul 30, 2018
  12. Jul 28, 2018
  13. Jul 22, 2018
  14. Jul 19, 2018
  15. Jul 18, 2018
  16. Jul 08, 2018
  17. Jul 06, 2018
    • Zach Hilman's avatar
      Virtual Filesystem (#597) · 77c684c1
      Zach Hilman authored
      * Add VfsFile and VfsDirectory classes
      
      * Finish abstract Vfs classes
      
      * Implement RealVfsFile (computer fs backend)
      
      * Finish RealVfsFile and RealVfsDirectory
      
      * Finished OffsetVfsFile
      
      * More changes
      
      * Fix import paths
      
      * Major refactor
      
      * Remove double const
      
      * Use experimental/filesystem or filesystem depending on compiler
      
      * Port partition_filesystem
      
      * More changes
      
      * More Overhaul
      
      * FSP_SRV fixes
      
      * Fixes and testing
      
      * Try to get filesystem to compile
      
      * Filesystem on linux
      
      * Remove std::filesystem and document/test
      
      * Compile fixes
      
      * Missing include
      
      * Bug fixes
      
      * Fixes
      
      * Rename v_file and v_dir
      
      * clang-format fix
      
      * Rename NGLOG_* to LOG_*
      
      * Most review changes
      
      * Fix TODO
      
      * Guess 'main' to be Directory by filename
      77c684c1
  18. Jul 03, 2018
  19. May 10, 2018
  20. Apr 26, 2018
  21. Apr 20, 2018
  22. Apr 06, 2018
  23. Mar 27, 2018
  24. Mar 19, 2018
  25. Mar 14, 2018
  26. Feb 25, 2018
Loading