summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gl_shader_manager: Replace unimplemented function prototypeGravatar Lioncash2018-07-202-3/+3
| | | | This was just a linker error waiting to happen.
* Merge pull request #740 from Subv/acc_crashGravatar bunnei2018-07-201-6/+8
|\ | | | | HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
| * HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.Gravatar Subv2018-07-201-6/+8
| | | | | | | | | | | | And make IManagerForApplication::CheckAvailability always return false. Returning a bogus id from GetAccountId causes games to crash on boot. We should investigate this with a hwtest and either stub it properly or implement it.
* | Merge pull request #738 from lioncash/signGravatar bunnei2018-07-201-16/+20
|\ \ | | | | | | gl_state: Get rid of mismatched sign conversions in Apply()
| * | gl_state: Make references const where applicable in Apply()Gravatar Lioncash2018-07-201-2/+3
| | |
| * | gl_state: Get rid of mismatched sign conversionsGravatar Lioncash2018-07-201-14/+17
| | | | | | | | | | | | | | | While we're at it, amend the loop variable type to be the same width as that returned by the .size() call.
* | | Merge pull request #737 from lioncash/moveGravatar bunnei2018-07-204-5/+9
|\ \ \ | | | | | | | | filesys/loader: std::move VirtualFile instances in constructors where applicable
| * | | loader/{nca, nro}: std::move VirtualFile in the constructors where applicableGravatar Lioncash2018-07-202-2/+4
| | | | | | | | | | | | | | | | This avoids unnecessary atomic reference count increments and decrements
| * | | vfs_offset: std::move file and name parameters of OffsetVfsFileGravatar Lioncash2018-07-202-3/+5
| |/ / | | | | | | | | | | | | Avoids potentially unnecessary atomic reference count incrementing and decrementing, as well as string copying.
* | | Merge pull request #736 from lioncash/nullGravatar bunnei2018-07-202-3/+6
|\ \ \ | | | | | | | | audout_u/audren_u: Ensure null terminators are written out in ListAudioOutsImpl(), ListAudioDeviceName(), and GetActiveAudioDeviceName()
| * | | audren_u: Use a std::array instead of std::string for holding the audio ↵Gravatar Lioncash2018-07-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | interface/device name std::string doesn't include the null-terminator in its data() + size() range. This ensures that the null-terminator will also be written to the buffer
| * | | audout_u: Use a std::array instead of std::string for holding the audio ↵Gravatar Lioncash2018-07-191-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | interface name Uses a type that doesn't potentially dynamically allocate, and ensures that the name of the interface is properly null-terminated when writing it to the buffer.
* | | Merge pull request #735 from lioncash/video-unusedGravatar bunnei2018-07-201-2/+0
|\ \ \ | | | | | | | | maxwell_3d: Remove unused variable within GetStageTextures()
| * | | maxwell_3d: Remove unused variable within GetStageTextures()Gravatar Lioncash2018-07-191-2/+0
| |/ /
* | | Merge pull request #734 from lioncash/threadGravatar bunnei2018-07-2010-93/+92
|\ \ \ | | | | | | | | thread: Convert ThreadStatus into an enum class
| * | | thread: Convert ThreadStatus into an enum classGravatar Lioncash2018-07-1910-93/+92
| |/ / | | | | | | | | | | | | Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time.
* | | Merge pull request #733 from lioncash/dirsGravatar bunnei2018-07-201-1/+1
|\ \ \ | | | | | | | | partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
| * | | partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()Gravatar Lioncash2018-07-191-1/+1
| |/ / | | | | | | | | | | | | This should be returned here, otherwise pfs_dirs is effectively only ever added to, but never read.
* | | Merge pull request #732 from lioncash/unusedGravatar bunnei2018-07-201-17/+6
|\ \ \ | | | | | | | | nso: Minor changes
| * | | nso: Silence implicit sign conversion warningsGravatar Lioncash2018-07-191-4/+6
| | | |
| * | | nso: Remove unused function ReadSegment()Gravatar Lioncash2018-07-191-13/+0
| |/ /
* | | Merge pull request #731 from lioncash/shadowGravatar bunnei2018-07-201-6/+4
|\ \ \ | |_|/ |/| | gl_shader_decompiler: Eliminate variable and declaration shadowing
| * | gl_shader_decompiler: Eliminate variable and declaration shadowingGravatar Lioncash2018-07-191-6/+4
| |/ | | | | | | | | Ensures that no identifiers are being hidden, which also reduces compiler warnings.
* | Merge pull request #730 from lioncash/stringGravatar bunnei2018-07-191-2/+2
|\ \ | | | | | | gl_shader_decompiler: Remove unnecessary const from return values
| * | gl_shader_decompiler: Remove unnecessary const from return valuesGravatar Lioncash2018-07-191-2/+2
| |/ | | | | | | | | This adds nothing from a behavioral point of view, and can inhibit the move constructor/RVO
* / pl_u: Simplify WriteBuffer() calls in GetSharedFontInOrderOfPriority()Gravatar Lioncash2018-07-191-3/+3
|/ | | | With the new overload, we can simply pass the container directly.
* Merge pull request #726 from lioncash/overloadGravatar bunnei2018-07-195-10/+25
|\ | | | | hle_ipc: Introduce generic WriteBuffer overload for multiple container types
| * hle_ipc: Introduce generic WriteBuffer overload for multiple container typesGravatar Lioncash2018-07-195-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a slightly more generic variant of WriteBuffer(). Notably, this variant doesn't constrain the arguments to only accepting std::vector instances. It accepts whatever adheres to the ContiguousContainer concept in the C++ standard library. This essentially means, std::array, std::string, and std::vector can be used directly with this interface. The interface no longer forces you to solely use containers that dynamically allocate. To ensure our overloads play nice with one another, we only enable the container-based WriteBuffer if the argument is not a pointer, otherwise we fall back to the pointer-based one.
* | Merge pull request #725 from lioncash/bytesGravatar bunnei2018-07-191-3/+3
|\ \ | | | | | | pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
| * | pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()Gravatar Lioncash2018-07-191-3/+3
| |/ | | | | | | | | This WriteBuffer overload expects its size argument to be in bytes, not elements.
* | Merge pull request #728 from Subv/acc_profileGravatar bunnei2018-07-191-7/+16
|\ \ | | | | | | HLE/ACC: Change the default user id and small improvements to the way we handle profiles
| * | HLE/ACC: Return an IProfile that is consistent with what was requested.Gravatar Subv2018-07-191-5/+15
| | | | | | | | | | | | | | | The default username for now is "yuzu". We should eventually allow the creation of users in the emulator and have the ability to modify their parameters.
| * | HLE/ACC: Change the default user id to be consistent with what we tell games ↵Gravatar Subv2018-07-191-2/+1
| | | | | | | | | | | | | | | | | | on startup. In IApplicationFunctions::PopLaunchParameter we tell the games that they were launched as user id 1.
* | | Merge pull request #727 from Subv/acc_usersGravatar bunnei2018-07-191-4/+6
|\ \ \ | | | | | | | | HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
| * | | HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.Gravatar Subv2018-07-191-4/+6
| |/ / | | | | | | | | | We only emulate a single user id for now.
* | | Merge pull request #724 from lioncash/printfGravatar bunnei2018-07-191-1/+1
|\ \ \ | | | | | | | | pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
| * | | pl_u: Remove printf specifier in log call in a log call in ↵Gravatar Lioncash2018-07-191-1/+1
| | |/ | |/| | | | | | | | | | | | | GetSharedFontInOrderOfPriority() This can just use the fmt specifiers and be type-agnostic.
* | | Merge pull request #723 from lioncash/gdbGravatar bunnei2018-07-191-7/+7
|\ \ \ | | | | | | | | gdbstub: Get rid of a few signed/unsigned comparisons
| * | | gdbstub: Get rid of a few signed/unsigned comparisonsGravatar Lioncash2018-07-191-7/+7
| | | | | | | | | | | | | | | | Ensures both operands in comparisons are the same signedness.
* | | | Merge pull request #722 from lioncash/signedGravatar bunnei2018-07-192-8/+4
|\ \ \ \ | | | | | | | | | | hid: Resolve a signed/unsigned comparison warning
| * | | | hid: Use a ranged-for loops in UpdatePadCallbackGravatar Lioncash2018-07-191-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Modernizes the loops themselves while also getting rid of a signed/unsigned comparison in a loop condition.
| * | | | hid: Use HID_NUM_LAYOUTS constant for indicating size of the layouts arrayGravatar Lioncash2018-07-191-1/+1
| |/ / / | | | | | | | | | | | | Gets rid of the use of a magic constant
* | | | Merge pull request #721 from lioncash/svcGravatar bunnei2018-07-191-3/+4
|\ \ \ \ | | | | | | | | | | svc: Correct always true assertion case in SetThreadCoreMask
| * | | | svc: Correct always true assertion case in SetThreadCoreMaskGravatar Lioncash2018-07-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason this would never be true is that ideal_processor is a u8 and THREADPROCESSORID_DEFAULT is an s32. In this case, it boils down to how arithmetic conversions are performed before performing the comparison. If an unsigned value has a lesser conversion rank (aka smaller size) than the signed type being compared, then the unsigned value is promoted to the signed value (i.e. u8 -> s32 happens before the comparison). No sign-extension occurs here either. An alternative phrasing: Say we have a variable named core and it's given a value of -2. u8 core = -2; This becomes 254 due to the lack of sign. During integral promotion to the signed type, this still remains as 254, and therefore the condition will always be true, because no matter what value the u8 is given it will never be -2 in terms of 32 bits. Now, if one type was a s32 and one was a u32, this would be entirely different, since they have the same bit width (and the signed type would be converted to unsigned instead of the other way around) but would still have its representation preserved in terms of bits, allowing the comparison to be false in some cases, as opposed to being true all the time. --- We also get rid of two signed/unsigned comparison warnings while we're at it.
* | | | | Merge pull request #719 from lioncash/docsGravatar bunnei2018-07-192-5/+5
|\ \ \ \ \ | | | | | | | | | | | | loader: Amend Doxygen comments
| * | | | | loader: Amend Doxygen commentsGravatar Lioncash2018-07-192-5/+5
| |/ / / / | | | | | | | | | | | | | | | These weren't adjusted when VFS was introduced
* | | | | Merge pull request #718 from lioncash/readGravatar bunnei2018-07-191-4/+6
|\ \ \ \ \ | | | | | | | | | | | | loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
| * | | | | loader/nso: Check if read succeeded in IdentifyFile() before checking magic ↵Gravatar Lioncash2018-07-191-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | value We should always assume the filesystem is volatile and check each IO operation. While we're at it reorganize checks so that early-out errors are near one another.
* | | | | | Merge pull request #717 from lioncash/explicitGravatar bunnei2018-07-1922-25/+25
|\ \ \ \ \ \ | | | | | | | | | | | | | | hle/service: Make constructors explicit where applicable
| * | | | | | hle/service: Make constructors explicit where applicableGravatar Lioncash2018-07-1922-25/+25
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Prevents implicit construction and makes these lingering non-explicit constructors consistent with the rest of the other classes in services.