summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-12-07Merge pull request #1864 from lioncash/nrrbunnei
service/ldr: Amend layouts of NRO and NRR headers
2018-12-07Merge pull request #1874 from lioncash/bindingsbunnei
hle/service, hle/sm: Minor cleanup
2018-12-07Merge pull request #1882 from FearlessTobi/backport-4418-fixbunnei
Backport review comment from citra-emu/citra#4418
2018-12-07Merge pull request #1873 from lioncash/constbunnei
loaders: Make GetFileType() a const qualified member function
2018-12-07Backport review comment from citra-emu/citra#4418Tobias
Original reason: As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
2018-12-06Merge pull request #1868 from lioncash/configbunnei
configuration/config: Use an intermediary variable for accessing players
2018-12-06Merge pull request #1875 from DarkLordZach/oss-ngword2bunnei
system_archive: Implement open source NgWord2
2018-12-06Merge pull request #1861 from lioncash/resetbunnei
kernel/svc: Correct behavior of svcResetSignal()
2018-12-06Merge pull request #1824 from ReinUsesLisp/fbcachebunnei
gl_rasterizer: Implement a framebuffer cache
2018-12-06Merge pull request #1863 from ReinUsesLisp/texs-f16bunnei
gl_shader_decompiler: Implement TEXS.F16
2018-12-06system_archive: Implement open source NgWord2Zach Hilman
2018-12-06hle/service: Replace log + UNIMPLEMENTED with UNIMPLEMENTED_MSGLioncash
Combines the two into one, shortening the amount of code here.
2018-12-06hle/service: Remove unnecessary using declarationsLioncash
Only one usage of the specified objects made use of the lack of namespacing. Given the low usage, we can just remove these.
2018-12-06hle/service, hle/sm: Compress usages of MakeResult()Lioncash
These auto-deduce the result based off its arguments, so there's no need to do that work for the compiler, plus, the function return value itself already indicates what we're returning.
2018-12-06hle/service, hle/sm: Use structured bindings where applicableLioncash
Gets rid of the need to keep the variables separate from their actual initialization spots.
2018-12-05Merge pull request #1867 from lioncash/allocbunnei
system_archive: Use a regular function pointer instead of std::function for the file-scope system archive array
2018-12-05Merge pull request #1866 from lioncash/cachebunnei
service/ldr: Deduplicate instruction cache clearing code in LoadNro()
2018-12-05yuzu/game_list_worker: Don't retrieve the file type twice in ↵Lioncash
AddFstEntriesToGameList() Similarly, here we can avoid doing unnecessary work twice by retrieving the file type only once and comparing it against relevant operands, avoiding potential unnecessary object construction/destruction.
2018-12-05yuzu/game_list_worker: Don't retrieve file type and file type strings twice ↵Lioncash
in MakeGameListEntry() While GetFileType() is indeed a getter function, that doesn't mean it's a trivial function, given some case require reading from the data or constructing other objects in the background. Instead, only do necessary work once.
2018-12-05loaders: Make GetFileType() a const qualified member functionLioncash
No implementations actually modify instance state (and it would be questionable to do that in the first place given the name), so we can make this a const member function.
2018-12-05Call shrink_to_fit after page-table vector resizing to cause crt to actually ↵heapo
lower vector capacity. For 36-bit titles saves 800MB of commit.
2018-12-05configuration/config: Use an intermediary variable for accessing playersLioncash
Avoids typing the same long accessor just to retrieve player attributes.
2018-12-05ng_word: Deduplicate use of a constant valueLioncash
We've already given the constant to the vector itself, so we don't need to re-hardcode it in the array.
2018-12-05system_archive: Use a regular function pointer instead of std::function for ↵Lioncash
file-scope system archive array This allows the array to be constexpr. std::function is also allowed to allocate memory, which makes its constructor non-trivial, we definitely don't want to have all of these execute at runtime, taking up time before the application can actually load.
2018-12-05service/ldr: Deduplicate instruction cache clearing code in LoadNro()Lioncash
We don't need to specify all of the ARM interfaces explicitly.
2018-12-05service/ldr: Amend layout of the NRO headerLioncash
The first word is just a padding byte, it's not an actual entry instruction. Also renames the rest of the entries according to SwitchBrew.
2018-12-05gl_shader_decompiler: Implement TEXS.F16ReinUsesLisp
2018-12-05service/ldr: Corrent padding within the NRR header layoutLioncash
The padding after the magic signature value should be 12 bytes rather than 28 bytes. The other 16 should be placed after the title ID pattern.
2018-12-05gl_shader_decompiler: Fixup inverted ifReinUsesLisp
2018-12-04Merge pull request #1859 from heapo/lut_array_codegenbunnei
Convert high-frequency LUT arrays from constexpr to static constexpr
2018-12-04kernel/svc: Correct behavior of svcResetSignal()Lioncash
While partially correct, this service call allows the retrieved event to be null, as it also uses the same handle to check if it was referring to a Process instance. The previous two changes put the necessary machinery in place to allow for this, so we can simply call those member functions here and be done with it.
2018-12-04kernel/process: Make Process a WaitObjectLioncash
Process instances can be waited upon for state changes. This is also utilized by svcResetSignal, which will be modified in an upcoming change. This simply puts all of the WaitObject related machinery in place.
2018-12-04kernel/readable_event: Add member function for enforcing a strict reset contractLioncash
svcResetSignal relies on the event instance to have already been signaled before attempting to reset it. If this isn't the case, then an error code has to be returned.
2018-12-04Improve msvc codegen for hot-path array LUTsheapo
In some constexpr functions, msvc is building the LUT at runtime (pushing each element onto the stack) out of an abundance of caution. Moving the arrays into be file-scoped constexpr's avoids this and turns the functions into simple look-ups as intended.
2018-12-04Merge pull request #1704 from DarkLordZach/oss-sysarchivebunnei
file_sys: Implement open source system archives
2018-12-04Merge pull request #1837 from lioncash/mapbunnei
yuzu/game_list_worker: Minor cleanup and code deduplication
2018-12-04yuzu/game_list_worker: Move std::string construction after the termination ↵Lioncash
check in callbacks Avoids potentially allocating a std::string instance when it isn't needed.
2018-12-04Merge pull request #1838 from lioncash/dedupbunnei
file_sys/registered_cache: Eliminate variable shadowing
2018-12-04Merge pull request #1836 from lioncash/unusedbunnei
crypto/key_manager: Remove unused variable in GetTicketblob()
2018-12-04kernel/svc: Remove unused header inclusionLioncash
2018-12-04kernel/svc: Implement svcSignalEvent()Lioncash
This function simply does a handle table lookup for a writable event instance identified by the given handle value. If a writable event cannot be found for the given handle, then an invalid handle error is returned. If a writable event is found, then it simply signals the event, as one would expect.
2018-12-04kernel/svc: Implement svcCreateEvent()Lioncash
svcCreateEvent operates by creating both a readable and writable event and then attempts to add both to the current process' handle table. If adding either of the events to the handle table fails, then the relevant error from the handle table is returned. If adding the readable event after the writable event to the table fails, then the writable event is removed from the handle table and the relevant error from the handle table is returned. Note that since we do not currently test resource limits, we don't check the resource limit table yet.
2018-12-04Merge pull request #1845 from lioncash/nrobunnei
loader/{nro, nso}: Remove dependency on the System class
2018-12-04Merge pull request #1853 from lioncash/eventbunnei
kernel/object: Amend handle types to distinguish between readable and writable events
2018-12-04Rewrited TEX/TEXS (TEX Scalar). (#1826)Marcos
* Rewrited TEX/TEXS (TEX Scalar). * Style fixes. * Styles issues.
2018-12-04Merge pull request #1857 from lioncash/res-infobunnei
kernel/svc: Implement the resource limit svcGetInfo option
2018-12-04Merge pull request #1854 from Subv/old_command_processorbunnei
Don't try to route PFIFO methods (0-0x40) to the other engines.
2018-12-04kernel/object: Amend handle types to distinguish between readable and ↵Lioncash
writable events Two kernel object should absolutely never have the same handle ID type. This can cause incorrect behavior when it comes to retrieving object types from the handle table. In this case it allows converting a WritableEvent into a ReadableEvent and vice-versa, which is undefined behavior, since the object types are not the same. This also corrects ClearEvent() to check both kernel types like the kernel itself does.
2018-12-04kernel/handle_table: Amend reference to CTR-OS in Create()Lioncash
Another hold-over from Citra.
2018-12-04kernel/svc: Implement the resource limit svcGetInfo optionLioncash
Allows a process to register the resource limit as part of its handle table.