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