gibbed
919882dd68
[Kernel] Fix use of wrong macro in XamEnumerate for extended error.
2018-11-29 12:34:56 -06:00
Wildhaus
151a955c6a
Support EGDF and XSF layouts
2018-11-28 10:08:07 -05:00
gibbed
527f960288
[Kernel] Proper size in XamUserCreateAchievementEnumerator.
2018-11-26 20:43:41 -06:00
gibbed
248b661d14
[Kernel] Maybe fix XamEnumerate, again?
...
Some titles, when using XamEnumerate synchronously, expect X_ERROR_NO_MORE_FILES as the return value.
Some titles, when using XamEnumerate asynchronously, expect X_ERROR_FUNCTION_FAILED as the overlapped result.
2018-11-26 19:53:03 -06:00
gibbed
2398b1b8f4
[Vulkan] Use epsilon equality for checking rectangle list form.
2018-11-26 11:51:02 -06:00
gibbed
af206addd1
Optimize SPIRV code generated via genspirv command.
2018-11-26 11:49:36 -06:00
gibbed
da8f094bf8
[App] Fix Travis whining.
2018-11-26 11:21:37 -06:00
gibbed
e7d77f4780
Clarify AVX requirement error message.
2018-11-26 10:33:22 -06:00
gibbed
08be8af5c0
[App] Abort out early with an error message if CPU does not support AVX.
2018-11-26 10:24:17 -06:00
gibbed
28b494dadc
[Kernel] Stub XMsg app 0x000000FE/msg 0x00020021.
2018-11-26 10:21:09 -06:00
gibbed
5b2b2a3cc1
[Kernel] Fix logging of app for XMsgInProcessCall/XMsgSystemProcessCall/XMsgStartIORequest/XMsgStartIORequestEx.
2018-11-26 09:04:10 -06:00
gibbed
03d6de997c
[Kernel] Some titles seem to explicitly expect X_ERROR_FUNCTION_FAILED to mean no more files when enumerating content.
2018-11-26 07:33:21 -06:00
gibbed
bd45a5defd
[Kernel] Fix timeout in NtWaitForMultipleObjectsEx.
2018-11-25 11:06:57 -06:00
gibbed
e91e1c8824
[Kernel] Tag XAudioGetVoiceCategoryVolume as high frequency.
2018-11-25 10:19:40 -06:00
gibbed
894034a9b0
[Kernel] Tag RtlMultiByteToUnicodeN, RtlUnicodeToMultiByteN as high frequency.
2018-11-25 10:02:29 -06:00
gibbed
70b07712b2
[Kernel] Research on C++ exceptions.
2018-11-25 10:01:22 -06:00
gibbed
64403d5dc6
[Kernel] Don't directly call RtlNtStatusToDosError export.
2018-11-25 09:58:03 -06:00
gibbed
216bec15f6
[Kernel] Stub XamQueryLiveHiveW.
2018-11-25 09:56:22 -06:00
gibbed
4dfe83af6c
[Kernel] Fix threading issues caused by direct use of exports.
2018-11-25 05:08:16 -06:00
gibbed
e6dbd8905c
[Kernel] Stub XLiveBaseGetNatType.
2018-11-25 03:46:44 -06:00
gibbed
20315850db
[Kernel] Stub XamFeatureEnabled.
2018-11-24 20:53:45 -06:00
gibbed
08fb15fcca
[Kernel] Oops.
2018-11-24 19:16:14 -06:00
gibbed
3baf668055
[Kernel] Implement ExAcquireReadWriteLockExclusive, ExReleaseReadWriteLock.
2018-11-24 19:04:42 -06:00
gibbed
c98f6af1d8
[Kernel] Better stub XAM online schema.
2018-11-24 17:47:24 -06:00
gibbed
9162bc2af9
[CPU] Fix Travis whining.
2018-11-24 16:21:06 -06:00
gibbed
5679b0f0c7
[CPU] Fix XEX2 delta patching.
2018-11-24 15:16:39 -06:00
gibbed
77f9e1516e
[CPU] Minor cleanup in LZX.
2018-11-24 15:16:02 -06:00
gibbed
5f764fc752
[CPU] Move LZX code to its own files.
2018-11-24 15:02:03 -06:00
gibbed
dd3a049b23
[CPU] Oops.
2018-11-24 15:00:00 -06:00
gibbed
f7501750d9
[CPU/Kernel] Correct size check when parsing XEX_HEADER_IMPORT_LIBRARIES.
2018-11-24 09:38:21 -06:00
gibbed
fb50f02a98
[Base] Properly flush remaining writes out before shutting down logging.
2018-11-24 08:54:46 -06:00
gibbed
24dd0267bf
[Kernel] Oops.
2018-11-24 04:07:56 -06:00
gibbed
207589e5a1
[CPU/Kernel] Correct parsing of XEX_HEADER_IMPORT_LIBRARIES.
2018-11-24 04:05:41 -06:00
Dr. Chat
b3d509eb01
[x64] Swap to using anchor variables instead of dummy function calls
2018-11-23 18:02:04 -06:00
Dr. Chat
df964015a4
[x64] Fix improper use of compare_exchange_strong when adjusting code commit mark
2018-11-23 18:02:04 -06:00
Dr. Chat
384ec98a42
[x64] Allow the JIT to use volatile registers
2018-11-23 18:02:04 -06:00
Dr. Chat
b57bb74965
[x64] Change the parameters to host_to_guest_thunk
...
Shuffle some code around in x64_backend.cc
Add GetNativeParam to avoid hardcoding parameters
2018-11-23 18:02:04 -06:00
Dr. Chat
c451fda819
[x64] Template-ize a few vector emulation functions
2018-11-23 18:02:03 -06:00
Dr. Chat
4571e8207a
[x64] Minor cleanups in emitter
2018-11-23 18:02:03 -06:00
Dr. Chat
b2f9d54e7e
[x64] Factor out memory handling code
2018-11-23 18:02:03 -06:00
Dr. Chat
bb74114cab
[x64] Factor out control code
2018-11-23 18:02:03 -06:00
Dr. Chat
c318009733
[x64] Factor out vector handling code
2018-11-23 18:02:03 -06:00
Dr. Chat
6861cce492
[x64] Factor out a lot of the opcode handling code
2018-11-23 18:02:02 -06:00
Dr. Chat
696c3cd439
[x64] Remove most of RegisterSequences
2018-11-23 18:02:02 -06:00
gibbed
d87ae26895
[CI] Fix mspack linking even more.
2018-11-23 17:58:38 -06:00
gibbed
213e688173
[Kernel] Fix some stuff from PR merge.
2018-11-23 17:27:35 -06:00
emoose
933588717e
[Kernel] Add XamGetOnlineSchema export, returns dummy data
2018-11-23 16:38:34 -06:00
emoose
8c6e0b86f9
[Kernel] swprintf_s -> swprintf, change how Format*String/Build*ResourceLocator exports copy text
...
New way of copying the text should make it less likely for any buffer overflows to occur.
2018-11-23 16:38:34 -06:00
emoose
958882a3ea
[Kernel] Add ExConsoleGameRegion export variable (set to 0xFFFFFFFF)
2018-11-23 16:38:34 -06:00
emoose
65e8872dc1
[Kernel] Add _vsnwprintf export
2018-11-23 16:38:34 -06:00
emoose
8efbe32867
[Kernel] Add XamBuild*ResourceLocator & XamFormat*String exports
...
Resource locators are just strings that say where to find a resource, they can either point to a file path or to an XEX resource.
Normally the Gamercard/SharedSystem exports use XamBuildResourceLocator to make a locator for the resources inside xam.xex.
But since our xam won't have those resources I've made it point them to a local file instead (by passing 0 as the module param for XamBuildResourceLocator).
The resources will have to be extracted to the XEX's local path for it to find them though (and XEX will need to have media:\ symlinked too)
The XamFormat*String exports are really windows-only right now, but they'll at least empty the buffer for other platforms.
They'll also always output MM/DD/YYYY no matter what locale the system is, on 360 this is localized properly of course.
I've renamed XamBuildSharedResourceLocator_ to XamBuildLegacySystemResourceLocator too since that seems to be the proper name for it.
In earlier Xams this just pointed to ...SharedSystemResourceLocator (as does this code), but later versions seem to have their own function.
2018-11-23 16:38:34 -06:00
emoose
c5056c644f
[Kernel] Add XamNotifyCreateListenerInternal export (1 unknown param)
...
Just changed the existing XamNotifyCreateListener import to ...CreateListenerInternal, and made a new XamNotifyCreateListener that just calls the internal version.
2018-11-23 16:38:34 -06:00
emoose
5e9e226c94
[Kernel] Add XamContentCreateDeviceEnumerator export
...
Also changed name field of DeviceInfo to be a wchar_t* of known length, makes it match the X360 DeviceInfo struct more closely and it's easier to make sure things reading it won't overflow anything.
2018-11-23 16:37:04 -06:00
gibbed
d68c27d78b
[CI] Fix mspack linking.
2018-11-23 15:57:21 -06:00
gibbed
7226c9e047
Update mspack, add to premake, and fix missing license. Fixes #1252 .
2018-11-23 15:32:55 -06:00
gibbed
4c53bc5c9a
[x64] Fix Travis whining.
2018-11-23 12:03:09 -06:00
gibbed
5fbcb8991e
[JIT] Run the SimplificationPass/ConstantPropagationPass until there are no changes.
2018-11-23 12:01:10 -06:00
gibbed
b121f45c7f
[JIT] Assert that other is constant in set_from.
2018-11-23 10:46:27 -06:00
gibbed
996093e499
[x64] Support constant src1 for Int32 VECTOR_SHL_V128/VECTOR_SHR_V128.
2018-11-23 09:33:30 -06:00
gibbed
b24936d248
[Kernel] Tag XamUserGetSigninState as high frequency.
2018-11-23 09:02:49 -06:00
gibbed
7d07720de1
[JIT] Zero constant propagation for OPCODE_SHL/OPCODE_SHR.
2018-11-23 08:02:09 -06:00
gibbed
4c04a9383a
[JIT] Fix constant propagation for OPCODE_SELECT.
2018-11-23 07:52:14 -06:00
gibbed
94284ea9aa
[CPU] Fix null termination in HIRBuilder::CommentFormat.
2018-11-23 07:50:42 -06:00
gibbed
d04c748773
[App] Log content root.
2018-11-22 17:40:38 -06:00
gibbed
00261b9ca0
[App] Get absolute path of content root in all cases.
2018-11-22 17:40:22 -06:00
gibbed
69463033b1
[Kernel] Don't trust buffer length in XamEnumerate when it matches items per enumerate.
2018-11-22 16:49:01 -06:00
gibbed
db234309bf
[Kernel] Fix logging of broken XamEnumerate usage.
2018-11-22 16:36:19 -06:00
gibbed
086d7e9da7
[Input] Dynamically link to XInput.
2018-11-22 10:46:48 -06:00
gibbed
86d2c9ae1e
Fix Travis whining.
2018-11-22 09:48:04 -06:00
Margen67
896ac4a682
Update documentation.
...
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
9f895c3f14
[UI] Use DPI APIs when available.
2018-11-22 08:30:30 -06:00
gibbed
5c473a5203
[Base] Fix missing include in filesystem_posix.
2018-11-22 06:41:58 -06:00
gibbed
463f21e484
[Kernel] Cleanup XamLoaderSetLaunchData, XamLoaderGetLaunchData.
2018-11-22 04:29:35 -06:00
gibbed
473b9d3c3a
[Kernel] Don't trust buffer_length in XamEnumerate.
2018-11-22 04:28:46 -06:00
gibbed
683de76b9b
[Kernel] Remove stray logging in NtReleaseMutant.
2018-11-21 18:07:46 -06:00
gibbed
1ba5dd5eb1
Use platform-specific user directory to store content. Create a file named portable.txt next to xenia.exe to restore previous behavior.
2018-11-21 18:07:45 -06:00
gibbed
eb55d68e1f
[Kernel] Tag MmQueryAddressProtect as high frequency.
2018-11-21 17:54:28 -06:00
Rick Gibbed
b7a4abc6f6
Merge pull request #1178 from Jeremy517/master
...
Persist title-specific profile content
2018-11-21 16:47:28 -06:00
gibbed
22e7500f63
[CPU] Handle NaN in fctidxx, fctiwxx.
2018-11-20 23:21:38 -06:00
gibbed
0206e90398
[Kernel] Simplify RtlNtStatusToDosError logging.
2018-11-20 16:25:07 -06:00
gibbed
7ae0e2b8e5
[Kernel] Fix Travis whining.
2018-11-20 16:05:45 -06:00
gibbed
4f2326e5d7
[Kernel] Oops.
2018-11-20 15:52:15 -06:00
gibbed
5b776b99da
[Kernel] Move xboxkrnl_threading to new shim convention.
2018-11-20 15:49:06 -06:00
gibbed
d7fc74d788
[Kernel] Move xam_ui to new shim convention.
2018-11-20 14:53:00 -06:00
gibbed
2247742494
[Kernel] Add command-line flag to toggle XEX patching.
2018-11-20 14:48:32 -06:00
gibbed
7e78a79a2d
[Kernel] Add a note to previous commit.
2018-11-20 14:25:18 -06:00
gibbed
de34bd81db
[Kernel] Set default license mask when available in XamContentCreateEx.
2018-11-20 14:24:13 -06:00
gibbed
ff0b8a67cd
[Kernel] Tag XamContentGetLicenseMask as high frequency.
2018-11-20 13:53:46 -06:00
gibbed
e1d448f630
[Kernel] Move xam_content to new shim convention.
2018-11-20 13:50:31 -06:00
gibbed
927acf1902
[Kernel] Fix a minor typo.
2018-11-20 13:05:38 -06:00
gibbed
394105d359
[CPU/Kernel] Cleanup and rework of how kernel exports are declared.
2018-11-20 13:03:17 -06:00
gibbed
613be1425e
[Kernel] Update XamContentOpenFile argument names.
2018-11-20 13:03:17 -06:00
Rick Gibbed
c65ee2aa48
Merge pull request #1226 from chris-hawley/master
...
[JIT] stmw/lmw
2018-11-20 08:43:26 -06:00
gibbed
dafed58e98
[Kernel] Implement MmAllocatePhysicalMemory.
2018-11-19 22:04:44 -06:00
gibbed
4f50e0e6c7
[Kernel] Implement RtlCopyString, RtlCopyUnicodeString.
2018-11-19 21:03:05 -06:00
Dr. Chat
95701f188d
[x64] Dynamically link to growable function tables
2018-11-18 21:21:36 -06:00
Triang3l
7fa453c813
[GPU] Fix 1-component ALU instruction swizzle (hopefully)
2018-11-18 22:20:43 +03:00
Dr. Chat
c9797dde2a
[CPU] Fix switch variable scoping
2018-11-18 11:35:23 -06:00
gibbed
4436616e6d
[x64] Use constant a bit earlier in VECTOR_SHL_V128.
2018-11-18 08:17:04 -06:00
gibbed
44f194be35
[x64] Fix constant access in VECTOR_SHL_V128.
2018-11-18 08:13:37 -06:00
gibbed
3ced6c5cf2
[CPU] Add constant VectorAverage.
2018-11-18 08:13:37 -06:00
Rick Gibbed
21b8620bf5
Merge pull request #1264 from bmzhao/fix-failing-linux-build
...
Fix Linux build errors due to missing virtual destructors
2018-11-17 18:03:09 -06:00
NPCompete
da66c68bf6
[CPU] Made xe::cpu::StackWalker destructor virtual since it is an abstract class.
2018-11-17 14:50:30 -08:00
NPCompete
7c24f8e09f
[Kernel] Made xe::kernel::App destructor virtual since it is an abstract class.
2018-11-17 14:50:00 -08:00
Rick Gibbed
b8b1775837
Merge pull request #1260 from alan-shaffer/thread-name-fix
...
[Kernel] Don't dereference null pointers in SetThreadName.
2018-11-17 16:40:23 -06:00
Dr. Chat
aa14741e74
[x64] Fix unwind info bug; Cleanup win code cache
2018-11-17 14:40:25 -06:00
Dr. Chat
69af4a21ac
[x64] Fill unwind reservation info bytes with 0xCC as well
2018-11-17 11:04:25 -06:00
alan
bad8c4b0c5
[Kernel] Don't dereference null pointers in SetThreadName.
2018-11-13 11:10:21 -05:00
Wildhaus
80375c62e8
Add support for STFS Metadata V2
2018-11-11 15:27:34 -05:00
Wildhaus
19fb21da7d
Games on Demand / Multifile STFS (SVOD) Support
2018-11-11 15:27:29 -05:00
Triang3l
c949ce3d9c
[Base] StringBuffer: Clear the C string in Reset
2018-11-10 16:33:40 +03:00
Rick Gibbed
128fb32698
Merge pull request #1253 from emoose/compressed-xex-fix
...
[CPU] Fix some compressed XEXs trying to decompress past the actual image size, causing errors
2018-11-09 20:27:01 -06:00
emoose
7f479ffb79
[Kernel] Remove item limit from enumerators, fixes #1255
...
Like said in that issue, it seems the limit passed to XamContentCreateEnumerator is actually a limit on how many results XamEnumerate should return per call, not a limit on the number of enumeration items in total.
These changes fix Sonic Unleashed not loading more than 1 DLC (it passes 1 as the limit, but then loops over XamEnumerate to load in each DLC one at a time), and likely many other games.
2018-11-07 22:47:59 +00:00
emoose
ab53cf2a82
[CPU] Fix some compressed XEXs decompressing past the image size
2018-11-05 19:47:18 +00:00
emoose
bbb5c938ec
[CPU] Fix XexModule::FindSaveRest not finding functions properly
2018-11-01 15:50:56 +00:00
Triang3l
3b584a5f1c
[Kernel] Clang-format user_module.cc
2018-10-29 11:21:26 +03:00
Dr. Chat
c95ba803a8
Merge branch 'xexp'
2018-10-28 12:20:02 -05:00
Dr. Chat
7443b7e61f
[CPU] Rename ImportLibrary fields to follow naming conventions
2018-10-28 09:41:31 -05:00
Rick Gibbed
6a39d4b1f5
Merge pull request #1240 from 0x8080/Exports
...
[Kernel] Define all exports for xboxkrnl/xam/xbdm
2018-10-23 18:30:04 -05:00
0x7FFFFFFF
96bb9b04da
[Kernel] Define all exports for xboxkrnl/xam/xbdm
2018-10-23 17:26:47 -06:00
gibbed
a33b13c174
[Kernel] Stub XamShowNuiTroubleshooterUI.
2018-10-23 17:48:10 -05:00
gibbed
3a64cf64e0
[Kernel] Stub HidReadKeys.
2018-10-23 16:43:31 -05:00
Triang3l
76c14f7e58
[APU] Load XAudio2_8.dll dynamically
2018-10-23 23:34:41 +03:00
Triang3l
00adfcadf9
[UI] Fix build error in file_picker_win.cc using decltype
2018-10-23 10:54:16 +03:00
Triang3l
2b03a9e095
[GPU] Synchronize GPU frontend with the D3D12 branch
2018-10-22 23:28:52 +03:00
emoose
bf039172cf
[Kernel] Add null pointer checks to xmp_app handlers
2018-10-22 18:01:09 +01:00
emoose
67f0e487f4
[Kernel] Fix _snwprintf not having format_core wide = true
2018-10-22 18:00:01 +01:00
emoose
6e74ba93d6
[CPU] Add support for delta patches using *_offset fields
2018-10-22 12:26:14 +01:00
emoose
d2fd109af3
[CPU] Add more asserts for XEXP descriptor (+ log a warning)
2018-10-20 05:08:14 +01:00
emoose
265903fe66
[CPU] Add XEXP support to XexModule, if XEXP is in same folder as XEX
...
This was a headache to work out, big thanks to the lack of documentation on .xexp files... a ton of guesswork was involved here but luckily it turned out well.
I did have to make some pretty major changes to the way XEX files are loaded though.
Previously it'd just load everything in one go: XEX headers -> decrypt/decompress data -> load imports/symbols -> set loader data table entries, etc...
Now it's changed to something like this:
- Load base XEX headers + decrypted/decompressed image data, return X_STATUS_PENDING
- In the LoadFromFile call used to load the XEX, search for XEXP patch file (only .xexp in same folder atm)
- If patch exists: load XEXP, decrypt headers/data, apply patch to base XEX, dispose of XEXP
- Finish XEX load via LoadXexContinue() (handles imports/symbols/loader data...)
This saves us from needing to reset the imports/function/symbol stuff after patching (since all the XEX code will be a lot different), but I'm not really sure if I went about it the best way.
2018-10-20 04:36:21 +01:00
emoose
0b7f7e1657
[CPU] Move XEX2 code into XexModule class, autodetect XEX key
...
Code is mainly just copy/pasted from kernel/util/xex2.cc, I've tried fixing it up to work better in a class, but there's probably some things I missed.
Also includes some minor improvements to the XEX loader, like being able to try both XEX keys (retail/devkit) automatically, and some fixes to how the base address is determined.
(Previously there was code that would get base address from optional header, code that'd get it from xex_security_info, code that'd use a stored base address value...
Now everything reads it from a single stored value instead, which is set either from the xex_security_info, or if it exists from the optional header instead.
Maybe this can help improve compatibility with any weird XEX's that don't have a base address optional header?)
Compressed XEX loader also has some extra checks to make sure the compressed data hash matches what's expected.
Might increase loading times by a fraction, but could save reports from people unknowingly using corrupt XEXs.
(still no checks for non-compressed data though, maybe need to compare data with xex_security_info->ImageHash?)
2018-10-20 04:18:18 +01:00
Christian Hawley
add23849bf
[CPU] Implement lmw and stmw instructions
2018-10-14 13:57:45 -04:00
Dr. Chat
37e59464c2
[UI] Undo warning fix in file_picker_win.cc
2018-09-10 20:38:58 -05:00
Justin Moore
91c53f975e
Merge pull request #1209 from Triang3l/all_format_info
...
[GPU] Add info about unknown texture formats
2018-09-07 17:08:07 -05:00
Justin Moore
413a04eb1b
Merge pull request #1211 from Triang3l/patch-1
...
[GPU] Add texture signedness enumeration
2018-09-06 19:26:06 -05:00
gibbed
de43afbb54
Fix warnings when building on newer Windows 10 SDK versions.
2018-08-25 14:23:20 -05:00
Triang3l
1a4fc3bde2
[GPU] Add texture signedness enumeration
...
For sign_x, sign_y, sign_z and sign_w fields of xe_gpu_texture_fetch_t.
2018-08-19 15:25:20 +03:00
Triang3l
d75a372780
[GPU] Add info about unknown texture formats
2018-08-05 14:02:58 +03:00
gibbed
ba7dc6b2d7
[GPU] Improve readability of initialization errors and remove references to OpenGL.
2018-07-01 16:50:03 -05:00
Rick Gibbed
94d1106386
Merge pull request #1177 from Triang3l/depthbias.
...
[GPU] Depth bias support
2018-07-01 01:34:34 -05:00
gibbed
15eb6ed2d9
[Vulkan] Fix GetMipExtent calculating mip extent incorrectly.
2018-07-01 01:31:33 -05:00
gibbed
4357415892
[GPU] Better names for tiled functions.
2018-07-01 01:30:22 -05:00
Rick Gibbed
724086dcad
Merge pull request #1189 from Triang3l/vpk_vupk_constants.
...
[CPU] Unify constant operand checks in pack/unpack
2018-07-01 01:23:11 -05:00
Rick Gibbed
f24dbaa21b
Merge pull request #1176 from Triang3l/xex_exe_extension.
...
[Core] Treat .exe files as XEX
2018-07-01 01:14:04 -05:00
Dr. Chat
f89b4626a3
[VFS] Add VFS dump tool (supporting STFS only as of now)
2018-06-26 13:45:16 -05:00
Triang3l
dd19701dc4
[CPU] Unify constant operand checks in pack/unpack
2018-06-18 13:55:46 +03:00
Triang3l
c6255af824
[GPU] Depth bias support
2018-06-16 16:32:14 +03:00
Unknown
86443dd28a
Persist title-specific profile content
2018-06-13 19:37:15 -07:00
Triang3l
c89cc6a229
[CPU] vupkd3d: NaN on negative overflow and tests
2018-06-11 21:34:13 +03:00
Triang3l
0378f532ab
[CPU] Fix W in 2101010 vupkd3d and revert untested saturation
2018-06-11 17:22:15 +03:00