aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-05-09configuration/config: Move config loading and saving to functions based off ↵Lioncash
groups Over time our config values have grown quite numerous in size. Unfortunately it also makes the single functions we have for loading and saving values more error prone. For example, we were loading the core settings twice when they only should have been loaded once. In another section, a variable was shadowing another variable used to load settings from a completely different section. Finally, in one other case, there was an extraneous endGroup() call used that didn't need to be done. This was essentially dead code and also a bug waiting to happen. This separates the section loading code into its own separate functions. This keeps variables only visible to the code that actually needs it, and makes it much easier to visually see the end of each individual configuration group. It also makes it much easier to visually catch bugs during code review. While we're at it, this also uses QStringLiteral instead of raw string literals, which both avoids constructing a lot of QString instances, but also makes it much easier to disable implicit ASCII to QString and vice-versa in the future via setting QT_NO_CAST_FROM_ASCII and QT_NO_CAST_TO_ASCII as compilation flags.
2019-05-07src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flagsLioncash
The C++ standard allows constexpr variables declared with the extern keyword to have external linkage. Previously MSVC wasn't abiding by this. This just makes the compiler more standards compliant during builds. Given we currently don't make use of anything that would break by this, this is safe to enable.
2019-05-07src/CMakeLists: Vertically order compilation flagsLioncash
Makes it much nicer to visually scan the options. This also starts the flag descriptions from the same column for the same reason.
2019-05-07core/memory: Remove unused FlushMode enumLioncash
Recent changes to memory-related code resulted in this being unused, so we can remove it.
2019-05-07Correct possible error on Rasterizer CachesFernando Sahmkow
There was a weird bug that could happen if the object died directly and the cache address wasn't stored.
2019-05-07Merge pull request #2447 from lioncash/dtorRodrigo Locatti
core/frontend/emu_window: Make GraphicsContext's destructor virtual
2019-05-07Merge pull request #2448 from lioncash/pragmaRodrigo Locatti
common/zstd_compression: Remove #pragma once directive from source file
2019-05-04core/telemetry_session: Only create the backend when we really need itzhupengfei
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
2019-05-04shader/decode/texture: Remove unused variableLioncash
This isn't used anywhere, so we can get rid of it.
2019-05-04CMakeLists: Explicitly specify -Wall for the non-MSVC caseLioncash
Ensures that -Wall is always active as a compilation flag.
2019-05-04gl_rasterizer: Silence unused variable warningLioncash
Makes use of src, so it's not considered unused.
2019-05-04common/zstd_compression: Remove #pragma once directive from source fileLioncash
Introduced in 72477731ed20c56a4d6f18a22f43224fab667cef. This is only necessary within header files.
2019-05-04core/frontend/emu_window: Make GraphicsContext's destructor virtualLioncash
This class is used in a polymorphic context, so destruction of the context will lead to undefined behavior if the destructor isn't virtual.
2019-05-02shader_ir/other: Implement IPA.IDXReinUsesLisp
2019-05-02gl_shader_decompiler: Skip physical unused attributesReinUsesLisp
2019-05-02shader_ir/memory: Assert on non-32 bits ALD.PHYSReinUsesLisp
2019-05-02shader: Add physical attributes commentariesReinUsesLisp
2019-05-02gl_shader_decompiler: Implement GLSL physical attributesReinUsesLisp
2019-05-02shader_ir/memory: Implement physical input attributesReinUsesLisp
2019-05-02gl_shader_decompiler: Abstract generic attribute operationsReinUsesLisp
2019-05-02gl_shader_decompiler: Declare all possible varyings on physical attribute usageReinUsesLisp
2019-05-02shader: Remove unused AbufNode Ipa modeReinUsesLisp
2019-05-02shader_ir/memory: Emit AL2P IRReinUsesLisp
2019-05-02shader_bytecode: Add AL2P decodingReinUsesLisp
2019-05-01Refactors and name corrections.Fernando Sahmkow
2019-04-30service/audren_u: Handle variadic command buffers in GetWorkBufferSize()Lioncash
Also introduced in REV5 was a variable-size audio command buffer. This also affects how the size of the work buffer should be determined, so we can add handling for this as well. Thankfully, no other alterations were made to how the work buffer size is calculated in 7.0.0-8.0.0. There were indeed changes made to to how some of the actual audio commands are generated though (particularly in REV7), however they don't apply here.
2019-04-30service/audren_u: Handle version 2 of performance frame info in ↵Lioncash
GetWorkBufferSize() Introduced in REV5. This is trivial to add support for, now that everything isn't a mess of random magic constant values. All this is, is a change in data type sizes as far as this function cares.
2019-04-30service/audren_u: Clean up work buffer calculationsLioncash
"Unmagics" quite a few magic constants within this code, making it much easier to understand. Particularly given this factors out specific sections into their own self-contained lambda functions.
2019-05-01gl_shader_disk_cache: Skip stored shader variants instead of assertingReinUsesLisp
Instead of asserting on already stored shader variants, silently skip them. This shouldn't be happening but when a shader is invalidated and it is not stored in the shader cache, this assert would hit and save that shader anyways when the asserts are disabled.
2019-04-30Fix Layered ASTC TexturesFernando Sahmkow
By adding the missing layer offset in ASTC compression.
2019-04-30loader/nso: Remove left-in debug pragmaLioncash
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
2019-04-30Merge pull request #2100 from FreddyFunk/disk-cache-precompiled-filebunnei
gl_shader_disk_cache: Improve precompiled shader cache generation speed and size
2019-04-29kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread ↵Lioncash
calls show up in the debug log These are actually quite important indicators of thread lifetimes, so they should be going into the debug log, rather than being treated as misc info and delegated to the trace log.
2019-04-29kernel/svc: Reorganize svcSetThreadCoreMask()Lioncash
Makes the code much nicer to follow in terms of behavior and control flow. It also fixes a few bugs in the implementation. Notably, the thread's owner process shouldn't be accessed in order to retrieve the core mask or ideal core. This should be done through the current running process. The only reason this bug wasn't encountered yet is because we currently only support running one process, and thus every owner process will be the current process. We also weren't checking against the process' CPU core mask to see if an allowed core is specified or not. With this out of the way, it'll be less noisy to implement proper handling of the affinity flags internally within the kernel thread instances.
2019-04-29kernel/thread: Update thread processor ID flagsLioncash
Adds the missing flags to the enum and documents them.
2019-04-28Merge pull request #2435 from ReinUsesLisp/misc-vcbunnei
shader_ir: Miscellaneous fixes
2019-04-28Merge pull request #2412 from lioncash/systembunnei
kernel/vm_manager: Remove usages of global system accessors
2019-04-28Merge pull request #2322 from ReinUsesLisp/wswitchbunnei
video_core: Silent -Wswitch warnings
2019-04-28Merge pull request #2423 from FernandoS27/half-correctbunnei
Corrections on Half Float operations: HADD2 HMUL2 and HFMA2
2019-04-27service/audctl: Update documentation comments to be relative to 8.0.0Lioncash
The state of these service calls are still the same in version 8.0.0.
2019-04-26shader_ir: Move Sampler index entry in operand< to sort declarationsReinUsesLisp
2019-04-26shader_ir: Add missing entry to Sampler operand< comparisonReinUsesLisp
2019-04-26shader_ir/texture: Fix sampler const buffer key shiftReinUsesLisp
2019-04-25mii_manager: Fix incorrect loop condition in mii UUID generation codeZach Hilman
2019-04-25profile_select: Port Service::Account::UUID to Common::UUIDZach Hilman
2019-04-25mii: Implement Delete and Destroy fileZach Hilman
2019-04-25mii: Implement IsUpdated command (IPC 0)Zach Hilman
2019-04-25mii_manager: Cleanup and optimizationZach Hilman
2019-04-25mii: Implement IDatabaseService commands using MiiManagerZach Hilman
Since the MiiManager was designed around the IPC interface, this is quite easy. Only functions that were clearly defined were implemented.
2019-04-25mii: Add MiiManager class to manage Mii databaseZach Hilman
Provides serialization/deserialization to the database in system save files, accessors for database state and proper handling of both major Mii formats (MiiInfo and MiiStoreData)