Commit Graph

4793 Commits

Author SHA1 Message Date
Triang3l d65cbc160d [D3D12] Treat non-ROV truly as fallback in the title bar 2020-04-25 13:59:47 +03:00
Triang3l 64a83af137 [DXBC] Cleanup StartPixelShader, always_reads_mask, and ps_param_gen overall 2020-04-25 00:20:27 +03:00
Joel Linn 6267c73c4c [SDL] Add global helper to setup the library.
Call to SDLHelper::Prepare() is needed before first SDL_InitSubSystem().
- Sets hints (SDL configuration vars).
- Configures logging.
2020-04-23 15:44:58 -05:00
Joel Linn 5463798631 [HID] Implement GetKeystroke() for SDL 2020-04-23 15:44:58 -05:00
Joel Linn d7d5d92e59 [HID] Fix any poll on XInput. 2020-04-23 15:44:58 -05:00
Joel Linn c8da7fbfe4 [HID] Optional guide button support.
Maybe this is interesting to some games.
2020-04-23 15:44:58 -05:00
Joel Linn fc96195656 [HID] C++17-ify 2020-04-23 15:44:58 -05:00
Joel Linn 6a1c134cf3 [UI] Capture mouse. 2020-04-23 15:44:58 -05:00
Joel Linn d1315438f3 [HID] Extend demo to show keystrokes. 2020-04-23 15:44:58 -05:00
gibbed cf0251cd9f [Kernel/VFS] Cleanup info query/set+sector size.
[VFS] Device now exposes name, attributes, component name max length.
[VFS] Fix STFS device to return 0x200 sector size. XCTD compression
      userland code appears to always expect a sector size of 0x200.
[Kernel] Move X_FILE_*_INFORMATION structs to new files.
[Kernel] Move NtQueryInformationFile, NtSetInformationFile,
         NtQueryVolumeInformationFile to new file.
[Kernel] Cleanup implementation of NtQueryInformationFile,
         NetSetInformationFile, NtQueryVolumeInformationFile.
[Kernel] Properly validate arguments to NtQueryInformationFile,
         NetSetInformationFile, NtQueryVolumeInformationFile.
[Kernel] Properly implement query of XFileFsVolumeInformation.
[Kernel] Properly implement query of XFileFsSizeInformation.
[Kernel] Properly implement query of XFileFsAttributeInformation.
2020-04-20 16:08:02 -05:00
gibbed 087247184d [XAM] Dummy MAC address in *XNetGetTitleXnAddr.
[XAM] Dummy MAC address in NetDll_XNetGetTitleXnAddr.
2020-04-20 06:31:02 -05:00
gibbed 1c2d6753bb [Kernel/VFS] Specify root entry to open from + cleanup.
[VFS] Allow specifying root entry to open from with OpenFile.
[Kernel] NtCreateFile now opens from root entry when available instead
         of needlessly building a full path and resolving from that.
[VFS] Reduce code duplication by adding Entry::ResolvePath.
[VFS] Remove ResolveBasePath to avoid multiple calls to find_base_guest_path.
2020-04-20 01:14:07 -05:00
gibbed 725f3ce17f [Base] Make utf8 arguments consistent.
[Base] Make utf8 arguments consistent. Fix "sep" to "separator".
2020-04-20 01:14:07 -05:00
gibbed 1f28ff5f18 [Base] Add opt arg to allow empty parts in split.
[Base] Add optional argument to allow empty parts in utf8::split.
2020-04-20 01:14:07 -05:00
gibbed 817d87a0a7 [Base] Join paths better.
[Base] Join paths better, so the first iteration isn't a join of an empty
string with the first path part.
2020-04-20 01:14:07 -05:00
gibbed 85dbb9d451 [Base] Fix canonicalize path for rooted paths. 2020-04-20 01:14:07 -05:00
Triang3l f83809f7a1 [D3D12] Non-adaptive quad tessellation 2020-04-19 23:12:39 +03:00
Joel Linn 3d2982e845 [ImGui] Fix drawing lines.
ImGui does not orientate triangles.
Culling must not be applied in immediate drawer.
2020-04-19 01:38:58 +02:00
Triang3l 58c104e0cc [DXBC] SRV binding enum 2020-04-15 23:53:37 +03:00
Triang3l 630a538af3 [D3D12] Reword shader storage error messages 2020-04-14 13:46:18 +03:00
gibbed aa1c69d7b6 [D3D12] Properly setup shareable shader storage.
[D3D12] Properly setup shareable shader storage.

- Properly create shareable shader storage directory.
- Log errors when failing to create shareable shader storage directory
  or shareable shader files.
2020-04-14 00:58:30 -05:00
gibbed f631b02bcf [XAM] Fix xeXamUserReadProfileSettingsEx.
[XAM] Fix xeXamUserReadProfileSettingsEx.

- Properly calculate initial buffer_offset.
- Don't set buffer_size_ptr when its initial value is non-zero.
2020-04-13 17:55:15 -05:00
gibbed a8c3682b6f [XAM] Modify default user XUID.
[XAM] Modify default user XUID. Fixes behavior in NeoGeo Battle
Coliseum and possibly others. ("You do not have permissions to
perform this operation.")
2020-04-13 14:28:32 -05:00
gibbed 230015f9ca [XAM] Add default case.
[XAM] Add default case in xeXamUserReadProfileSettingsEx.
2020-04-13 14:27:46 -05:00
gibbed 2cc473f60b [UI] Initialize handle in ImmediateTexture. 2020-04-13 12:57:14 -05:00
gibbed bc92169fce [Kernel] Remove unnecessary newline. 2020-04-13 12:57:14 -05:00
gibbed 814728ebbe [x64] Space r/xmm regs in thunk emitter. 2020-04-13 12:57:14 -05:00
gibbed b338fb0caa [Kernel] Reformat locale cvar descriptions.
[Kernel] Reformat locale cvar descriptions to include newlines.
2020-04-13 12:57:14 -05:00
gibbed 7e2396f348 [Core] Space sections better when saving config. 2020-04-13 12:57:14 -05:00
gibbed 37fbf39573 [Base] Remove errant whitespace. 2020-04-13 12:57:14 -05:00
gibbed 6ab003dbf8 [Kernel] Reformat license mask description.
[Kernel] Reformat license mask description to include newlines.
2020-04-13 12:57:14 -05:00
gibbed 3dc69c6033 [Base] Cleanup set thread name. 2020-04-13 12:57:14 -05:00
gibbed ce34e1cbb9 [Core] Use UTF8-aware lower. 2020-04-13 12:57:14 -05:00
gibbed a7d4d6ee70 [Kernel] Use structures in XmpApp. 2020-04-13 12:57:14 -05:00
gibbed ae7555e9ff [Kernel] Rename UnknownFEApp to XamApp. 2020-04-13 12:57:14 -05:00
gibbed fdfc55c8fd [App] Support a relative content path. 2020-04-13 12:57:14 -05:00
gibbed edb93cc19c [Core] Improve config saving.
- [Core] Config saving now uses xe::StringBuffer instead of
         std::ostringstream.
- [Core] Config saving now supports cvar descriptions with newlines.
- [Core] Config value alignment now 50 (from 40).
- [Core] Config value alignment now takes UTF8 into account instead
         of raw byte length.
2020-04-13 12:57:14 -05:00
gibbed dc119c178f [Base] Add repeating character append to StringBuffer. 2020-04-13 12:57:14 -05:00
gibbed 96067fb293 [Base] Add sanity checks in StringBuffer. 2020-04-13 12:57:14 -05:00
gibbed 60681eeb23 [Base] Add xe::utf8::count. 2020-04-13 12:57:14 -05:00
gibbed e03368c37e [XAM] Fix args of XamUser*ProfileSettings(Ex).
- Update arguments of XamUserReadProfileSettings/
  XamUserReadProfileSettingsEx.
- Fix arguments of XamUserWriteProfileSettings.
2020-04-13 12:57:14 -05:00
gibbed 3c8493dea2 [XAM] Clean up user index handling & stub.
- Clean up user index handling in XamUserGetXUID,
  XamUserGetSigninState, XamUserReadProfileSettings,
  XamUserWriteProfileSettings, XamUserCheckPrivilege,
  XamUserContentRestrictionGetFlags, XamUserAreUsersFriends.
  A user index of 0xFF does not mean anything special and is outright
  invalid.
- Move XamUserReadProfileSettings code to new
  xeXamUserReadProfileSettingsEx.
- Implement XamUserReadProfileSettings/XamUserReadProfileSettingsEx
  which now call xeXamUserReadProfileSettingsEx.
- Reorganized xeXamUserReadProfileSettingsEx so that the needed buffer
  size is checked before user index is validated, so that calls to
  determine necessary buffer size return correctly instead of an error
  about invalid user index.
- Stub XamUserIsOnlineEnabled.
2020-04-13 12:57:14 -05:00
gibbed 134067d25e [XMA] Add default case in av_log_callback. 2020-04-13 12:57:14 -05:00
gibbed ce955e5aaa [XMA] Reorganize ReadRegister/WriteRegister a bit in XmaDecoder. 2020-04-13 12:57:14 -05:00
gibbed e99916b352 [Kernel] Clean up XAM registration function declarations. 2020-04-13 12:57:14 -05:00
Gliniak a87c3785ee Template for 0xFE message: 0x21012
FYI: This message don't have length
2020-04-13 10:39:29 -05:00
Rados??aw Gli??ski 64dbd9936e "Template" for 0xFE message: 0x22005 2020-04-13 10:39:29 -05:00
Silent f775fe8c83 [CPU] Fix off-by-one in max ordinals check 2020-04-12 21:53:46 -05:00
Silent 9205a6b062 [Kernel] Fixup GetProcAddressByOrdinal
Now properly takes a global lock when populating guest_trampoline_map_
as opposed to taking and immediately releasing it
Also removes a redundant find() from guest_trampoline_map_
so map is not searched twice if the function has already been generated.
2020-04-12 21:53:46 -05:00
Triang3l 5795d25afe [D3D12] Remove runtime check of cvars::d3d12_edram_rov 2020-04-12 20:48:35 +03:00
Triang3l 0f0ed0eb21 [DXBC] RDEF enums, ISGN/PCSG/OSGN structs and enums 2020-04-11 20:25:37 +03:00
gibbed 112c66df69 [UI] Fix window file drop handling. 2020-04-10 08:33:53 -05:00
gibbed e0f3458026 [Kernel] Maybe stub DmGetXbeInfo better. 2020-04-09 17:54:40 -05:00
gibbed fe016cc60c [Kernel] Fix vswprintf debug log. 2020-04-09 17:54:22 -05:00
gibbed 15866274a8 [Kernel] Stub a few more XBDM functions. 2020-04-09 16:59:37 -05:00
gibbed 54da6773ab [Core] Fix reg alignment in crash dump output. 2020-04-09 16:49:24 -05:00
Triang3l f365ab5e6d [D3D12] Fix wrong comment about adaptive tessellation 2020-04-09 22:26:47 +03:00
gibbed 0d010a2e3d [VFS] Fix data fragment path for multi-file STFS. 2020-04-09 11:33:08 -05:00
gibbed ed04d96e67 Avoid using '#' format spec for X hex numbers.
Avoid using '#' format spec for X (uppercase) hex numbers, as it
results in output like "0XABCDEF" instead of "0xABCDEF".
2020-04-09 11:25:08 -05:00
gibbed 01f7ad7ddf [Core] Fix guest crash handler crash/output.
- [Core] Fix guest crash handler crash due to bad format string.
- [Core] Fix guest crash handler outputting signed values for
  vectors.
2020-04-09 11:06:48 -05:00
Sandy Carter e605eef781 filesystem: remove unused includes of header 2020-04-09 09:44:48 -05:00
Sandy Carter fc5153bca1 filesystem: use std for DeleteFile
Remove custom platform implementation of `DeleteFile` and replace single
use with `std::filesystem::remove` after a negative
`std::filesystem::is_directory` check.
2020-04-09 09:44:48 -05:00
Sandy Carter df65de231f filesystem: use std for DeleteFolder
Remove custom platform implementation of `DeleteFolder` and replace two
uses with `std::filesystem::remove_all` which removes a file or
directory with all its contents.
2020-04-09 09:44:48 -05:00
Sandy Carter 69bcf59c79 filesystem: use std for CreateFolder
Remove custom platform implementation of `CreateFolder` and replace uses
with `std::filesystem::create_directories` which creates paths
recursively.
2020-04-09 09:44:48 -05:00
Sandy Carter c8e64da4eb filesystem: use std for PathExists
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
Sandy Carter a9fa38c88b filesystem: use std for IsFolder
Remove custom platform implementation of IsFolder and replace
single use with `std::filesystem::is_directory`.
2020-04-09 09:44:48 -05:00
Joel Linn 05a62673f7 [SDL2] Redirect log messages into our system. 2020-04-08 21:55:56 -05:00
Joel Linn 11d79c6c1c [SDL2] Remove delayed loading code. 2020-04-08 21:55:56 -05:00
Joel Linn 804384c19c [SDL2] On Win, build and link statically.
Keep using system lib dynamically on Unix.
2020-04-08 21:55:56 -05:00
Triang3l acb3778819 [D3D12] Adaptive quad tessellation, remove d3d12_tessellation_adaptive cvar 2020-04-09 00:00:11 +03:00
gibbed c51cba080b Fix some bad string formats. 2020-04-08 13:05:37 -05:00
gibbed b37579fad2 [Base] Fix path parsing from commandline. 2020-04-08 12:31:00 -05:00
Triang3l 7e27427c4a [D3D12] SV_Position is not necessary in VS if it's in DS/GS 2020-04-08 12:54:35 +03:00
Triang3l 7cf3a75ab1 [D3D12] Fix and enable triangle adaptive tessellation 2020-04-08 00:26:49 +03:00
gibbed 8123978c49 [PPC] Disable frsqrte tests. 2020-04-07 16:09:41 -05:00
gibbed 56e5d6f11c Fix precision of test register in frsqrte test. 2020-04-07 16:09:41 -05:00
gibbed f0eb272acc Add UTF8 tests. 2020-04-07 16:09:41 -05:00
gibbed 37e576e648 [PPC] Prettier printing for failed memory checks.
[PPC] Prettier printing for failed memory checks in tests.
2020-04-07 16:09:41 -05:00
gibbed a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed 5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Triang3l b47948b7cf [DXBC] Fix another copy-paste kVSDS typo 2020-04-07 19:19:08 +03:00
Triang3l 306f2947ec [DXBC] Fix a copy-paste kDSVS typo 2020-04-07 19:18:21 +03:00
Triang3l 9d36c257b0 [D3D12] Non-adaptive triangle tessellation 2020-04-07 18:55:43 +03:00
Triang3l b00baadf53 [D3D12] Fix a lint issue in comments 2020-04-06 12:41:35 +03:00
Triang3l 283c3ab59b [D3D12/DXBC] Fix a couple of tessellation-related comments 2020-04-06 00:19:29 +03:00
Triang3l c4f47039eb [GPU] Fix a typo in the tessellation patch types comment 2020-04-06 00:08:05 +03:00
Triang3l 4b9f63cdf1 [GPU] Shader::HostVertexShaderType enum for domain shader types 2020-04-06 00:03:23 +03:00
Triang3l 8da8044771 [DXBC] Move cvars from D3D12 to GPU 2020-04-05 17:23:38 +03:00
Triang3l e82d05c687 [D3D12] Pass adaptive tessellation factors via index buffer like on the guest 2020-04-05 17:22:49 +03:00
Triang3l 5d6fe38e6f [DXBC] Vertex shader prologue and gamma to new DXBC code 2020-04-05 13:13:55 +03:00
Triang3l 5f5e281e8c [DXBC] Rewrite a comment in memexport that may be outdated 2020-03-29 19:14:25 +03:00
Triang3l 05f6b444a0 [DXBC] Move memexport to the new DXBC code and make it more straightforward 2020-03-29 19:09:58 +03:00
Triang3l 7bdf59a8c7 [DXBC] Fix totally broken instruction when memexport is used in PS 2020-03-28 00:23:02 +03:00
Triang3l a10bd2a5c1 [DXBC] Unbreak MRT in RTV output path 2020-03-27 23:18:15 +03:00
Triang3l 316f996d50 [DXBC] D3D11.3 Functional Specification lies 2020-03-27 21:31:00 +03:00
Triang3l 821a9897ef [Kernel/XAM] Even more detailed rationale for XNotifyGetNext param_ptr null check 2020-03-23 10:46:51 +03:00
Triang3l 61bcd467a6 [Kernel/XAM] Rationale for XNotifyGetNext param_ptr null check 2020-03-23 10:38:45 +03:00
Triang3l a4ffcd5175 [D3D12] Update DXBC contribution notes 2020-03-23 00:13:54 +03:00
Gliniak 4f8cdd9967 [Kernel/XAM] XNotifyGetNext: Check for nullptr for param_ptr 2020-03-22 15:38:31 -05:00
Triang3l cde092ece1 [D3D12] Persistent shader and PSO storage 2020-03-21 19:22:19 +03: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
Triang3l 6a3a56b3b9 [D3D12] Workaround for texture flickering on Nvidia - don't use sampler 2047 2019-12-01 21:39:48 +03:00
Silent c5db959154 [Kernel] Retain handles and not objects in XThread
This fixes cases introduced by 52e836d0f81e752ba368717e68773b591adfa9cf
where thread handles get closed before the thread finishes.
Handle was assumed to be alive there, which was not true as
threads self-referenced only their objects, not their handles.

Affected games: Payday 2 Demo
2019-11-30 20:08:30 -06:00
Silent 728531eff7 [Kernel] Operate on handle refcounts in Ob funcs
Although this seems counter-intuitive, operating on handle
reference counters in
- ObLookupThreadByThreadId
- ObReferenceObjectByHandle
- ObDereferenceObject
allows to cleanly clean up handles for resources created elsewhere
and destructed by ObDereferenceObject (for example, threads with 0x80
creation flag). Operating on pointer reference counters alone
would leave a stray handle in the slots list.
2019-11-30 20:08:30 -06:00
Silent 05ef022fd7 [Kernel] Do not retain handle in ExCreateThread
Closing the thread handle should delete the thread object
if it's finished. When this handle was retained, closing the handle
left a lingering handle reference and thus this XThread would leak
2019-11-30 20:08:30 -06:00
Silent 5bec69e983 [Kernel] Add some useful asserts 2019-11-30 20:08:30 -06:00
gibbed ae15c27a24 [x64] Take advantage of StashConstantXmm. 2019-11-30 20:08:10 -06:00
gibbed 04a54cc58f [x64] Fix constant src2 in VECTOR_ROTATE_LEFT_V128. 2019-11-30 20:08:10 -06:00
gibbed f7a8c5ce7a [x64] Fix corruption of src1 in calls to EmulateVectorRotateLeft.
To mitigate this mistake in the future, implemented new
StashConstantXmm functions.
2019-11-30 20:08:10 -06:00
gibbed 43cef29c6d [UI] Disable saving of imgui INI file.
By default imgui saves an INI file named 'imgui.ini' to the current directory,
which is undesired behavior. Until we can properly specify a full path to
a good location, disable saving of the INI file.
2019-11-30 18:54:15 -06:00
aerosoul bc8b629092 [Kernel] Enable XEX1 loading 2019-11-20 18:09:28 -06:00
Joel Linn 03d5455a2f [imgui] Fixes to work with new api.
- Font atlas is now owned by context.
- Switch from deprecated io.RenderDrawListsFn callback to dedicated call in window.cc.
- Replaced deprecated ImGuiCol_ModalWindowDarkening with ImGuiCol_ModalWindowDimBg.
- Replaced deprecated SetScrollHere() with SetScrollHereY().
- Replaced deprecated GetContentRegionAvailWidth() with GetContentRegionAvail().x.
- Replaced deprecated ShowTestWindow() with ShowDemoWindow().
- Replaced deprecated ImGuiCol_ChildWindowBg with ImGuiCol_ChildBg.
- Replaced deprecated SetNextTreeNodeOpen() with SetNextItemOpen().
2019-11-20 08:05:40 -06:00
Joel Linn 1985169924 [imgui] Make code compile with new imgui. 2019-11-20 08:05:40 -06:00
Triang3l 8ba6f3fc37 [Memory] Trigger watches when making pages writable, not the other way around 2019-11-10 14:21:36 +03:00
Triang3l 26e1a67036 [GPU] Separate dxbc and dxbctext shader compiler targets 2019-11-09 00:13:23 +03:00
Triang3l e5b8f0cb27
[Vulkan] Remove an obsolete comment about GLSL 2019-11-08 23:16:37 +03:00
Margen67 09e1028154 Remove (hopefully) last OpenGL leftovers & crunch
Crunch is unused.
2019-11-08 09:10:51 -08:00
Triang3l d4a5a57867 [D3D12] Remove command_list.h inclusion 2019-11-06 08:08:49 +03:00
Triang3l c8f3c93802 [D3D12] Don't create multiple command lists as they're just encoders 2019-11-06 08:06:12 +03:00
Triang3l 00116fad2d [D3D12] Don't assume there's a null D3D descriptor handle 2019-11-04 21:10:32 +03:00
Triang3l c499229455 [GPU] Store an EDRAM snapshot in traces 2019-11-04 17:30:20 +03:00
Triang3l 1bb3cd45ca [APU] Support XAudio 2.7 2019-11-02 22:27:38 +03:00
Triang3l 9deb710607 [D3D12] CP: Framework for multiple command lists per frame 2019-10-31 23:33:11 +03:00
Triang3l 6e5a0ebf7b [D3D12] CP: Separate guest frame and non-frame submissions 2019-10-28 22:00:59 +03:00
Triang3l d3b6f71ae1 [D3D12] Don't use D3D12Context for command processor fence 2019-10-28 10:49:32 +03:00
Triang3l b4af63fe31 [D3D12] Detach UploadBufferPool and DescriptorHeapPool from D3D12Context 2019-10-27 20:53:53 +03:00
Triang3l f23ba862f6 [D3D12] Trace viewer entry point 2019-10-27 00:37:33 +03:00
Triang3l 36f4158f09 [GPU] Trace dump: Do PIX/RenderDoc capture if attached 2019-10-25 21:32:17 +03:00
Triang3l f75d927cc5 [D3D12] Resolve fetch memory read tracing 2019-10-25 09:17:08 +03:00
Triang3l c057b5a032 [D3D12] Make trace dump partially work 2019-10-25 08:38:06 +03:00
Triang3l b622e894d6 [D3D12] Replicate the last texture component into non-existent ones 2019-10-23 23:47:17 +03:00
Triang3l 4623b41023 [D3D12] Trace guest memory operations 2019-10-23 23:33:50 +03:00
Triang3l e07b0ed2ad [VFS] Fix some security issues in StfsContainerDevice code 2019-10-22 08:55:45 +03:00
Triang3l 1005651855 [D3D12] Fix DXN swizzle and cleanup texture swizzles 2019-10-21 21:16:29 +03:00
Triang3l a9ed73bdd1 [GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code 2019-10-20 19:40:37 +03:00
Triang3l f83269cf8c [GPU] Refactor: Register structs in D3D12CommandProcessor and some other places 2019-10-19 23:32:38 +03:00
Triang3l f748e5af49 [Emulator] Default XEX cvar 2019-09-14 20:30:04 +03:00
gibbed c19a052b96 [XAM] Don't use strncpy for XamUserGetName. 2019-09-12 03:41:02 -05:00
gibbed b422ed750b Oops. Didn't mean to add that yet. 2019-09-04 23:16:06 -05:00
gibbed 2780e7b1a6 Add user_country cvar, rename game_language cvar.
- [Kernel] Rename game_language cvar to user_language.
- [Kernel] Recategorize user_language to XConfig.
- [Kernel] Add user_country cvar, used instead of hardcoded value in XConfig.
- [XAM] Use user_country cvar for xeXamGetLocaleEx instead of
  xeExGetXConfigSetting.
2019-09-04 23:02:55 -05:00
gibbed 4f4b83b421 [Kernel] Move ExGetXConfigSetting to its own file.
- [Kernel] Clean up xboxkrnl registration function declarations.
- [Kernel] Move ExGetXConfigSetting to its own file.
2019-09-04 23:02:55 -05:00
gibbed d58544b406 [XAM] Fix incomplete locale tables. 2019-09-04 23:02:55 -05:00
gibbed 858923898f [XAM] Implement a number of language/locale related functions.
[XAM] Implement XamGetLocale, XamGetOnlineCountryFromLocale,
  XamGetOnlineCountryString, XamGetCountryString, XamGetLanguageString,
  XamGetLanguageLocaleString, XamGetOnlineLanguageAndCountryString,
  XamGetLocaleString, XamGetLocaleFromOnlineCountry,
  XamGetLanguageFromOnlineLanguage, XamGetOnlineLanguageString,
  XamGetCountryFromOnlineCountry, and XamGetLocaleEx.
2019-09-04 20:03:25 -05:00
gibbed ce78d7110e [CPU] Add locale export category. 2019-09-04 20:03:25 -05:00
gibbed c22f76e87f [Base] Const-ize store and store_and_swap templates.
[Base] Make value argument for store and store_and_swap templates
const&.
2019-09-04 19:58:17 -05:00
Triang3l 84a8dc91e4 [D3D12] Filtering between array texture layers 2019-09-03 10:14:25 +03:00
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
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
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
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
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
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
Triang3l 4731ae026b [D3D12] 3D/stacked texture layer addressing 2019-08-19 23:24:58 +03: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
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
Triang3l 2507f1a819 [Memory] TranslateVirtual in shim and strings 2019-08-14 10:31:11 +03:00
Triang3l 0067f5561d [Kernel] More TranslateVirtual/HostToGuestVirtual usage 2019-08-14 08:28:30 +03:00
Triang3l 2152c79965 [Memory] 0xE… adjustment in TranslateVirtual 2019-08-14 00:07:27 +03:00
Triang3l 741b5ae2ec [Memory] Add HostToGuestVirtual and use it in a couple of places 2019-08-13 23:49:49 +03:00
Triang3l f1b9e1afce [CPU] Remove unused access violation handler variables 2019-08-13 00:06:29 +03:00
Triang3l 470f9946d6 [Vulkan v2] Present framebuffer clearing 2019-08-11 23:53:24 +03:00
Triang3l 490f3de853 [Vulkan v2] Swapchain ImageViews, error messages 2019-08-11 19:29:44 +03:00
Triang3l be6fa2b577 [Vulkan v2] Present loop 2019-08-11 17:49:01 +03:00
Triang3l 675034670e [Vulkan v2] Surface queries 2019-08-10 20:41:37 +03:00
Triang3l db2898e386 Merge branch 'master' of github.com:xenia-project/xenia 2019-08-10 14:52:54 +03:00
Triang3l fb656f3493 [Vulkan v2] GDK VkSurface 2019-08-10 14:52:33 +03:00
Jonathan Goyvaerts c621e01dd2 Add game_language as a config variable 2019-08-10 06:51:36 -05:00
Triang3l af93986c8f [Vulkan v2] VkSurface 2019-08-10 00:23:31 +03:00
Triang3l 30ba2619f3 [Vulkan v2] Properly include, clean up queue families 2019-08-09 22:40:55 +03:00
Triang3l 001120605b [Vulkan v2] Frames and fences 2019-08-08 23:58:02 +03:00
Triang3l 5744e6ba38 [Vulkan v2] Device and queue creation 2019-08-08 23:03:36 +03:00
Triang3l 940ef4ad7a [UI/GPU] Fix include order 2019-08-08 22:11:51 +03:00
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
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
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
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