summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* yuzu/yuzu_cmd: Add checks for required extension ARB_copy_image.Gravatar bunnei2018-10-062-0/+4
|
* fermi_2d: Implement simple copies with AccelerateSurfaceCopy.Gravatar bunnei2018-10-063-24/+36
|
* gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies.Gravatar bunnei2018-10-065-16/+60
|
* gl_rasterizer_cache: Implement a simpler surface copy using glCopyImageSubData.Gravatar bunnei2018-10-061-0/+21
|
* Merge pull request #1449 from lioncash/linkGravatar bunnei2018-10-062-2/+2
|\ | | | | qt: Update telemetry links
| * qt: Update telemetry linksGravatar Lioncash2018-10-062-2/+2
|/ | | | These were pointing to a non-existent webpage.
* Merge pull request #1332 from FearlessTobi/port-web-backendGravatar bunnei2018-10-0655-40/+21635
|\ | | | | Port web_service from Citra
| * Review comments - part 5Gravatar fearlessTobi2018-10-024-8/+7
| |
| * Review comments -part 4Gravatar fearlessTobi2018-10-024-9/+7
| |
| * Review comments - part 3Gravatar fearlessTobi2018-10-027-26/+8
| |
| * web_backend: protect jwt cache with a mutexGravatar Weiyi Wang2018-10-022-1/+4
| |
| * Address more review commentsGravatar fearlessTobi2018-10-022-5/+5
| |
| * Address a bunch of review commentsGravatar fearlessTobi2018-10-0211-19/+27
| |
| * Port web_service from CitraGravatar fearlessTobi2018-10-0245-39/+1575
| |
| * Add submodulesGravatar fearlessTobi2018-10-0211-0/+20069
| |
* | Merge pull request #1447 from lioncash/mutexGravatar bunnei2018-10-061-1/+1
|\ \ | | | | | | kernel/mutex: Amend behavior of TransferMutexOwnership()
| * | kernel/mutex: Amend behavior of TransferMutexOwnership()Gravatar Lioncash2018-10-061-1/+1
|/ / | | | | | | | | | | | | | | | | This was the result of a typo accidentally introduced in e51d715700a35a8f14e5b804b6f7553c9a40888b. This restores the previous correct behavior. The behavior with the reference was incorrect and would cause some games to fail to boot.
* | Merge pull request #1440 from lioncash/arrayGravatar bunnei2018-10-053-5/+10
|\ \ | | | | | | ui_settings: Place definition of the theme array within the cpp file
| * | ui_settings: Place definition of the theme array within the cpp fileGravatar Lioncash2018-10-043-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Placing the array wholesale into the header places a copy of the whole array into every translation unit that uses the data, which is wasteful. Particularly given that this array is referenced from three different translation units. This also changes the array to contain pairs of const char*, rather than QString instances. This way, the string data is able to be fixed into the read-only segment of the program, as well as eliminate static constructors/heap allocation immediately on program start.
* | | Merge pull request #1438 from ReinUsesLisp/quadsGravatar bunnei2018-10-058-46/+236
|\ \ \ | | | | | | | | gl_rasterizer: Implement quads topology
| * | | gl_rasterizer: Implement quads topologyGravatar ReinUsesLisp2018-10-048-46/+236
| | | |
* | | | Merge pull request #1445 from lioncash/schedGravatar bunnei2018-10-052-4/+4
|\ \ \ \ | | | | | | | | | | thread: Make the scheduler pointer a regular pointer
| * | | | thread: Make the scheduler pointer a regular pointerGravatar balika0112018-10-052-4/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conceptually, it doesn't make sense for a thread to be able to persist the lifetime of a scheduler. A scheduler should be taking care of the threads; the threads should not be taking care of the scheduler. If the threads outlive the scheduler (or we simply don't actually terminate/shutdown the threads), then it should be considered a bug that we need to fix. Attributing this to balika011, as they opened #1317 to attempt to fix this in a similar way, but my refactoring of the kernel code caused quite a few conflicts.
* | | | Merge pull request #1439 from lioncash/threadGravatar bunnei2018-10-0515-227/+418
|\ \ \ \ | | | | | | | | | | kernel/thread: Make all instance variables private
| * | | | kernel/thread: Make all instance variables privateGravatar Lioncash2018-10-0415-227/+418
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of the member variables of the thread class aren't even used outside of the class itself, so there's no need to make those variables public. This change follows in the steps of the previous changes that made other kernel types' members private. The main motivation behind this is that the Thread class will likely change in the future as emulation becomes more accurate, and letting random bits of the emulator access data members of the Thread class directly makes it a pain to shuffle around and/or modify internals. Having all data members public like this also makes it difficult to reason about certain bits of behavior without first verifying what parts of the core actually use them. Everything being public also generally follows the tendency for changes to be introduced in completely different translation units that would otherwise be better introduced as an addition to the Thread class' public interface.
* | | | Merge pull request #1442 from lioncash/formatGravatar bunnei2018-10-051-1/+1
|\ \ \ \ | | | | | | | | | | text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
| * | | | text_formatter: Avoid unnecessary string temporary creation in PrintMessage()Gravatar Lioncash2018-10-041-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | operator+ for std::string creates an entirely new string, which is kind of unnecessary here if we just want to append a null terminator to the existing one. Reduces the total amount of potential allocations that need to be done in the logging path.
* | | | Merge pull request #1415 from DarkLordZach/ipsGravatar bunnei2018-10-049-40/+258
|\ \ \ \ | | | | | | | | | | file_sys: Add support for loading IPS patches
| * | | | nso: Optimize loading of IPS patchesGravatar Zach Hilman2018-10-025-51/+43
| | | | | | | | | | | | | | | | | | | | Avoid resource-heavy classes and remove quasi-duplicated code.
| * | | | deconstructed_rom_directory: Force NSO loader to patch NSOsGravatar Zach Hilman2018-10-011-1/+3
| | | | |
| * | | | nso: Add framework to support patching of uncompressed NSOsGravatar Zach Hilman2018-10-012-2/+17
| | | | |
| * | | | patch_manager: Add PatchNSO functionGravatar Zach Hilman2018-10-013-0/+104
| | | | | | | | | | | | | | | | | | | | While PatchExeFS operated on the entire directory, this function operates on the uncompressed NSO. Avoids copying decompression code to PatchManager.
| * | | | patch_manager: Use strings for patch type instead of enumGravatar Zach Hilman2018-10-013-33/+36
| | | | |
| * | | | file_sys: Implement function to apply IPS patchesGravatar Zach Hilman2018-10-012-0/+103
| | | | |
| * | | | nso: Replace NSOHeader padding bytes with build IDGravatar Zach Hilman2018-10-011-2/+1
| | |_|/ | |/| |
* | | | Merge pull request #1434 from DarkLordZach/dlc-edge-caseGravatar bunnei2018-10-031-1/+1
|\ \ \ \ | | | | | | | | | | aoc_u: Fix edge case with DLC that causes breaks
| * | | | aoc_u: Fix edge case with DLC that causes breaksGravatar Zach Hilman2018-10-021-1/+1
| |/ / / | | | | | | | | | | | | In some games (Splatoon 2 and Splatoon 2 Splatfest World Premiere, notably), pass offset=0 and count=2047 into the ListAddOnContent method which should return all DLCs for the current title. The (presumably) intended behavior is to successfully return a empty array but because of a < v. <= in an if statement, a failure error code was returned causing these games to svcBreak. This fixes that if statement.
* | | | Merge pull request #1428 from lioncash/qtGravatar bunnei2018-10-031-21/+23
|\ \ \ \ | | | | | | | | | | configure_graphics: Make functions internally linked where applicable
| * | | | configure_graphics: Make functions internally linked where applicableGravatar Lioncash2018-10-021-21/+23
| | |/ / | |/| | | | | | | | | | | | | | These aren't used outside of this translation unit, so they can be internally linked.
* | | | Merge pull request #1431 from lioncash/audioGravatar bunnei2018-10-032-16/+34
|\ \ \ \ | | | | | | | | | | configure_audio: Minor cleanup-related changes
| * | | | configure_audio: Move combo box index setting to their own functionsGravatar Lioncash2018-10-022-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeps the individual behaviors in their own functions, and cleanly separate. We can also do a little better by converting the relevant IDs within the core to a QString only once, instead of converting every string into a std::string.
| * | | | configure_audio: Use QString::fromStdString() for converting audio device namesGravatar Lioncash2018-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This ensures that the proper codec will always be used no matter what. It also avoids relying on ASCII conversions.
| * | | | configure_audio: Add disambiguation comment for the volume percentage stringGravatar Lioncash2018-10-022-4/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Disambiguates what the string represents to help translators more easily understand what it is that they're translating. While we're at it, we can move the code to its own function, so that we don't need to specify the same string twice.
* | | | Merge pull request #1433 from lioncash/fsGravatar bunnei2018-10-031-0/+2
|\ \ \ \ | | | | | | | | | | services/fsp_srv: Amend service function table
| * | | | services/fsp_srv: Amend service function tableGravatar Lioncash2018-10-021-0/+2
| |/ / / | | | | | | | | | | | | | | | | Adds new functions that have been given names to the table. Information is based off what is provided on Switchbrew.
* | | | Merge pull request #1429 from lioncash/translateGravatar bunnei2018-10-031-3/+3
|\ \ \ \ | | | | | | | | | | configure_input: Make analog mapping strings translatable
| * | | | configure_input: Make analog mapping strings translatableGravatar Lioncash2018-10-021-3/+3
| |/ / / | | | | | | | | | | | | | | | | These strings are user-facing, so they should be specified as translatable with tr().
* | | | Merge pull request #1436 from lioncash/viewGravatar bunnei2018-10-032-73/+101
|\ \ \ \ | | | | | | | | | | submission_package: Cleanup and bug fixes
| * | | | submission_package: Avoid dangling std::string_view within SetTicketKeys()Gravatar Lioncash2018-10-031-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetName() returns a std::string by value, not by reference, so after the std::string_view is constructed, it's not well defined to actually execute any member functions of std::string_view that attempt to access the data, as the std::string has already been destroyed. Instead, we can just use a std::string and erase the last four characters.
| * | | | submission_package: Correct location of null check within SetTicketKeys()Gravatar Lioncash2018-10-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | If a ticket file was ever a null pointer, we'd cause a null pointer dereference, as we were calling GetExtension() on the pointer instance.