Commit Graph

4578 Commits

Author SHA1 Message Date
emoose a0fb55909b [XAM] UserProfile::LoadProfile: setup default settings 2020-03-20 20:54:38 +11:00
emoose f94603a3d9 [XAM] Update profile setting code to use new xdbf::Setting struct 2020-03-20 20:54:38 +11:00
emoose abbc647b68 [XAM] xdbf.h: const-ify some parameters 2020-03-20 20:54:37 +11:00
emoose 8da3ccfd69 [XAM] xdbf.h: add more achievement details (flags, comments..) 2020-03-20 20:54:37 +11:00
emoose 799d3a17d3 [XAM] xdbf_xbox.h: add X360 GPD settings structs + minor fixups 2020-03-20 20:54:37 +11:00
Gliniak 9893ee72f8 [XAM/User] XamUserCreateTitlesPlayedEnumerator - Skip titles without achievements
It mimics behaviour of real 360 dashboard that
skips info about demos and system apps

also smaller code style changes
2020-03-20 20:54:37 +11:00
Gliniak a2209ee210 [XAM/User] Implemented sketchy XamReadTileEx
Also changes to XamReadTile
2020-03-20 20:54:37 +11:00
Gliniak 86c445f259 [XAM/User] Resolved missing profile tab on 12xxx dashboard
It doesn't provide overlap pointer and requires instant response
2020-03-20 20:54:37 +11:00
Gliniak 2815244716 [XAM/User] Added descriptions and labels for achievements
Disclaimer: On old dash it causes memleak (slight),
newer dashboards allocates them only once which is solution for that.

Ps. If anyone have easy solution please implement it. Cheers
2020-03-20 20:54:36 +11:00
Gliniak d6e9612459 [XAM/Misc] Added stub for: XamIsXbox1TitleId 2020-03-20 20:54:36 +11:00
Gliniak 5dd015ad56 [User] Removed hardcode from XPROFILE_GAMERCARD_TITLES_PLAYED
(Now dashboard 9199 shows more reliable amount of games played)
2020-03-20 20:54:36 +11:00
Cancerous e901ea8376 stubs for 9199 (eventually) 2020-03-20 20:54:36 +11:00
Gliniak 78225c12ee [User] Added method for calculating gamerscore 2020-03-20 20:54:36 +11:00
Gliniak 692bc914f5 [XAM/Media] Added stub for: XamLoaderGetMediaInfo 2020-03-20 20:54:36 +11:00
Gliniak e320fcee1f [XAM/User] Added Stub for: XamUserIsOnlineEnabled 2020-03-20 20:54:35 +11:00
Gliniak b25fecea91 [XAM/User] XamUserGetGamerTag - added exception for user_index -1 (0xFF)
(Fixes gamertag in 9199 dash)
2020-03-20 20:54:35 +11:00
Gliniak c30b028be5 [Profile] Added dummy settings (This causes gamertag to appear) 2020-03-20 20:54:35 +11:00
Gliniak 4cec87cf1d [XAM] XamReadTile - Changed size of item_id 2020-03-20 20:54:35 +11:00
Gliniak dd86ff9449 [XAM/User] Implemented XamUserGetGamerTag 2020-03-20 20:54:35 +11:00
Gliniak 6b216d6a15 [XAM] XNotifyGetNext - Fixed null check for !param_ptr (Thanks randprint) 2020-03-20 20:54:35 +11:00
Gliniak a0f9f21f47 [XAM/Avatar] Added stub for: XamAvatarLoadAnimation
This enable running AvatarEditor

Disclaimer: Games that uses Avatars might crash
2020-03-20 20:54:34 +11:00
Gliniak 17b457bf1d [Kernel] Added few elemenmts to xeExGetXConfigSetting
This will allow to go inside "Console Settings" in NXE Dashboard
and fixes stability on older dashboards
2020-03-20 20:54:34 +11:00
Gliniak 11dfd2ed65 [XAM/Nui] Added stubs for: XamNuiIsDeviceReady, XamIsNuiAutomationEnabled 2020-03-20 20:54:34 +11:00
Gliniak 148fec9cd3 [XAM/Notify] XNotifyGetNext - Added check to assure if param_ptr is correct 2020-03-20 20:54:34 +11:00
Gliniak c160281e21 [Memory] Preallocate encrypted memory region
(Fixes dashboards up to 12625)
2020-03-20 20:54:34 +11:00
Gliniak 2d06b66d8f [XAM/Sketchy] Implemented XamReadTile 2020-03-20 20:54:34 +11:00
Gliniak 8b357fc0b3 [KERNEL] Do not convert time if provided time_ptr is invalid (Fixes Dark Souls crash) 2020-03-20 20:54:33 +11:00
Gliniak 0329007e6c [GPD] Implemented XamUserCreateTitlesPlayedEnumerator 2020-03-20 20:54:33 +11:00
Cancerous 22571492aa [Kernel] Make XHttpStartup succeed and add stubs for XHttpOpen and XHttpConnect that fail 2020-03-20 20:54:33 +11:00
Cancerous 9fe0230acb Revert "[Kernel] - Try to shut down XMP so games won't spam it's functions"
This reverts commit 2df353fdde.
2020-03-20 20:54:33 +11:00
emoose 96e2d8d12f [XBDM] Add impl. for DmGetXboxName, stub 5 functions
Stubs: DmGetXbeInfo, DmIsDebuggerPresent, DmRegisterCommandProcessor, DmRegisterCommandProcessorEx
This helps progress some debug builds of games, DmGetXboxName error codes are based on what some games seem to expect from it.
Will probably be a good idea to move most of this to xbdm_info.cc soon.
2020-03-20 20:54:33 +11:00
Cancerous 6beeb8c427 [Kernel] remove option to disable WSAStartup 2020-03-20 20:54:33 +11:00
Cancerous d4cfd903e5 [Kernel] - Try to shut down XMP so games won't spam it's functions 2020-03-20 20:54:32 +11:00
Cancerous 18e1c26dae [Kernel] Add XHttpStartup Stub, try to gracefully fail and shutdown more of the networking so games won't spam the related functions 2020-03-20 20:54:32 +11:00
emoose 7340a0c53f [Kernel] Include XEX version in log 2020-03-20 20:54:32 +11:00
emoose 3273acef3a [Kernel/CPU] Fix XEX version numbers not being output correctly
Couldn't find a way to get bitfields & byte-swapping to play well together, so this was the best I could come up with... at least the proper version numbers will show in the log file now :)
2020-03-20 20:54:32 +11:00
emoose 05b3a6516d [Kernel] Allow XEX to continue load after ApplyPatch fails
This should be safe to do hopefully, most errors happen before any part of the XEX is modified, and the errors that can happen after modification should be very rare/impossible thanks to the earlier checks.
It might be good to write up some way to revert any changes though...
2020-03-20 20:54:32 +11:00
emoose 4264b5be16 [CPU] Check patch MediaID if patch signature check failed
This should let us make sure patches are being applied to the right XEX, without needing to rely on the signature.
2020-03-20 20:54:32 +11:00
emoose efe8681980 [CPU] Fix heap corruption by XEXP header patch not resizing headers correctly
This should hopefully fix GTA IV's TU (for media ID 6AC07221 at least)
2020-03-20 20:54:32 +11:00
emoose 70abd9584a [VFS/Kernel] Fixes to allow games to make use of cache partitions
Happy new year! Here's my first commit of the 2020s :)

With these fixes, Halo 3 Epsilon will now write cached map data & other things (autosaves/datamine...) to the cache0/cache1 partitions, (as long as mount_cache cvar is set)
(Halo 3 retail will also write some things to cache with this, but oddly doesn't cache map stuff... which is strange because Epsilon was built only a day or two after the retail build, so I'm not sure why it'd work differently...
Maybe retail needs a TU applied for it to work or something like that)
Other games should hopefully work with cache now too (AFAIK the problem was in SDK library code, that a lot of games probably share)
No idea if this will actually improve anything though, but at least things will work closer to what games expect :)

The way this works is by tricking the cache-partition code (staticly linked into the game exe) into thinking that the Partition0/Cache0/Cache1 devices are valid.
To do that I made another kind of VFS device, the NullDevice, which just takes in a list of paths to handle.
Whenever an IO request is made to one of these paths, the NullDevice can simply pretend to the game that everything was successful, which satisfies the requirements needed for caching.

It also makes use of another trick: setting TitleInsecureCacheDrive XEX permission, which seems to skip a huge chunk of cache-init code (STFC filesystem device registration & stuff like that)
I'm not sure if this would work with every single revision of the STFC/cache code though...
At least in Halo 3 the retail code will handle the TitleInsecureCacheDrive case for us fine, but maybe older/more recent versions don't include functionality for it, need to look into it some more.
(I did try an impl. without needing this permission months ago, got pretty far with it but got caught on one tiny issue that I couldn't figure out... too bad I didn't find out about this permission earlier!)
2020-03-20 20:54:31 +11:00
Cancerous 745c33de8c [Kernel] HDD and save detection changes 2020-03-20 20:54:31 +11:00
Cancerous aa80e4265d [Kernel] added more checks to filter user_index out of range 2020-03-20 20:54:31 +11:00
Cancerous 6b0cb5ae63 [Kernel] - further adjustments to xam overlapped ui for storage selection and messages 2020-03-20 20:54:31 +11:00
Cancerous 92bac99043 [Kernel] - time fix for darksouls 2020-03-20 20:54:31 +11:00
Cancerous 4629d6686f [VFS] more logging for resolving files 2020-03-20 20:54:31 +11:00
Cancerous b488740d10 [Kernel] - swapdisc fixes for gtav 2020-03-20 20:54:30 +11:00
Cancerous 3669645cd6 [Kernel] stubs for 9199 (eventually) 2020-03-20 20:54:30 +11:00
illusion98 0800655bb9 Force 1080p output mode 2020-03-20 20:54:30 +11:00
Gliniak 8e43b48907 [Achievements] XamUserCreateAchievementEnumerator - title_id 0 behaviour
Based on research 0 in title_id is interpreted as current game
2020-03-20 20:54:30 +11:00
Gliniak 8957c10f35 [XAM] Removed code related to buffer clear
Some games have hardcoded buffer size which doesn't match real size
2020-03-20 20:54:30 +11:00
Cancerous cbbc826fe4 further ajustment to buffer size to fix regression 2020-03-20 20:54:30 +11:00
Cancerous c7270ad262 title update fixup - breaks xex1 temporarily 2020-03-20 20:54:29 +11:00
Cancerous 9169091320 [Kernel] More adjustment to XNotification spam filter 2020-03-20 20:54:29 +11:00
Cancerous acfdeb7ac7 [Kernel] - adjusting XAMEnumerate buffer size to fix Angry Birds and Resonance of Fate - thanks Gliniak 2020-03-20 20:54:29 +11:00
Gliniak 5b13b58072 [Kernel/Sketchy] Implemented NtQueueApcThread
Signed-off-by: Gliniak <Gliniak93@gmail.com>
2020-03-20 20:54:29 +11:00
Cancerous 89d67e0ed4 [Kernel, UI]
threaded UI notifications from emoose Issue 1296
added fixups for hdd detection in more games (wheelman for example)
changed filter that stops notification spam
2020-03-20 20:54:29 +11:00
illusion98 390e1146bb [Kernel] Title Update fixup
Co-Authored-By: aerosoul94 <aerosoul94@hotmail.com>
2020-03-20 20:52:49 +11:00
illusion98 ad28087a52 small fixup for fps counter
this code is a meme
2020-03-20 20:52:49 +11:00
Radosław Gliński e265d626b3 [THREADING] Removed old walkaround for zombie threads 2020-03-20 20:52:49 +11:00
illusion98 8e63c8b68e [Kernel] use TV Gamma as default instead of CRT 2020-03-20 20:52:49 +11:00
illusion98 0602d50b76 Forgot to fix this 2020-03-20 20:52:49 +11:00
Prism Tutaj e7de19170a miscellaneous linux fixes. Disables vulkan-trace-viewer and dumper 2020-03-20 20:52:48 +11:00
Cancerous ed59ccf8b8 Merge branch 'get-proc-address-by-ordinal' of https://github.com/CookiePLMonster/xenia into canary
[Kernel] Fixup GetProcAddressByOrdinal PR 1473
2020-03-20 20:52:45 +11:00
illusion98 4c80e9f427 [Kernel] AVPack cvar
idk what teh hell im doing 😹
2020-03-20 20:52:45 +11:00
Cancerous 54804bf2e9 Merge branch 'profile-gpds-rebase' of https://github.com/emoose/xenia into canary 2020-03-20 20:52:36 +11:00
illusion98 0e21e950db Change default config file name 2020-03-20 20:52:36 +11:00
illusion98 7b8fa8db79 Change window title
xenia -> xenia-canary
2020-03-20 20:52:35 +11:00
Cancerous b3a4fcc618 Merge branch 'master' of https://github.com/ObsidianNA/xenia into canary
Recent Files Menu Bar PR 1396
2020-03-20 20:52:35 +11:00
illusion98 6002c5d60f Merge remote-tracking branch 'randprint/ThreadDistribution' into canary 2020-03-20 20:52:35 +11:00
Rados??aw Gli??ski c5808d51cc Fixed Mask incorrectness. Does mask_ == 0x01 means accept all?
Affected Games:
- Grid 2 (freezes)
- Skate. (Menu Soundtrack)
- Crackdown 2 Demo (ingame freeze)
2020-03-20 20:52:35 +11:00
Rados??aw Gli??ski 157f0e9eb9 "Template" for 0xFE message: 0x22005 2020-03-20 20:52:35 +11:00
Cancerous cba0f9b01c [Kernel] XamSwapDisc and supporting functions 2020-03-20 20:52:35 +11:00
Cancerous 71278bd1b4 [UI] Add window dimension cvars 2020-03-20 20:52:35 +11:00
illusion98 3746f56bd1 Merge remote-tracking branch 'emoose/devicetype-fix' into canary 2020-03-20 20:52:35 +11:00
illusion98 cb183eb0eb Add command to show fps in titlebar 2020-03-20 20:52:34 +11:00
Cancerous f431187d2c FPS Counter at the end of the display chain PR 1362
from IceTDrinker
2020-03-20 20:52:34 +11:00
illusion98 c0ee596b99 Add cvar for Unreal Engine 3 workaround 2020-03-20 20:51:26 +11:00
illusion98 94980c90d0 [Discord] Change ID and new description 2020-03-20 20:49:56 +11:00
illusion98 8237606d5a [Discord] Add Time Elasped and Description Text
Display Time Elapsed when idle or playing a game
Display description when hovering over the icon
2020-03-20 20:49:56 +11:00
illusion98 d03c8d8392 Hack for Source engine 2020-03-20 20:49:56 +11:00
Radosław Gliński 764cc45eef Disable debugging break on KeBugCheck 2020-03-20 20:49:56 +11:00
illusion98 419f5b48c9 Merge 2 remote-tracking branch 'emoose/stfs-packages, emoose/title-updates' into canary-cleanup
Originally merged by @0x8080

Co-Authored-By: 0x8080 <0x8080@users.noreply.github.com>
2020-03-20 20:49:56 +11:00
illusion98 a96eea971c Merge remote-tracking branch 'emoose/dashboard' into canary-cleanup
Originally merged by @0x8080

Co-Authored-By: 0x8080 <0x8080@users.noreply.github.com>
2020-03-20 20:49:56 +11:00
chss95cs@gmail.com 2a7f6f27fc Reuse flag results in OPCODE_BRANCH_TRUE codegen if the preceding instruction was a comparison that already set the cpu flags 2020-03-20 20:49:55 +11:00
chss95cs@gmail.com 83c895f2d5 Add constant folding for OPCODE_ROTATE_LEFT 2020-03-20 20:49:55 +11:00
Triang3l b1d3fd2ad3 [App/Config] Add storage_root cvar and make content_root inside it by default, move game configs from content 2020-03-13 09:42:29 +03:00
Margen67 b3d1c5982a [CPU] Typo fix 2020-03-07 19:39:56 -06:00
Gliniak 5558c8aafe [XAM/Network] Implemented NetDll___WSAFDIsSet 2020-03-03 17:07:49 -06:00
gibbed 8d5d70c77f [XAM] Don't allow an empty title.
[XAM] Don't allow an empty titles because ImGui explodes otherwise.
2020-02-29 15:47:19 -06:00
Triang3l b12554c5af [GPU] Add VGT_DRAW_INITIATOR to registers.cc 2020-02-25 08:05:47 +03:00
gibbed aa28430786 [x64] NAN up vmsum3fp128/vmsum4fp128.
It seems vmsum3fp128/vmsum4fp128 need to output a NAN on overflow.

Do so. Probably inefficiently.
2020-02-24 18:13:07 -06:00
emoose 9185cdcc79 [Kernel] Fix wide-printf functions not processing %ws format correctly
This would break format strings like memory://%.*ws (that dashboard tries using), because the "ws" part would set FF_IsWide, but FF_IsWide actually seemed to be used as an "is opposite encoding" flag.
Since the format string is wide that'd make it treat the param as ASCII, but in dashboards case the param string provided is actually a wide string.
(in other words, it seems %ws is supposed to mean that the param is always a wide string, not that the param is just opposite encoding)

This changes the old FF_IsWide to FF_InvertWide, and adds a new FF_IsWide that means that the param is always wide.
2020-02-24 14:58:09 -06:00
emoose ac5d548e90 [Kernel] *FormatData: make peek() match get() endian, fix skip() not advancing pointer 2020-02-24 14:58:09 -06:00
Triang3l 90b772a330 [GPU] Set VGT_DRAW_INITIATOR and use major mode from it 2020-02-24 23:27:25 +03:00
Triang3l c156616103 [Memory] Invalidate physical memory in Release/Decommit (#1559) 2020-02-24 01:04:30 +03:00
Triang3l 95475d5f78 [D3D12] SharedMemory::ClearCache invalidating pages, destroying watches 2020-02-23 15:55:41 +03:00
Triang3l cf99696e79 [Kernel] Fix incorrect TranslatePhysical usage in XFile 2020-02-23 14:51:49 +03:00
Rick Gibbed 4ca0d0a656
[App] Remove inadvertent constexpr. 2020-02-22 13:50:17 -06:00
gibbed a6e6f0f7bf Lint cleanup. 2020-02-22 13:29:07 -06:00
Triang3l d156c3275d [Memory] Fix incorrect comparison in QueryRangeAccess 2020-02-22 18:12:46 +03:00
Triang3l 1e9f999b37 [Kernel] Add xe:: in XFile::Read for consistency 2020-02-22 18:10:25 +03:00
Triang3l f858631245 [Kernel] Trigger memory callbacks after file read 2020-02-22 18:06:56 +03:00
Triang3l 028c784c5c [Memory] Make heap_size actually mean size rather than high address 2020-02-22 14:55:28 +03:00
Joel Linn 8efa35d996 Remove unused yaml-cpp. 2020-02-20 06:44:34 -06:00
Joel Linn 64539621b4 Replace binary_function by plain function.
- Deprecated in C++11
- Removed in C++17
2020-02-20 06:44:09 -06:00
gibbed 722018d095 [Kernel] Use reserved form of sc for dynamic imports. 2020-02-20 01:01:31 -06:00
Triang3l c7cb964b4e [D3D12] Recompile immediate_ps after the change to SampleLevel 2020-02-20 08:57:16 +03:00
Triang3l 1336316139 [D3D12] Vertex kill and multipass vertex exports 2020-02-20 08:56:16 +03:00
Triang3l 47eee5e1c3 [GPU] Unified function for mip level bounds, BaseMap mip filter, small refactoring 2020-02-18 23:31:48 +03:00
Triang3l 710d225d0a [GPU] --gpu_allow_invalid_fetch_constants to bypass invalid fetch constant type errors 2020-02-16 19:35:26 +03:00
Triang3l d18e63e6e2 [D3D12] Always write original shader source in DXBC if PIX is attached 2020-02-16 18:09:22 +03:00
Triang3l 8ec813de82 [Memory, D3D12] Various refactoring from data provider development 2020-02-15 21:35:24 +03:00
Triang3l b59ae30ec3 [D3D12] DXBC: Fix two uninitialized register usages in ROV code, better comments 2020-02-13 08:31:01 +03:00
gibbed cc47704a6b [CPU] Use reserved form of sc for imports. 2020-02-11 06:45:57 -06:00
gibbed e2346ee539 [PPC] Support basic form of sc. 2020-02-11 06:45:57 -06:00
Gliniak d241a98189 [Kernel] Rewrote ObReferenceObjectByHandle 2020-02-10 20:52:23 -06:00
Triang3l 014d03193e [D3D12] Convert dxbc_shader_translator_om.cc to new DXBC emission code 2020-02-10 23:50:26 +03:00
Joel Linn 160f218210 [APU/Linux] Implement cross platform audio using SDL2 library. 2020-02-10 14:01:47 -06:00
Joel Linn 64f3925c7d [HID/Linux] Implement cross platform controller input using SDL2 library. 2020-02-10 13:41:19 -06:00
Joel Linn 498b73612f Link against SDL2.
- Use MSVC delayed loading on Windows.
- Rely on system libraries for Linux.
- Add libsdl2-dev to Travis.
2020-02-10 13:41:19 -06:00
Rados??aw Gli??ski 404aa82147 [CPU] Implemented instructions: rldclx, rldcrx 2020-02-09 16:48:50 -06:00
gibbed 0b3cdf2aaa [Base] Fix non-Windows bit_scan_forward. 2020-02-09 16:37:52 -06:00
Prism Tutaj fc37f3e93a [App] Fix discord cvar 2020-02-09 16:21:51 -06:00
Joel Linn 2aa008e02e [HID] Fix Demo for XInput 2020-02-09 16:19:39 -06:00
Gliniak 0d866aa173 [CPU] Increased maximum function count 2020-02-09 15:47:29 -06:00
Silent 684f9fedec [Base] Remove kMaxPath from Windows, it should not be used
All instances of kMaxPath or MAX_PATH being used have been removed,
and removing this constant is supposed to encourage writing code
without artificial constraints on path length.
2020-02-09 14:02:37 -06:00
Silent f392347673 [GPU] Remove MAX_PATH limit from Shader::Dump 2020-02-09 14:02:37 -06:00
Silent d3a73022fd [UI] Remove MAX_PATH limit from WM_DROPFILES
Also required const-ifying a file drop message.
2020-02-09 14:02:22 -06:00
Silent 96a9397349 [Base] Remove MAX_PATH limit from GetUserFolder
Replace SHGetFolderPath with SHGetKnownFolderPath to remove the limit
2020-02-09 14:01:39 -06:00
Silent 6f2c39d8d1 [Base] Remove MAX_PATH limit from to_absolute_path
Let _wfullpath allocate memory by itself to remove the limit
2020-02-09 14:01:39 -06:00
gibbed 74c95c64d2 [Kernel] Ignore page size with base addr allocs.
Changes NtAllocateVirtualMemory so that it ignores specified page size when a
base address is specified.

Fixes a crash seen in N3 demo boot.
2020-02-09 06:54:27 -06:00
Justin Moore 96a7908c28 [Base] Fix formatting errors accidentally introduced 2020-02-08 16:30:17 -06:00
Justin Moore 7ed6296bb2 [Base] Call SetThreadDescription to name threads on versions of Windows that support it. 2020-02-08 21:12:42 +00:00
noshbar 2ce455fc73 [Base] Initialize file 'open_access' flag before using it.
In the 'OpenExisting' function, 'open_access' is used to create the flags for opening the file.
However, it is not set to zero, so could end up being incorrect file modes, potentially even emptying the file for appending, which would be bad.

This simply initialises it to zero first.
2020-02-08 14:43:46 -06:00
Triang3l 85fb028faa [D3D12] Cleaner DXBC emission code, port ROV prologue to it 2020-02-07 09:42:43 +03:00
Prism Tutaj 1cce25d5e7 [CPU] Change thunk layout and fix Linux thunk misalignment 2020-02-05 09:49:29 -06:00
Joel Linn f0723c211b [UI] Fix frame leak on context loss. 2020-02-05 09:48:31 -06:00
Joel Linn 2c99228041 [UI] Use ticks as frame time instead of file time.
File time is not as accurate as its resolution suggests.
This results in a zero time delta between frames for high fps.
2020-02-05 09:48:31 -06:00
illusion98 c3f3bd8701 [UI] Add F2 Hotkey to open current git commit in browser 2020-02-05 09:46:30 -06:00
Triang3l 211e30d791 [GPU] Remove repeated word in a comment 2020-02-02 21:07:51 +03:00
Triang3l 4061445087 [GPU] Remove unused kConstantInt/Bool shader operands 2020-02-02 21:05:00 +03:00
Silent 38bf6c8822 [Kernel] Make XexUnloadImage fully release the image
Previously XexUnloadImage did not cleanup the image fully,
and if XexLoadImage was to be called again on the same module,
it was not initialized fully, leading to a crash when using it.
2020-01-27 06:35:10 -06:00
Silent 9d48e904da [Kernel] (Partially) fix module refcounting
.xex module handles were retained twice in several places,
possibly causing them to leak.
More placed may have to be fixed too.
2020-01-27 06:35:10 -06:00
Silent f278e30d21 [Kernel] Fix SHA1 and SHA256 state endianness
Fixes malfunctioning SHA256 hash,
corrupting its state between Update and Finish calls.
2020-01-27 06:33:39 -06:00
Triang3l c43ccc073d [D3D12] Submit command lists on primary buffer end 2019-12-04 21:42:26 +03:00
Joel Linn 922f1f220a [CPU] Implement mftb instruction natively.
When the cvars clock_no_scaling and clock_source_raw are set, tick counts will be directly calculated in the emitted code.
2019-12-01 17:11:58 -06:00
Joel Linn 15d422d988 [Base] Optional raw Clock source.
New cvar clock_source_raw allows to use the cpu cycle counter itself as an alternative time source, if system timing resolution is to low and causes problems.
2019-12-01 17:11:58 -06:00
Joel Linn f88d46cead [Base] Optional Clock scaling bypass.
New cvar clock_no_scaling bypasses all time scaling code.
Clock state is non dynamic.
Timing is always derived from host.
2019-12-01 17:11:58 -06:00
Joel Linn 7e244e0488 [Base] Clock state now unaltered by threading.
- Removed tick and time values from ThreadSavedState.
- Removed affiliated get/set code from Save and Restore.
- Removed dangerous SetGuestTickCount method.
2019-12-01 17:11:58 -06:00
Joel Linn d6ce72ddc9 [Base] Clock reworked.
- Time progression is now equal and in sync on all threads.
- Floating point imprecisions do not interfere with timing.
2019-12-01 17:11:58 -06:00