- Mar 02, 2019
-
-
Weiyi Wang authored
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
-
- Feb 27, 2019
-
-
Annomatg authored
- Memory::MapPages total samplecount was reduced from 4.6% to 1.06%. - From main menu into the game from 1.03% to 0.35%
-
- Dec 19, 2018
-
-
David Marcec authored
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
-
- Dec 06, 2018
-
-
Lioncash authored
Given memory should always be expected to be valid during normal execution, this should be a debug assertion, rather than a check in regular builds.
-
Lioncash authored
This was only ever public so that code could check whether or not a handle was valid or not. Instead of exposing the object directly and allowing external code to potentially mess with the map contents, we just provide a member function that allows checking whether or not a handle is valid. This makes all member variables of the VMManager class private except for the page table.
-
- Dec 05, 2018
-
-
heapo authored
Call shrink_to_fit after page-table vector resizing to cause crt to actually lower vector capacity. For 36-bit titles saves 800MB of commit.
-
- Oct 30, 2018
-
-
Frederic L authored
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
-
- Sep 30, 2018
-
-
Lioncash authored
Makes the public interface consistent in terms of how accesses are done on a process object. It also makes it slightly nicer to reason about the logic of the process class, as we don't want to expose everything to external code.
-
- Sep 25, 2018
-
-
Lioncash authored
The locations of these can actually vary depending on the address space layout, so we shouldn't be using these when determining where to map memory or be using them as offsets for calculations. This keeps all the memory ranges flexible and malleable based off of the virtual memory manager instance state.
-
Lioncash authored
Given games can also request a 32-bit or 39-bit address space, we shouldn't be hardcoding the address space range as 36-bit.
-
- Sep 15, 2018
-
-
fearlessTobi authored
-
- Aug 31, 2018
-
-
bunnei authored
-
- Aug 28, 2018
-
-
Lioncash authored
Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
-
- Aug 04, 2018
-
-
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().
-
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.
-
- Aug 03, 2018
- Jul 18, 2018
- Jul 03, 2018
-
-
James Rowe authored
-
James Rowe authored
-
- Jun 22, 2018
-
-
Michael Scire authored
-
- May 10, 2018
-
-
bunnei authored
-
- May 02, 2018
-
-
Lioncash authored
This makes the formatting expectations more obvious (e.g. any zero padding specified is padding that's entirely dedicated to the value being printed, not any pretty-printing that also gets tacked on).
-
- Apr 27, 2018
-
-
Lioncash authored
-
- Apr 25, 2018
- Mar 27, 2018
- Mar 23, 2018
- Mar 22, 2018
-
-
N00byKing authored
-
- Mar 14, 2018
-
-
bunnei authored
-
- Feb 21, 2018
-
-
MerryMage authored
-
- Feb 14, 2018
-
-
Lioncash authored
-
- Jan 27, 2018
-
-
MerryMage authored
-