Triang3l
e348d6361e
[PPC] Disable frsqrte tests in a way not breaking the rest
2020-12-12 14:00:29 +03:00
Triang3l
5c47a3a588
[x64] vcfux single rounding for 0x80000000+
2020-12-11 21:20:13 +03:00
Triang3l
d0b849aad7
[PPC] vcfsx/vcfux: Only mul if needed
2020-12-10 21:34:37 +03:00
Triang3l
cb93ddf873
[PPC] vcfsx/vcfux optimization/simplification
2020-12-10 21:29:33 +03:00
Triang3l
db1d6b1fef
[PPC] Fix test suite name being ignored
2020-12-10 21:27:26 +03:00
gibbed
1513dd235b
[Kernel] Code reentrance for guest fibers.
...
[Kernel] Code reentrance using exceptions for guest fibers.
2020-12-05 14:17:33 -06:00
gibbed
326220309b
[x64] Handle constant in LOG2_F32/F64/V128.
2020-11-27 05:34:08 -06:00
Triang3l
a73592c2ef
[Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes
2020-11-24 22:18:50 +03:00
Triang3l
86ae42919d
[Memory] Close shared memory FD and properly handle its invalid value
2020-11-22 14:17:37 +03:00
Sandy Carter
49e194009b
[memory linux] Properly unlink shared memory
...
shm_unlink(name) is the proper way to close a shared memory in linux.
Prior to this, xenia was creating and not cleaning up shared memory handle
which would accumulate in /dev/shm. shm_unlink is the proper way of doing
this.
Add filename to CloseFileMappingHandle signature.
Add simple test to open and close.
2020-11-22 13:54:00 +03:00
Sandy Carter
2c7009ca80
[memory] Move "Local\\" prefix to win impl
...
CreateFileMappingHandle now takes shared memory name without a prefix.
The doc of shm_open recommends not using slashes and prefixing with "/".
The prefixing has been moved to the os implementation layer.
Invocations of CreateFileMappingHandle were all using "Local\\" so these
prefixes were removed.
2020-11-22 13:54:00 +03:00
Joel Linn
06214c544a
[CPU] std::sort compare: satisfy comp(a,a)==false
2020-11-14 13:30:06 -06:00
Triang3l
9428af52e4
[CPU] break_on_unimplemented_instructions cvar
2020-08-09 22:01:54 +03:00
gibbed
814728ebbe
[x64] Space r/xmm regs in thunk emitter.
2020-04-13 12:57:14 -05:00
Silent
f775fe8c83
[CPU] Fix off-by-one in max ordinals check
2020-04-12 21:53:46 -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
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
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
Margen67
b3d1c5982a
[CPU] Typo fix
2020-03-07 19:39:56 -06: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
gibbed
a6e6f0f7bf
Lint cleanup.
2020-02-22 13:29:07 -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
Triang3l
8ec813de82
[Memory, D3D12] Various refactoring from data provider development
2020-02-15 21:35:24 +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
Rados??aw Gli??ski
404aa82147
[CPU] Implemented instructions: rldclx, rldcrx
2020-02-09 16:48:50 -06:00
Gliniak
0d866aa173
[CPU] Increased maximum function count
2020-02-09 15:47:29 -06:00
Prism Tutaj
1cce25d5e7
[CPU] Change thunk layout and fix Linux thunk misalignment
2020-02-05 09:49:29 -06: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
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
aerosoul
bc8b629092
[Kernel] Enable XEX1 loading
2019-11-20 18:09:28 -06:00
gibbed
ce78d7110e
[CPU] Add locale export category.
2019-09-04 20:03:25 -05: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
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
Triang3l
bc4b68db45
[CPU] Data cache control instructions
2019-08-18 16:22:32 +03:00
Triang3l
003c02c640
[CPU, Memory] 0xE0000000 adjustment by @elad335 and mapping
2019-08-14 21:37:52 +03:00
Sandy Carter
3c3709dbe7
[CPU] Use c++ style cast
2019-08-14 06:42:30 -05: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
gibbed
b2f62b1982
Clean up cvars (rename, recategorize).
2019-08-03 23:46:03 -05:00
Triang3l
d20c2fa9da
[Memory/Vulkan] Move old memory watches to the Vulkan backend
2019-08-03 21:06:59 +03:00
Triang3l
352f12f92e
[D3D12] Switch from gflags to cvars
2019-08-03 16:53:23 +03:00
Jonathan Goyvaerts
81fe22f1c8
Get rid of gflags alltogether
2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
c1af632562
Replace all gflag implementations with cvar implementations
2019-08-03 02:34:07 +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
Triang3l
4aceeb73c4
[Memory] Move new watches to heap-aware Memory from MMIOHandler
2019-07-30 08:00:20 +03: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
7648e45661
Merge branch 'master' into d3d12
2019-07-20 22:05:34 +03:00
Triang3l
8c00aea5ff
[CPU] vpkd3d VPACK_NORMPACKED64
2019-07-20 22:04:37 +03:00
Triang3l
0488766452
Merge branch 'master' into d3d12
2019-07-19 23:13:38 +03:00
Triang3l
26c24b4726
[CPU] Move saturating add/sub to base/math.h
2019-07-19 23:12:11 +03:00
Triang3l
808d6d6025
Merge branch 'master' into d3d12
2019-07-19 08:22:59 +03:00
Triang3l
2b411f4c8b
[CPU] Saturating VectorSub: fix typo in last commit
2019-07-19 08:22:30 +03:00
Triang3l
2c2808ce00
Merge branch 'master' into d3d12
2019-07-19 08:19:03 +03:00
Triang3l
f14f44e729
[CPU] Saturating VectorAdd/Sub of constants without DID_SATURATE yet
2019-07-19 08:17:55 +03:00
Radosław Gliński
53eb95d33c
Added support for Altivec: vavgsb
...
Also little size adjustments for vavgsh
2019-07-18 21:22:42 +02:00
gibbed
e024cbc3f0
Merge remote-tracking branch 'origin/master' into d3d12
2019-07-18 12:33:52 -05:00
gibbed
e14639c6c0
[CPU] Fix lzx_decompress misuse of xe::bit_count. Fixes #1402 .
2019-07-18 12:33:16 -05:00
gibbed
1e5fa61030
Merge remote-tracking branch 'origin/master' into d3d12
2019-07-17 17:56:48 -05:00
gibbed
c213f7d7a3
[CPU] Properly clear LZX window.
2019-07-17 17:53:59 -05:00
gibbed
29665ae79c
[CPU] Minor LZX code cleanup.
2019-07-17 17:51:36 -05:00
emoose
71780838f0
[CPU] Use window size for LZX ref_data_size
2019-07-17 22:53:39 +01:00
Margen67
aea0d8d6b3
[third_party] Update capstone to latest stable
2019-06-24 23:15:28 -07:00
Triang3l
f7ea93148a
Merge branch 'master' into d3d12
2019-05-25 23:03:21 +03:00
gibbed
8afb93e2d9
[PPC] Fix trailing comment in ppc_opcode_disasm.h.
2019-05-13 00:59:40 -05:00
gibbed
9d7058ac96
[PPC] Shuffle code around to make it cleaner to modify by hand.
...
- [PPC] Rename ppc_opcode_lookup.cc, ppc_opcode_table.cc to have a _gen
suffix to make it more obvious about their autogenerated nature.
- [PPC] Move autogenerated code from ppc_opcode_disasm.cc to
ppc_opcode_disasm_gen.cc.
- [PPC] Update ppc-table-gen to allow for blacklisting of certain
instructions that have custom disasm code.
2019-05-13 00:49:57 -05:00
eladash
67e3b1f453
[PPC] disasm: BC formatting improvements
2019-05-13 00:27:40 -05:00
gibbed
fac37e7c50
Merge branch 'master' into d3d12
2019-05-01 21:00:21 -05:00
gibbed
bc0ebcb26e
- Clean up log level names, no need for LOG_LEVEL_ prefix when it is an
...
enum class.
- Clarify usage of log level in comment.
2019-04-30 17:41:27 -05:00
gibbed
c965751911
Merge remote-tracking branch 'origin/master' into d3d12
2019-04-20 02:40:46 -05:00
gibbed
1145d57007
Undo main/wWinMain changes in preparation for new method
...
of doing a startup AVX check.
This reverts commit 4030cff3ec
.
2019-04-20 02:32:45 -05:00
Triang3l
40ffba97d9
Merge branch 'master' into d3d12
2019-04-19 15:32:10 +03:00
gibbed
4030cff3ec
- Move main, wWinMain entrypoints to their own file.
...
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
Triang3l
ec92d46480
Merge branch 'master' into d3d12
2019-04-18 17:54:57 +03:00
gibbed
593a871c84
[x64] Use vmovaps instead of movaps in emitted function prolog/epilog.
2019-04-18 09:36:06 -05:00
Triang3l
eaefc3862f
Merge branch 'master' into d3d12
2019-01-24 17:46:06 +03:00
Triang3l
4ae9266f13
[CPU] Fix vpkd3d half4 component order
2019-01-24 17:45:41 +03:00
Triang3l
7d7a539aee
Merge branch 'master' into d3d12
2019-01-13 19:07:06 +03:00
Triang3l
8e5a11aeb4
[CPU] Add D3DCOLOR vpkd3d test with 0xFFFFFFFF
2019-01-13 19:06:14 +03:00
Triang3l
58d9c6f33f
Merge branch 'master' into d3d12
2019-01-13 17:29:44 +03:00
Triang3l
949b05f517
[CPU] Fix saturation in D3DCOLOR vpkd3d
2019-01-13 17:29:06 +03:00
Triang3l
0e9428f1bc
Merge branch 'master' into d3d12
2019-01-08 01:40:08 +03:00
Triang3l
ae6fd98c3c
[CPU] Ignore upper bits of shift amount in srdx/srwx
2019-01-08 01:39:21 +03:00