- Aug 21, 2018
-
-
Lioncash authored
The previous form of initializing done here is a C-ism, an empty set of braces is sufficient for initializing (and doesn't potentially cause missing brace warnings, given the first member of the struct is a COORD struct).
-
MerryMage authored
25us is far too small, and would result in std::this_thread::sleep_for being called with this as a maximum value. This means that a guest application that produces frames instantly would only be limited to 40 kHz. 25ms is a more appropriate value, as it allows for a 60 Hz refresh rate while providing enough slack in the negative region.
-
Lioncash authored
This doesn't require the central core header to be included, it just needs the vfs headers.
-
fearlessTobi authored
-
Lioncash authored
Gets rid of a TODO that is long overdue.
-
Lioncash authored
LOG_TRACE is only enabled on debug builds which can be quite slow when trying to debug graphics issues. Instead we can log the messages to the debug log, which is available on both release and debug builds.
-
Lioncash authored
Avoids the need to rebuild multiple source files if the filesystem code headers change. This also gets rid of a few instances of indirect inclusions being relied upon
-
Lioncash authored
Prevents potential compilation errors from occuring due to multiple inclusions
-
Subv authored
We'll write <last color output reg + 2> to gl_FragDepth.
-
bunnei authored
-
bunnei authored
-
bunnei authored
-
Subv authored
The X and Y coordinates should be in gpr8 and gpr8+1, respectively. This fixes the cutscene rendering in Sonic Mania.
-
Subv authored
-
Lioncash authored
Avoids the need to rebuild whatever includes the romfs factory header if the loader header ever changes. We also don't need to include the main core header. We can instead include the headers we specifically need.
-
Lioncash authored
telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId() Given these functions aren't intended to be used frequently, there's no need to keep the std::string instances allocated for the whole lifetime of the program. It's just a waste of memory.
-
- Aug 20, 2018
-
-
Lioncash authored
This is only used in a shared_ptr, so we can forward declare it.
-
Lioncash authored
We have an overload of WriteBuffer that accepts containers that satisfy the ContiguousContainer concept, which std::array does, so we only need to pass in the array itself.
-
Lioncash authored
Arranges them in the order the members would be initialized
-
Lioncash authored
This is no longer used, so it can be removed.
-
Lioncash authored
Makes it a little bit more self-documenting.
-
Lioncash authored
Given the source and destination types are the same std::array type, we can simply use regular assignment to perform the same behavior.
-
Lioncash authored
Avoids the need to repeatedly specify the whole array type in multiple places.
-
Lioncash authored
ProfileInfo is quite a large struct in terms of data, and we don't need to perform a copy in these instances, so we can just pass constant references instead.
-
Lioncash authored
This doesn't modify the passed in array, so this can be a const reference.
-
Lioncash authored
This can just be constexpr like the others
-
Lioncash authored
We can use the constructor initializer list and just compare the contained u128's together instead of comparing each element individually. Ditto for comparing against an invalid UUID.
-
Lioncash authored
This avoids needing to dump the contents of <random> into other files that include the profile manager header.
-
Lioncash authored
This is an OpenGL renderer-specific data type. Given that, this type shouldn't be used within the base interface for the rasterizer. Instead, we can pass this information to the rasterizer via reference.
-
Lioncash authored
Given we use a base-class type within the renderer for the rasterizer (RasterizerInterface), we want to allow renderers to perform more complex initialization if they need to do such a thing. This makes it important to reserve type information. Given the OpenGL renderer is quite simple settings-wise, this is just a simple shuffling of the initialization code. For something like Vulkan however this might involve doing something like: // Initialize and call rasterizer-specific function that requires // the full type of the instance created. auto raster = std::make_unique<VulkanRasterizer>(some, params); raster->CallSomeVulkanRasterizerSpecificFunction(); // Assign to base class variable rasterizer = std::move(raster)
-
Subv authored
We were only writing to the first render target before. Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer. Dual Source blending is not implemented and stuff that uses it might not work at all.
-
Zach Hilman authored
-
Lioncash authored
Moving a const reference isn't possible, so this just results in a copy (and given ProfileInfo is composed of trivial types and aggregates, a move wouldn't really do anything).
-
Subv authored
Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus doing format conversion) to a new texture when a game requests an old texture address with a different format.
-
Subv authored
Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer.
-
David Marcec authored
Needed by kirby
-
Lioncash authored
Avoids potentially leaving this variable uninitialized based off the loader failing to retrieve the ID value.
-
David Marcec authored
This fixes save files not loading in splatoon 2
-
- Aug 19, 2018