Commit Graph

4476 Commits

Author SHA1 Message Date
Triang3l 803fa0cba9 [Kernel] Fix TranslateUnicodeString endian and size 2019-08-28 09:20:10 +03:00
Triang3l 0ad1bd9ab4 [Kernel] XMAInitializeContext physical buffer addresses 2019-08-28 08:11:43 +03:00
illusion98 0eb250ed69 Merge remote-tracking branch 'emoose/stfs-packages' into canary 2019-08-27 23:17:59 -05:00
illusion98 874513594e Merge remote-tracking branch 'emoose/devicetype-fix' into canary 2019-08-27 23:16:04 -05:00
illusion98 658c704470 Merge remote-tracking branch 'upstream/master' into canary 2019-08-27 23:07:16 -05:00
Triang3l 2f51949ece [Kernel] Cya l8r recently added wrong XMAInitializeContext comment 2019-08-27 23:53:06 +03:00
Triang3l 9df39e4883 [Kernel] Fix StoreXmaContextIndexedRegister, note about physical addresses in XMAInitializeContext 2019-08-27 23:50:30 +03:00
illusion98 b7bdfdd046 [Discord] Add Time Elasped and Description Text
Display Time Elapsed when idle or playing a game
Display description when hovering over the icon
2019-08-27 10:30:50 -05:00
illusion98 ad57cb5267 Hack for Source engine 2019-08-27 01:35:40 -05:00
illusion98 e453ace05b Add cvar for UE hack 2019-08-27 01:35:26 -05:00
illusion98 dfccdbc369 Merge remote-tracking branch 'upstream/master' into canary 2019-08-27 01:14:57 -05:00
Triang3l b01f6cd7ea [Vulkan v2] Add immediate shader SPIR-V code 2019-08-26 23:43:05 +03:00
Triang3l b3382f3de1 [Vulkan v2] Upload buffer chain, immediate drawer without textures 2019-08-26 22:57:14 +03:00
gibbed e9802a9f3b [x64] Further simplification / fix buffer overrun in code cache.
- [x64] Further simplify padding of code / unwind reservation in code cache.
- [x64] Fix accidental buffer overrun caused by previous simplification.
2019-08-26 13:42:44 -05:00
Cancerous 97383d9003 Revert "Merge remote-tracking branch 'emoose/import-fixes'"
This reverts commit 974123d9c3, reversing
changes made to e2456f662a.
2019-08-26 11:48:13 -04:00
Cancerous 95352c30a3 [Kernel} distribute worker threads not created with affinity specified more evenly 2019-08-26 04:38:09 -05:00
illusion98 d1877b260e Change window title
xenia -> xenia-canary
2019-08-26 04:32:41 -05:00
illusion98 b50feba296 Merge remote-tracking branch 'upstream/master' into canary 2019-08-25 23:58:43 -05:00
gibbed c4ff8d7c58 [x64] Fix prolog/epilog sizes for emitted functions. 2019-08-25 17:02:42 -05:00
gibbed c808b59834 [x64] Simplify growable function pointer definitions. 2019-08-25 17:02:42 -05:00
gibbed 015e91140a [x64] Don't have a zeroed unwind info as the first slot. 2019-08-25 17:02:42 -05:00
gibbed 920b5c5839 [x64] Simplify padding of code / unwind reservation in code cache. 2019-08-25 17:02:42 -05:00
Sandy Carter 5c20589acf [cpu linux] Implement stack walking
Implement stack walking using libunwind and libiberty.
These two libraries would be need dependencies.
The libunwind library is quite common on a linux system and libiberty is
part of the GNU compiler.
Add tests for stack_walker.
2019-08-24 22:57:08 +02:00
Sandy Carter 1c10e7654f [cpu] Test cpu-test on travis 2019-08-24 22:46:54 +02:00
uytvbn 0e54381d4c [Linux] Implement virtual memory allocation 2019-08-24 22:46:54 +02:00
Sandy Carter b3f5b6ecf0 [cpu] Add linux registers to CallExtern 2019-08-24 22:46:54 +02:00
Sandy Carter 74d30f8348 [cpu] Use dynamic cast for downcasting pointers 2019-08-24 22:46:54 +02:00
Sandy Carter 0cf34743cc ppc linux: add comment about xmm registers 2019-08-24 22:46:54 +02:00
Sandy Carter 23353173fe [Linux] Fix Processor::backend() on release
Disable inlining on backend() which causes ppc issues on clang 7 in release builds.
2019-08-24 22:46:54 +02:00
Sandy Carter 85f407f317 [Linux] Fix Value::Not on release
Disable optimization on set zero to prevent clang from vectorizing the assigment to zero which would
use different registers than expected.
2019-08-24 22:46:54 +02:00
Sandy Carter ee7f68a85f [Linux] Fix Value::set_zero() on release
Disable optimization on set zero to prevent clang from vectorizing the
assigment to zero which would use different registers than expected.
With -O0: RAX. With -O1: RDI.
2019-08-24 22:46:54 +02:00
uytvbn 8817975912 [Linux] Fix Value::MulHi 2019-08-24 22:46:54 +02:00
uytvbn c804b0dff9 [Linux] Force passing XMM values by pointer 2019-08-24 22:46:54 +02:00
uytvbn 41b0aa9ffd [Linux] Implement thunk generation 2019-08-24 22:46:53 +02:00
Sandy Carter c97c4dbeac [string] Remove reuse of va_list in AppendVarargs
va_list are not guarenteed to maintain their values after being used.
With clang on Linux, args is undefined after fetching length and will print
"(null)".
Copy args into another va_list before getting length to prevent this.
Add tests.
2019-08-24 22:45:06 +02:00
Sandy Carter 6c58b3b13d [string] Add base string tests 2019-08-24 22:45:06 +02:00
uytvbn 60fea32f52 [Linux] Fix off-by-one error in bit_scan_forward 2019-08-24 22:45:06 +02:00
uytvbn 7186af388a [Linux] Implement exception handler 2019-08-24 22:45:06 +02:00
Sandy Carter b085837f3b [fs linux]: Simplify terniary expressions to bool 2019-08-24 22:39:39 +02:00
Sandy Carter ee0b7904ed [fs linux]: Add more info to GetInfo
Fill in name, path and total_size.
Correct convertUnixtimeToWinFiletime which was using deprecated stat
function without nanoseconds. It now includes nanoseconds.
Add unit test for file and folder info.
2019-08-24 22:39:38 +02:00
Triang3l a422166123 [Kernel] Fix MmAllocatePhysicalMemoryEx range base 2019-08-24 19:23:31 +03:00
Triang3l 7e6bf8022f [Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448 2019-08-24 17:42:06 +03:00
gibbed 3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
gibbed 24321dbcd9 [x64] Fix up offset of stack alloc in prolog for unwind info.
- [x64] Track offset of stack alloc in prolog within emitted functions.
- [x64] Don't use hardcoded offset of stack alloc in prolog in generated
  unwind info.
2019-08-23 06:12:22 -05:00
gibbed 0dc4a13db3 [x64] Fix up unwind info for emitted functions.
- [x64] Track size of code within emitted functions (prolog, body, epilog).
- [x64] Don't use hardcoded prolog size in generated unwind info.
- [x64] Update URLs to MSDN documentation on UNWIND_INFO/UNWIND_CODE.
2019-08-23 06:12:22 -05:00
gibbed 918a7d4365 [x64] Reuse module handle when pulling in growable function table imports. 2019-08-23 06:12:22 -05:00
gibbed 92a85d6692 [x64] Remove outdated comment. 2019-08-23 06:12:22 -05:00
Sandy Carter 10ea3faa8f [fs linux] Remove extra '/' from user folder
Use join_paths instead of string concatenation.
2019-08-23 08:20:07 +02:00
Sandy Carter c1ad903243 [fs linux] Cleanup headers
Remove unused platform_linux reference.
Replace C-style header uses.
Replace C-style NULL with nullptr.
Replace stdlib assert with xenia assert.
Fix spelling
2019-08-23 08:20:00 +02:00
Sandy Carter 6a3fe3eba7 [fs linux] Zero-init access flag in OpenExisting 2019-08-23 08:20:00 +02:00
Sandy Carter 546b21819b [fs linux] Specify NT style step 2019-08-23 08:19:50 +02:00
Sandy Carter 6e5f1fd610 [kernel] Add demangling of type_id for linux 2019-08-23 08:19:50 +02:00
Sandy Carter e22cc86067 [fs linux] Fix sep of absolute paths of entries 2019-08-23 08:19:43 +02:00
Sandy Carter 0ac572a28b [fs linux] Fix ListFiles
Skip recursive "." and ".." paths.
Join paths instead of concatenating them.
Assert stat return code.
2019-08-23 08:19:34 +02:00
Sandy Carter 3d21577163 [linux graphics] Remove GLEW
OpenGL is not used in the whole stack.
All references are removed.
2019-08-22 07:41:32 +02:00
Sandy Carter dc0c8b781b [linux vulkan] Remove linking directly with vulkan
Using volk means vulkan linking is done at runtime with the dl library.
2019-08-22 07:41:19 +02:00
Sandy Carter c0acb26142 [ui gtk] Fix init, resize and destroy
Prevent Vulkan Swap before display context is assigned.
Prevent resize while fullscreen (like in windows impl).
Use superclass Resize implementation to reduce code duplication.
Remove recursive call to GTKWindow::Close().
Destroy xcb window after superclass Close().
Set hwnd to null after closing on windows implementation.
2019-08-21 22:51:58 +02:00
Sandy Carter f0bc0a8088 [ui gtk] Fix file dialog
Use drawing area for vulkan but window for dialogs
2019-08-21 22:51:58 +02:00
Doug Johnson d92cd9f6a1 UI: Improve GTK GUI Abstractions for Linux 2019-08-21 22:51:58 +02:00
Sandy Carter 10e5425155 [vulkan] Fix typos and cast types 2019-08-21 22:51:58 +02:00
Sandy Carter 4a9d6744ec [vulkan] Add Report Callback to instance create 2019-08-21 22:51:58 +02:00
Sandy Carter 94c1bca8c3 [vulkan linux] Add extension requirement for XCB 2019-08-21 22:51:36 +02:00
illusion98 ad6448cd29 Merge remote-tracking branch 'upstream/master' into canary 2019-08-21 07:00:47 -05:00
Radosław Gliński 765c1cc4e7 Disable debugging break on KeBugCheck 2019-08-21 06:59:36 -05:00
emoose f46e3c7e39 [Kernel/VFS] Ensure vfs::Entry is up-to-date before retrieving file information
Games like Forza use NtQueryInformationFile to get the size of the file, to make sure that there's enough room inside it to write data.

Previously, updating the file size (via SetInfoFile(EndOfFile) or WriteFile) wouldn't update the vfs::Entry size field, which NtQueryInfo uses to return the size of the file.

This resulted in the game thinking that the file was smaller than it actually is, and trying to correct that by using SetInfoFile(EndOfFile), which then truncated the file and deleted important data that was written to it.
2019-08-21 02:00:57 -05:00
emoose 06cacbb9af [Kernel] Implement XeKeysObscureKey & XeKeysAesCbcUsingKey 2019-08-21 02:00:57 -05:00
emoose b22d76f0f9 [Kernel] Add XLiveBase 0x58046 stub 2019-08-21 02:00:57 -05:00
0x8081 071e4dce37 Merge remote-tracking branch 'emoose/ntwritefile-apc' 2019-08-20 17:29:24 -06:00
0x8081 974123d9c3 Merge remote-tracking branch 'emoose/import-fixes' 2019-08-20 16:21:23 -06:00
0x8081 e2456f662a Merge remote-tracking branch 'randprint/XBLAfixes' 2019-08-20 15:44:23 -06:00
0x8081 e0ea242b35 Merge remote-tracking branch 'canary/canary' 2019-08-20 15:42:19 -06:00
0x8081 7091177142 Merge remote-tracking branch 'canary/systemlink' 2019-08-20 15:41:16 -06:00
0x8081 c9631fb73d Fix STFS stuff 2019-08-20 15:37:51 -06:00
0x8081 97325d286f Fix Emoose Dashboard merge 2019-08-20 14:12:59 -06:00
0x8081 134ea59e9a Merge remote-tracking branch 'emoose/dashboard' 2019-08-20 13:38:26 -06:00
0x8081 3edc563bac Merge remote-tracking branch 'emoose/title-updates' 2019-08-20 13:34:30 -06:00
illusion98 8c2f0377c4 Merge remote-tracking branch 'upstream/master' into canary 2019-08-20 01:34:45 -05:00
Triang3l 4731ae026b [D3D12] 3D/stacked texture layer addressing 2019-08-19 23:24:58 +03:00
Cancerous 807fceefc1 add missed part of PR #1150 2019-08-19 14:41:43 -04:00
Cancerous 61eb3a7c2d [kernel] Updated PR from Permanulled https://github.com/xenia-project/xenia/pull/1150/files#diff-358a33abb42660137d33300bbc8188c8R51
plus xgimessages to fix Jetpac XBLA
gets AegisWings, Jetpac, and MetalSlug 3 in game
2019-08-19 12:35:01 -04:00
0x8081 61a325ae09 Update to Master and merge inital syslink implementation 2019-08-19 10:13:25 -05:00
illusion98 4a39af2a8f Merge branch 'systemlink' 2019-08-19 09:43:00 -05:00
chss95cs@gmail.com 2655195ee6 Reuse flag results in OPCODE_BRANCH_TRUE codegen if the preceding instruction was a comparison that already set the cpu flags 2019-08-19 09:41:48 -05:00
chss95cs@gmail.com 030a879cf8 Add constant folding for OPCODE_ROTATE_LEFT 2019-08-19 09:41:36 -05:00
Triang3l bc4b68db45 [CPU] Data cache control instructions 2019-08-18 16:22:32 +03:00
Triang3l b25c50164f [APU] Physical address in XE_XMA_REG_CONTEXT_ARRAY_ADDRESS 2019-08-16 21:20:10 +03:00
Triang3l e35c609224 Revert "[APU] Temp XMA context allocation region workaround"
This reverts commit 968c337d22.
2019-08-16 21:11:55 +03:00
Triang3l 968c337d22 [APU] Temp XMA context allocation region workaround 2019-08-16 09:47:28 +03:00
Triang3l 126978d960 [Memory] Fix memory watch addresses 2019-08-16 08:49:48 +03:00
Triang3l 834ced0d63 [Memory] 0xE0000000: Fix a typo, re-enable and cleanup 2019-08-15 23:55:33 +03:00
Doug Johnson d8eb24f495 base: clock_posix: Fix implementation to match windows semantics 2019-08-15 08:33:36 -04:00
Sandy Carter ac78acbea1 [debugging linux] Implement functions
Check TracerPid in /proc/self/status for attached debugger.
Add SIGTRAP handler to prevent signal from halting app while not running
in a debugger.
Log DebugPrint in clog (stderr).
2019-08-15 08:30:38 -04:00
Triang3l e862169156 [Memory] BaseHeap::TranslateRelative including host address offset 2019-08-15 00:31:21 +03:00
Triang3l 0451153760 [Memory] Temporarily disable allocation in 0xE0000000 2019-08-15 00:06:27 +03:00
gibbed 6ab7720951 [Kernel] Fix stray whitespace in license_mask definition. 2019-08-14 14:15:56 -05:00
Triang3l 003c02c640 [CPU, Memory] 0xE0000000 adjustment by @elad335 and mapping 2019-08-14 21:37:52 +03:00
illusion98 c021c7741d [Kernel] Add license mask as a config variable 2019-08-14 10:25:24 -05:00
Sandy Carter 3c3709dbe7 [CPU] Use c++ style cast 2019-08-14 06:42:30 -05:00
Doug Johnson 959ad9f0cc base: main_posix: Print build version and date, like the windows main 2019-08-14 07:07:35 -04:00
Doug Johnson e092c8c187 base: logging: Add Linux support, add stderr output support 2019-08-14 07:07:35 -04:00