Commit Graph

4476 Commits

Author SHA1 Message Date
gibbed 39c3f72c41 [Kernel] Implement RtlComputeCrc32. 2019-08-07 19:50:17 -05:00
Triang3l 2334e475de [Vulkan v2] Physical device, [D3D12] Small cleanup 2019-08-08 00:08:20 +03:00
Triang3l 40471dff32 [D3D12] Remove gflags from premake5.lua 2019-08-06 23:16:51 +03:00
emoose e68057affb
[Kernel] Update profile-gpds to work with latest master 2019-08-05 18:26:07 +01:00
emoose ad47cd7022
[Kernel] Allow loading info from "Account" file (gamertag etc)
This should let Xenia load in Account files from an actual 360, one step closer to fully supporting 360 profiles!

Only decrypts/reads atm, but the code is there for re-encrypting, maybe once new UI is ready we can make use of that for creating new 360-compatible profiles?
2019-08-05 18:26:06 +01:00
emoose 981eff5902
[Kernel] Move HmacSha function to seperate file, add RC4 2019-08-05 18:26:05 +01:00
emoose fa61106984
[Kernel] Remove redundant 'Xdbf' from names 2019-08-05 18:26:04 +01:00
emoose c1eaf6879a
[Kernel] Move XDBF code to its own namespace 2019-08-05 18:26:03 +01:00
emoose 8f5a82b444
[Kernel] Fix GpdFile missing default constructor & init dash with proper ID 2019-08-05 18:26:01 +01:00
emoose fa2cd63b1f
[Kernel] Add UserProfile::GetTitles, add title_id param to UpdateTitleGpd
Also changed GetTItleGpd to check for -1 to use current GPD (some games might be using 00... as title id, eg. protos)
2019-08-05 18:26:00 +01:00
emoose 00cffcacbb
[Kernel] Add GpdFile::GetTitleId() member 2019-08-05 18:25:59 +01:00
emoose 69eca79402
[Kernel] Format XdbfFile class members like rest of project
Oops, holdover from when this was XbdfWrapper :P
2019-08-05 18:25:58 +01:00
emoose 9b8ebcfe7b
[Kernel] Fix achievement iterator inside XGIUserWriteAchievements
Thanks to jgoyvaerts for noticing it!
2019-08-05 18:25:56 +01:00
emoose 40145b8dbb
[Kernel] Implement XamProfileEnumerate functions 2019-08-05 18:25:55 +01:00
emoose be8d85b168
[Kernel] Add --profile_directory flag, print achievements to log
Also added more error checking, and changed XELOG statements that use %ws to use %s & xe::to_string instead, seems to_string handles some non-latin strings better than %ws does.
2019-08-05 18:25:54 +01:00
emoose 66fca40b04
[Kernel] Update CreateAchEnum to actually use the title_id parameter 2019-08-05 18:25:53 +01:00
emoose 04fcdeb24d
[Kernel] GPD: Set unlock/played times, add missing SPA achievements to existing GPDs...
For example if a user applies a TU that adds achievements after already running the non-patched game, this should add any new achievements it finds.

Will also update the last_played time of a title when the SPA gets loaded in (on game launch), and also set the unlock_time when unlocking achievements.

Unlocking also only updates the title GPD (+ dash GPD) now, instead of needing to rewrite every GPD.
2019-08-05 18:25:52 +01:00
emoose faeddbd34d
[Kernel] Copy title image/name from SPA->GPD, fix XDBF free data...
Velocity should now load Xenia-created GPDs fine :D

To try it just make a new profile package in Velocity, inject GPDs from Xenia, and inject random Account file from a 360 profile.
Then close created package, use Tools -> Profile Tools -> Profile Editor to open the package you just created, and if all goes well the profile should load up fine.
2019-08-05 18:25:51 +01:00
emoose e510972691
[Kernel] Update XamUserCreateAchievementEnumerator to work with GPDs
Seems to work fine, tested with Tetris TGM ACE which uses achievements to track progression & unlock things in the game, and unlocking achievements in the GPDs does unlock things in game as intended.
Haven't actually tested unlocking the achievements in-game and then checking though (my tetris skills are awful :P), but I think it should work fine.

Strings aren't copied into it yet since I didn't want to alloc guest memory for every CreateEnumerator call...
Not many games actually have in-game achievement lists though, but I've added a placeholder string for any that might.

Like said in the comment, maybe we should alloc those strings in guest mem when the game GPD/SPA is first loaded in?
2019-08-05 18:25:49 +01:00
emoose 8368e8ce06
[Kernel] Let XGIUserWriteAchievements unlock achievements
XGIUserWriteAchievements seems to be the main (only?) way achievements are unlocked, when used that'll now try getting the GPD from UserProfile and unlock the achievements passed to it.

Dash GPD info is recalced and GPDs get written to disk whenever achievements are unlocked, letting achievements persist across instances.

TODO:
- "Achievement Unlocked!" UI, writing to log isn't much of an indicator :P
- XamUserCreateAchievementEnumerator, needs to return XACHIEVEMENT_DETAILS structs, which also contain pointers to strings in guest memory...
- Copy over more data from SPA? (need to check what data 360 copies to it)
- Optimize GPD writing, atm every GPD gets rewritten even if it hasn't been changed...
- Change profile folder path? Maybe allow using 360 profiles eventually?
- GPD settings
2019-08-05 18:25:48 +01:00
emoose 2a5ab07024
[Kernel] Let UserProfile load/save GPDs, convert SPA -> GPD on XEX load
UserProfile will now try loading dash GPD + any game GPDs from the "profile" folder when initialized.

After loading an XEX the title's SPA data gets passed to UserProfile, which will then either set current GPD based on title ID in the SPA, or create new GPD and copy achievements/images over to it.
2019-08-05 18:25:46 +01:00
emoose 734bbc7515
[Kernel] Add XdbfTitlePlayed support to GpdFile, used by dash GPD
Eventually user_profile would read dash GPD, loop through XdbfTitlePlayed entries, load GPD for each one...
Also eventually settings will be stored in dash GPD (eg. the ones currently defined in user_profile.cc)
2019-08-05 18:25:44 +01:00
emoose 00f3627715
[Base] Make Emulator::CompleteLaunch use SpaFile instead 2019-08-05 18:25:43 +01:00
emoose 52984280c3
[Kernel] Add achievement stuff to XdbfWrapper, convert it to a full XDBF parser...
XdbfWrapper would only wrap existing in-memory data, making modifying data (or creating new data) non-trivial.
The new XdbfFile class parses all the XDBF stuff into different vectors, making modifications a lot easier.

GpdFile and SpaFile are both children of XdbfWrapper, SpaFile has the same functions as the older XdbfGameData class, but now includes support for parsing achievements too.
The GpdFile class also supports achievements, and both classes parse into a common XdbfAchievement struct, which makes it simple to eg. copy achievements from a SPA file into a new GPD file.

TODO:
- images?
- GPD settings (user_profile has some code for this, not sure how much we can use here though...)
- modify user_profile to make use of this
2019-08-05 18:25:41 +01:00
gibbed 35e79d1979 [Base] Fix checks in cvar string escaping. 2019-08-04 21:55:06 -05:00
Triang3l cb0e18c7dc [Memory] BaseHeap::host_address_offset 2019-08-04 23:55:54 +03:00
Triang3l 25675cb8b8 [Memory] E0000000 adjustment in watches only for Windows 2019-08-04 23:10:59 +03:00
gibbed bbe4d416ff [Core] Fix writing of multiline values in config. 2019-08-04 13:00:15 -05:00
gibbed 41b8dbdd76 [Core] Fix SaveConfig on non-Windows. 2019-08-04 12:48:41 -05:00
gibbed 13a67d64a9 [Core] Fix ParseFile on non-Windows. 2019-08-04 12:20:51 -05:00
gibbed 306f358c07 [Base] Drop inline on string_util/vec128 implementations for now because clang is whining. 2019-08-04 12:00:04 -05:00
gibbed 7d6d732999 [Kernel] Of course I forget to commit another local change. 2019-08-04 11:44:18 -05:00
gibbed 36bd0df586 [Base] Move float/double to_hex_string implementation out of header. Maybe fix Travis complaining. 2019-08-04 11:38:01 -05:00
gibbed 1ebf7bb484 [Kernel] Implement KeTryToAcquireSpinLockAtRaisedIrql. Maybe correctly. 2019-08-04 11:36:49 -05:00
Triang3l 68017eadea [Vulkan] Add missing line to mark a texture as watched 2019-08-04 18:29:20 +03:00
gibbed 4248f9ed19 [Base] Fix formatting in string_util.cc. 2019-08-04 07:32:24 -05:00
gibbed 693958f8b7 [Base] Fix escaping quote runs. 2019-08-04 07:29:29 -05:00
gibbed bee55ce5bb [Base/Core] Work on config/cvars. Properly escape string values when saving config. 2019-08-04 07:09:05 -05:00
gibbed 82f85c98f0 [Base] Add wide version of split_path. 2019-08-04 06:47:09 -05:00
gibbed 01c656b77b [Base] Add split_string. 2019-08-04 06:46:07 -05:00
emoose 70df4f42ae
Merge branch 'master' into dashboard 2019-08-04 12:41:39 +01:00
gibbed 2048239f30 [Base] Move implementation out of header where appropriate, and qualify std namespace. 2019-08-04 04:40:19 -05:00
gibbed 40cc8c52d7 [Base] Qualify std namespace. 2019-08-04 04:39:22 -05:00
gibbed 8b1f728d85 [Base] Use vwsprintf instead of _vsnwprintf. 2019-08-04 03:44:08 -05:00
gibbed 5ea54d9326 [Core] Fix config load/save not using wide strings for path. 2019-08-04 03:30:57 -05:00
gibbed b685211b96 [Base] Add wide versions of FatalError. 2019-08-04 03:26:18 -05:00
gibbed 85b4b561bf [Base] Fix Travis complaints with cvar code. 2019-08-04 02:52:28 -05:00
gibbed a1c9d57afc [App] Make target into a transient cvar. 2019-08-04 02:18:03 -05:00
gibbed f360053198 [Base/Core] Bring cvar/config code in line with the style guide. 2019-08-04 02:17:22 -05:00
gibbed 7ba460552c [Base/Core] Add support for transient cvars. 2019-08-04 02:12:46 -05:00
gibbed 9a9a55aa49 [Core] Report the actual reason config parse failed. 2019-08-04 01:22:01 -05:00
gibbed 53b564c1a6 [APU] Only set the work event/wait on the worker thread when they actually exist. 2019-08-04 00:49:32 -05:00
gibbed 38a6d110e7 [APU] Only wait on the worker thread if it actually exists. 2019-08-04 00:27:49 -05:00
gibbed e48f4ce004 [Core] Only wait on the main thread if it actually exists. 2019-08-03 23:48:05 -05:00
gibbed 4970fc8673 [Kernel] Make XObject type() const. 2019-08-03 23:47:16 -05:00
gibbed b2f62b1982 Clean up cvars (rename, recategorize). 2019-08-03 23:46:03 -05:00
emoose 313e81ec38
[Kernel] Add XN_SYS_UI notifications to XamShow*UI exports 2019-08-04 03:57:06 +01:00
emoose c3476e8e19
[Kernel] Make XNotifyListener::notifications_ a std::vector, allowing multiple to use the same ID.
Previously adding a notification that already exists would just overwrite the older notifications value, meaning the game would never see that older notification.
This would break games like Project Sylpheed, which seems to require seeing XN_SYS_UI = true eventually followed by XN_SYS_UI = false for the game to realize all system UIs are closed.
2019-08-04 03:55:57 +01:00
gibbed 0ac83f99dc [App] Add winkey input driver last. 2019-08-03 20:47:39 -05:00
gibbed f2dac86b3f [App] Use make_unique when creating a derived type instance. 2019-08-03 20:46:03 -05:00
gibbed 02ea74becd [App] Only create input nop driver when explicitly requested. 2019-08-03 20:07:19 -05:00
gibbed e5eb59df71 [App] Remove unnecessary type aliasing (which also broke Travis). 2019-08-03 18:10:49 -05:00
gibbed f5cddbbf3f [App] Simplify and improve factory template.
[App] Rework audio and input system creation.
2019-08-03 17:36:50 -05:00
gibbed 848e2a4088 [App] Rework graphics system creation. 2019-08-03 16:42:38 -05:00
Triang3l 890a32bd98 [App] Only start D3D12 if DLL exists 2019-08-03 22:33:09 +03:00
Triang3l d20c2fa9da [Memory/Vulkan] Move old memory watches to the Vulkan backend 2019-08-03 21:06:59 +03:00
Triang3l 0370f8bbd9 [Memory] Pass exact_range to watch callbacks 2019-08-03 19:16:04 +03:00
Triang3l a0c92e30ce [Main] Add --gpu=d3d12 hint 2019-08-03 17:16:52 +03:00
Triang3l cc7f26ada8 [GPU] Remove one merge conflict resolution line 2019-08-03 17:15:37 +03:00
Triang3l e04dfe8833 Merge branch 'master' into d3d12 2019-08-03 16:53:37 +03:00
Triang3l 352f12f92e [D3D12] Switch from gflags to cvars 2019-08-03 16:53:23 +03:00
gibbed 5593773a07 [Discord] Better image keys and avoid setting a small image for now. 2019-08-03 08:16:08 -05:00
gibbed 112bf6c8ab Properly reset title id/game title. 2019-08-03 08:16:08 -05:00
gibbed c16ef67ff9 [App/Discord] Rework how rich presence is managed.
Updating rich presence state every time the window title changes
is a bad idea(tm).
2019-08-03 08:16:04 -05:00
Jonathan Goyvaerts 2a1d67eada [Base] Fix snprintf not working correctly
This seems to be an issue with Microsoft declaring a snprintf macro which causes issues.
Related issues:
- https://github.com/nlohmann/json/issues/1408
- https://github.com/kodi-pvr/pvr.vuplus/issues/162
2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts 81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts 67cc8b7316 Load game config on game load 2019-08-03 02:34:17 +02:00
Jonathan Goyvaerts d12871b8b4 [App] Initialize config on emulator startup 2019-08-03 02:34:08 +02:00
Jonathan Goyvaerts c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Jonathan Goyvaerts a01908aa15 Add config class for loading and saving of config file 2019-08-03 02:34:07 +02:00
Jonathan Goyvaerts bedd8ea40f [Base] Add cvar class, a better, more flexible implementation of storing configuration variables than gflags 2019-08-03 02:33:56 +02:00
Jonathan Goyvaerts bc6c047152 [Base] Add generic implementation for converting from string to T, and add specific implementation for string to bool 2019-08-03 02:33:40 +02:00
Triang3l e071ca852c Merge branch 'master' into d3d12 2019-08-02 21:50:43 +03:00
Rick Gibbed 372928cd57
Merge pull request #1387 from Margen67/update_capstone
Update Capstone to latest stable (4.0.1).
2019-08-02 11:09:02 -05:00
gibbed e05f3288e4 Merge remote-tracking branch 'origin/master' into d3d12 2019-08-02 10:00:36 -05:00
Wes Taylor ce38e7b0b1 [App] Add support for Discord rich presence. 2019-08-02 09:06:02 -05:00
Triang3l 90c9c24ca5 [D3D12] Add d3d12_readback_resolve gflag 2019-08-01 08:55:47 +03:00
Triang3l 68b2ddee86 Merge branch 'master' into d3d12 2019-07-31 23:09:44 +03:00
Triang3l e466687f11 [Base] Fix tzcnt logic 2019-07-31 23:08:41 +03:00
Triang3l 9d0986030f [Memory] Don't mark non-writable pages as watched 2019-07-31 08:40:26 +03:00
Triang3l 24383b9137 [Memory/D3D12] Unwatch up to 256 KB ranges 2019-07-31 00:18:12 +03:00
Triang3l b5fb84473d [Memory] Replace forgotten InvalidateRange in NtReadFile 2019-07-30 09:06:23 +03:00
Triang3l 4aceeb73c4 [Memory] Move new watches to heap-aware Memory from MMIOHandler 2019-07-30 08:00:20 +03:00
Triang3l 83da671bb4 Merge branch 'master' into d3d12 2019-07-30 07:59:38 +03:00
gibbed 669d83896d [Kernel] Implement RtlImageNtHeader. 2019-07-29 19:23:16 -05:00
gibbed cd18b702a6 [Kernel] Implement ExAllocatePool. 2019-07-29 19:21:01 -05:00
gibbed 3d67ffad81 [Kernel] Implement NtOpenSymbolicLinkObject, NtQuerySymbolicLinkObject. 2019-07-29 18:04:06 -05:00
gibbed 05d2d76cff [VFS] Reimplement ResolvePath. Add FindSymbolicLink, ResolveSymbolicLink. 2019-07-29 17:55:46 -05:00
gibbed 54b0e2aff6 [Kernel] Add XSymbolicLink. 2019-07-29 17:52:46 -05:00
gibbed e72cacc986 [VFS] Make ResolvePath argument a const reference. 2019-07-29 16:04:25 -05:00
gibbed 7c7d80103e [Kernel] Use type constant instead of type enum when calling base constructor. 2019-07-29 13:53:44 -05:00
gibbed 0d6bfc1a6b [Kernel] Rename NotifyListener to XNotifyListener to bring it in line with the naming scheme of kernel objects. 2019-07-29 13:43:13 -05:00
gibbed e38be4c294 [Core] Use a macro for loading kernel modules (which also explicitly discards return value). 2019-07-29 13:26:09 -05:00
gibbed ecf64d8e05 [Core] Keep a reference to the main thread's XThread rather than its underlying thread. 2019-07-29 13:24:36 -05:00
gibbed a4d2f5e4ed [Core] Initialize all members of Emulator. 2019-07-29 13:22:45 -05:00
emoose 7e2a163a51
[Kernel] Fix bug with deleting StfsContentPackage & ensure instance gets
deleted
2019-07-23 18:46:34 +01:00
emoose dcb45e800f
[Kernel] Add virtual dtor to ContentPackage, hopefully fix travis... 2019-07-23 18:02:15 +01:00
emoose ef00742d3d
[Kernel] Allow reading FolderContentPackage thumb from headers.bin file 2019-07-23 17:45:16 +01:00
emoose 54f9ce14c4
[Kernel/VFS] Split code into StfsContentPackage / FolderContentPackage classes 2019-07-23 17:36:32 +01:00
emoose 81d88de912
[Kernel] Add APC support to NtWriteFile 2019-07-23 09:46:44 +01:00
emoose ab9dab806d
[Kernel] Read STFS headers for unpackaged files from [path].headers 2019-07-23 08:40:37 +01:00
emoose cb8d23aa08
[Kernel/VFS] Allow reading XCONTENT_DATA info from STFS headers 2019-07-23 08:38:34 +01:00
emoose 846b3e2315
[Kernel] ContentManager: add support for STFS packages 2019-07-23 08:37:57 +01:00
Triang3l 211f59740c Merge branch 'master' into d3d12 2019-07-21 22:02:12 +03:00
Triang3l bc2eaf9b64 [CPU] VectorAverage CPU-independent constant propagation 2019-07-21 22:01:24 +03:00
Triang3l 547345b12d Merge branch 'master' into d3d12 2019-07-21 18:31:06 +03:00
Triang3l ab664e38a0
Merge pull request #1406 from Gliniak/vsvgsb
Added support for Altivec: vavgsb
2019-07-21 18:30:03 +03:00
Triang3l 3f968c3760 [D3D12] YUV texture formats 2019-07-21 15:38:25 +03:00
Triang3l 7648e45661 Merge branch 'master' into d3d12 2019-07-20 22:05:34 +03:00
Triang3l 8c00aea5ff [CPU] vpkd3d VPACK_NORMPACKED64 2019-07-20 22:04:37 +03:00
Triang3l bcd37d7938 Merge branch 'master' into d3d12 2019-07-20 16:15:02 +03:00
Triang3l 2350810f4e [Base] Add typename to sat_add/sub 2019-07-20 16:14:13 +03:00
Triang3l 0488766452 Merge branch 'master' into d3d12 2019-07-19 23:13:38 +03:00
Triang3l 26c24b4726 [CPU] Move saturating add/sub to base/math.h 2019-07-19 23:12:11 +03:00
Triang3l 808d6d6025 Merge branch 'master' into d3d12 2019-07-19 08:22:59 +03:00
Triang3l 2b411f4c8b [CPU] Saturating VectorSub: fix typo in last commit 2019-07-19 08:22:30 +03:00
Triang3l 2c2808ce00 Merge branch 'master' into d3d12 2019-07-19 08:19:03 +03:00
Triang3l f14f44e729 [CPU] Saturating VectorAdd/Sub of constants without DID_SATURATE yet 2019-07-19 08:17:55 +03:00
emoose 5df5ec022b
[Kernel] Return device type in XamContentGetDeviceData 2019-07-19 01:47:20 +01:00
gibbed 23c9341642 Merge remote-tracking branch 'origin/master' into d3d12 2019-07-18 18:39:17 -05:00
gibbed 0bed6e565b [Base/GPU] Fix some usage of xe::find_base_path. 2019-07-18 18:37:47 -05:00
gibbed 887609ba44 [Base] Only attempt to create non-empty base paths in CreateParentFolder. 2019-07-18 18:32:04 -05:00
gibbed 706c810a3a [Base] Fix find_base_path returning original string with no separator is found. 2019-07-18 18:31:21 -05:00
gibbed 48b04d186b Merge remote-tracking branch 'origin/master' into d3d12 2019-07-18 18:02:01 -05:00
gibbed 0d3039f5ba [VFS] Fix an outdated commit of OpenFile that somehow slipped through. 2019-07-18 17:49:15 -05:00
gibbed 9a8d77137c [Base] Fix Windows CreateFolder so it creates the entire path properly. 2019-07-18 17:47:25 -05:00
gibbed 324d28adba [VFS] Fix comment. 2019-07-18 17:24:44 -05:00
gibbed bf989f0aae [Kernel/VFS] Maybe fix creation of directories. See #1403. 2019-07-18 17:15:57 -05:00
Radosław Gliński 53eb95d33c Added support for Altivec: vavgsb
Also little size adjustments for vavgsh
2019-07-18 21:22:42 +02:00
gibbed e024cbc3f0 Merge remote-tracking branch 'origin/master' into d3d12 2019-07-18 12:33:52 -05:00
gibbed e14639c6c0 [CPU] Fix lzx_decompress misuse of xe::bit_count. Fixes #1402. 2019-07-18 12:33:16 -05:00
gibbed 1e5fa61030 Merge remote-tracking branch 'origin/master' into d3d12 2019-07-17 17:56:48 -05:00
gibbed c213f7d7a3 [CPU] Properly clear LZX window. 2019-07-17 17:53:59 -05:00
gibbed 29665ae79c [CPU] Minor LZX code cleanup. 2019-07-17 17:51:36 -05:00
emoose 71780838f0
[CPU] Use window size for LZX ref_data_size 2019-07-17 22:53:39 +01:00
Triang3l 7a88789ebd [D3D12] RB_STENCILREFMASK_BF and stencil constants cleanup 2019-07-14 23:49:30 +03:00
Triang3l f393c621d7 [D3D12] Fix typos in shader_compiler_main 2019-07-14 00:18:37 +03:00
Triang3l 4825e69fda [D3D12] Cleanup primitive types and front/back facing 2019-07-13 22:25:03 +03:00
Triang3l a16a746432 Merge branch 'master' into d3d12 2019-07-13 22:22:42 +03:00
Triang3l 1cc06ea3e7 [GPU] VGT major mode info, swap IsPrimitiveTwoFaced arguments 2019-07-13 22:18:06 +03:00
Triang3l 863217217e Merge branch 'master' into d3d12 2019-07-13 15:33:45 +03:00
Triang3l 244f5d4f1c [GPU] xenos.h: Add IsPrimitiveTwoFaced 2019-07-13 15:30:14 +03:00
Triang3l 929ecfa15c [D3D12] ROV: Fix stencil test result being ignored for depth 2019-07-13 12:27:15 +03:00
ObsidianNA ccfe911567 Recent Files List
Overview:
Added a Pop-up menu named 'Open Recent' under the 'File' menu bar item that lists 10 recently opened files.

- It stores the paths of opened games inside a file named 'recent.txt' in the same folder where the xenia.exe is located.

- If the file doesn't exits, the program creates it, then paths are stored when a new file is opened.

- Each time a file is opened, the program compares stored paths with the new one, if it exists then the path is moved to the top of the list to indicate that it is the most recent file opened.

- 'Open Recent' entries are refreshed once xenia is re-started.
2019-07-11 23:07:52 -04:00
Triang3l 35c8b66c93 [D3D12] Add forgotten shader implicit early Z check 2019-07-11 10:15:33 +03:00
Triang3l 6672997108 [D3D12] ROV early Z and full rewrite, shader scalar optimizations 2019-07-11 09:31:58 +03:00
Margen67 aea0d8d6b3 [third_party] Update capstone to latest stable 2019-06-24 23:15:28 -07:00
Triang3l f7ea93148a Merge branch 'master' into d3d12 2019-05-25 23:03:21 +03:00
gibbed 8afb93e2d9 [PPC] Fix trailing comment in ppc_opcode_disasm.h. 2019-05-13 00:59:40 -05:00
gibbed 9d7058ac96 [PPC] Shuffle code around to make it cleaner to modify by hand.
- [PPC] Rename ppc_opcode_lookup.cc, ppc_opcode_table.cc to have a _gen
suffix to make it more obvious about their autogenerated nature.
- [PPC] Move autogenerated code from ppc_opcode_disasm.cc to
ppc_opcode_disasm_gen.cc.
- [PPC] Update ppc-table-gen to allow for blacklisting of certain
instructions that have custom disasm code.
2019-05-13 00:49:57 -05:00
eladash 67e3b1f453 [PPC] disasm: BC formatting improvements 2019-05-13 00:27:40 -05:00
gibbed 6789873620 Merge branch 'master' into d3d12 2019-05-12 07:48:18 -05:00
Rick Gibbed f0aae00e4f
Merge pull request #1353 from emoose/kernel-funcs
[Kernel] Add ObReferenceObjectByName.
2019-05-12 07:02:41 -05:00
Rick Gibbed e51686bbac
Merge pull request #1369 from jgoyvaerts/logger_fix
[Base] Flush the logger before exiting on a fatal error.
2019-05-11 11:45:00 -05:00
Jonathan Goyvaerts eb5baa41bb Shutdown logging when a fatal error occurs, this fixes the error not showing up in the log file 2019-05-11 14:58:34 +02:00
gibbed f54dddee90 Merge branch 'master' into d3d12 2019-05-04 13:09:08 -05:00
Rick Gibbed 00e061c4e4
Merge pull request #1316 from chris-hawley/master
[Base] Remove hacky fix for missing codecvt on linux.
2019-05-04 11:40:33 -05:00
Rick Gibbed 9bb20bfc36
Merge pull request #1254 from Wildenhaus/master
Games on Demand / Multi-file STFS (SVOD) support.
2019-05-04 11:30:48 -05:00
gibbed fac37e7c50 Merge branch 'master' into d3d12 2019-05-01 21:00:21 -05:00
gibbed bc9d82e2b0 [Base] Fix Travis whining. 2019-04-30 18:16:20 -05:00
gibbed 7ddcd4e32d Oops. Missed a log line for previous two commits. 2019-04-30 17:45:45 -05:00
gibbed bc0ebcb26e - Clean up log level names, no need for LOG_LEVEL_ prefix when it is an
enum class.
- Clarify usage of log level in comment.
2019-04-30 17:41:27 -05:00
gibbed 179883dc0a [App] Fix "Open" menu item text. 2019-04-30 16:44:45 -05:00
gibbed 6b772c01b9 [Base] Oops. Fix missing include. 2019-04-30 16:44:00 -05:00
gibbed cfa0a40343 [App] Add "Show content directory..." menu item. 2019-04-30 16:30:49 -05:00
gibbed 2c3207e5cc [Base] Widen LaunchBrowser. 2019-04-30 16:30:17 -05:00
Triang3l 08675ab65e [D3D12] 3D texture resolve 2019-04-25 08:37:55 +03:00
gibbed 4ceafcdf68 [UI] Reduce SetProcessDpiAwareness failure to warning. 2019-04-20 13:21:36 -05:00
Triang3l 66a9c9d812 [GPU] Store ALU result after both vector and scalar instructions 2019-04-20 20:30:01 +03:00
gibbed cd1aadef74 Merge remote-tracking branch 'origin/master' into d3d12 2019-04-20 10:59:05 -05:00
gibbed d0d18ff570 [APU] Proper register file for XMA. 2019-04-20 10:57:42 -05:00
gibbed 1dd15d4abc [App] Stub main_init for posix. 2019-04-20 10:57:41 -05:00
gibbed c965751911 Merge remote-tracking branch 'origin/master' into d3d12 2019-04-20 02:40:46 -05:00
gibbed 4f44bc3362 [App] Fix AVX check. For good this time. Hopefully. 2019-04-20 02:32:45 -05:00
gibbed 1145d57007 Undo main/wWinMain changes in preparation for new method
of doing a startup AVX check.

This reverts commit 4030cff3ec.
2019-04-20 02:32:45 -05:00
Triang3l 40ffba97d9 Merge branch 'master' into d3d12 2019-04-19 15:32:10 +03:00
gibbed 18d8a59cfa [Kernel] Initialize COM on all new XThreads. 2019-04-19 04:02:32 -05:00
gibbed 4030cff3ec - Move main, wWinMain entrypoints to their own file.
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
gibbed a296e17f06 [App] Don't redirect stdout/stderr as the default debug arguments. 2019-04-18 15:00:25 -05:00
gibbed 827567a21a Merge branch 'master' into d3d12 2019-04-18 11:23:41 -05:00
gibbed 28a7334f5c [Vulkan] Fix missing aes_128 link for trace viewer/dumper. 2019-04-18 10:20:18 -05:00
Triang3l ec92d46480 Merge branch 'master' into d3d12 2019-04-18 17:54:57 +03:00
gibbed 593a871c84 [x64] Use vmovaps instead of movaps in emitted function prolog/epilog. 2019-04-18 09:36:06 -05:00
gibbed ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
Triang3l 35061880d9 Merge branch 'master' into d3d12 2019-04-17 16:41:03 +03:00
Triang3l 63e135590c [UI] Host breakpoint shortcut (pauses WinDbg) 2019-04-17 16:40:35 +03:00
Triang3l 3f22ff3645 [D3D12] DXT3A_AS_1_1_1_1 texture loading 2019-04-17 14:38:41 +03:00
Triang3l 4eae7d9d65 Merge branch 'master' into d3d12 2019-04-14 19:20:39 +03:00
Triang3l ab4d344fb0 [Kernel] Add forgotten aes_128 library reference 2019-04-14 19:20:06 +03:00
Triang3l ddd2a6922c Merge branch 'master' into d3d12 2019-04-14 18:09:44 +03:00
Triang3l 85e26c5dde [Kernel] XeCryptAes using openluopworld/aes_128 2019-04-14 18:08:07 +03:00
emoose 88bb173c9d [Kernel] Add XeCryptRc4* funcs 2019-04-14 15:19:56 +03:00
emoose 5b7c67fe71 [Kernel] Fix running import library entrypoints via new XThread param
This is fixed by adding a new startup_type parameter to XThread, which
lets us create an XThread that can run DllMain with correct arguments.
LaunchModule is then modified to use that param when launching a DLL
module that has an entrypoint. UserModule::LoadXexContinue also has code
added to call SetExecutableModule prior to loading any import libraries
2019-04-14 04:02:16 +01:00
emoose 7df678d2c5 [Kernel] Fix loading import library modules 2019-04-13 20:45:59 +01:00
emoose e86bc83eee [Kernel] Add ObReferenceObjectByName 2019-04-13 19:58:06 +01:00
Triang3l 286628b75b Merge branch 'master' into d3d12 2019-04-13 20:30:17 +03:00
Triang3l 5a6b42c611 [Kernel] ExGetXConfigSetting: correct null buffer handling, better fake country 2019-04-13 20:29:00 +03:00
Triang3l 293851d0c9 [D3D12] Re-add accidentally deleted RT update trigger 2019-04-12 20:09:31 +03:00
Triang3l 8f51855c8f Revert "[D3D12] Re-add accidentally deleted RT update trigger and treat Z test and write bits separately"
This reverts commit 25cc189e99.
2019-04-12 20:04:50 +03:00
Triang3l 25cc189e99 [D3D12] Re-add accidentally deleted RT update trigger and treat Z test and write bits separately 2019-04-12 19:13:03 +03:00
Triang3l ecc056912d [D3D12] Don't drop draw calls with no render targets 2019-04-12 16:59:45 +03:00
Triang3l 93a18a517b [D3D12] Place UAV barriers for the EDRAM ROV when layout changes 2019-04-12 15:59:09 +03:00
Triang3l 45cee3f871 [D3D12] Don't create RT store pipelines with ROV 2019-04-11 12:05:13 +03:00
Triang3l 88c594ca3b [D3D12] Fix RB_COPY_DEST_PITCH handling in ResolveCopy 2019-04-10 22:35:05 +03:00
Triang3l 5e30f3a947 [D3D12] User clip planes and constant/signature refactoring 2019-04-10 16:37:06 +03:00
Triang3l 8c56d5cb98 [D3D12] Fix lint failure in RenderTargetCache::BeginFrame 2019-04-09 23:04:13 +03:00
Triang3l 4e8e75c549 [D3D12] Remove TODO for initial EDRAM clear since Windows clears allocations anyway 2019-04-09 19:45:35 +03:00
Triang3l 959b8ef19e [D3D12] Draw rectangles by mirroring one vertex across diagonal 2019-04-09 17:19:47 +03:00
Triang3l b38f9ade1b Merge branch 'master' into d3d12 2019-04-09 13:56:11 +03:00
Triang3l 81cd2506e8 [Kernel] VdSwap: Front buffer in 0xE0000000 range 2019-04-09 13:55:37 +03:00
chris-hawley fed4cb63a7 implement linux filesystem support 2019-04-08 01:06:06 -04:00
Christian Hawley b1f2f177cd Remove hacky fix for missing codecvt on linux 2019-04-08 01:06:06 -04:00
Triang3l 0367e1a536 [D3D12] Fix ps_param_gen rounding ignored with ROV 2019-04-05 23:57:29 +03:00
Triang3l 6db0ad663b [D3D12] mb_used -> used_mb in the profiler 2019-04-05 15:31:59 +03:00
Triang3l d0c8725270 [D3D12] Limit texture memory usage with LRU deletion 2019-04-05 15:19:16 +03:00
Triang3l 9a1008dacb Merge branch 'master' into d3d12 2019-04-05 13:33:11 +03:00
Triang3l 84b8b444cf [Base] Clock::QueryHostUptimeMillis: change to 64-bit 2019-04-05 13:32:34 +03:00
Dr. Chat 782f435548 Add heavily WIP / nonworking networking code 2019-04-04 18:20:53 -05:00
Triang3l 5582e63ef1 [D3D12] Resolve 16-bit RTs to unorm textures, not snorm 2019-03-07 11:21:39 +03:00
emoose a5d5f635e1 [Kernel] UserModule: minor cleanup 2019-03-05 18:11:33 +00:00
emoose a904f297c8
Merge branch 'master' into title-updates 2019-03-05 17:52:52 +00:00
Triang3l 7049d52dbb [D3D12] Display texture cache size in the profiler 2019-03-05 10:26:40 +03:00
Triang3l d8fccb2fa0 Merge branch 'master' into d3d12 2019-03-03 18:32:32 +03:00
Triang3l 3f576b0d5a [Kernel] Expose display gamma as gflags 2019-03-03 18:31:54 +03:00
Triang3l 05c1f57007 Merge branch 'master' into d3d12 2019-03-03 14:42:11 +03:00
Maksim Derbasov 142148e594 [GPU] Fix bit check in Make Coherent logging. 2019-03-02 04:13:03 -06:00
Triang3l 57e8f05234 [D3D12] Make RG16/RGBA16 RTVs range switchable 2019-01-29 14:39:04 +03:00
Triang3l cb99afffcb [D3D12] Revert changing the sign of tfetch epsilon 2019-01-29 12:41:06 +03:00
Triang3l 0c8ce2af04 [D3D12] tfetch: change epsilon sign, add 0.5 to getWeights coords 2019-01-29 12:35:22 +03:00
Triang3l 61fd5a6dc2 [D3D12] Replicate red channel of single-channel textures 2019-01-26 14:11:09 +03:00
Triang3l 189ffca234 [D3D12] DXBC: Fix aL incrementing 2019-01-25 22:43:16 +03:00
Triang3l 80e5c56340 Merge branch 'master' into d3d12 2019-01-25 20:44:51 +03:00
Triang3l e706cf0d54 [GPU] Fix addsc/mulsc/subsc r# addressing mode not initialized 2019-01-25 20:43:53 +03:00
Triang3l ba7b6d6081 [D3D12] Memexport CPU readback, disabled by default 2019-01-25 16:33:25 +03:00
Triang3l 4a3245650f [D3D12] Optional non-GS path for quads for PIX 2019-01-25 15:09:58 +03:00
Triang3l eaefc3862f Merge branch 'master' into d3d12 2019-01-24 17:46:06 +03:00
Triang3l 4ae9266f13 [CPU] Fix vpkd3d half4 component order 2019-01-24 17:45:41 +03:00
Triang3l 9dd62c1e15 [D3D12] Alpha to coverage (w/o dithering) with RTV, tiny AtoC fixes 2019-01-21 23:41:47 +03:00
Triang3l 0a9feb5eca [D3D12] ROV: Alpha to coverage (without dithering) 2019-01-21 21:28:26 +03:00
Triang3l 6f5d616372 Merge branch 'master' into d3d12 2019-01-19 15:17:17 +03:00