Triang3l
3c20a83972
[Base] Float clamping cleanup
2021-06-05 14:55:55 +03:00
Joel Linn
89a7c8f41f
[APU] Add vectorized audio frame conversion
2021-06-05 14:08:16 +03:00
Triang3l
538aa91015
[GPU] Primitive processor with Vulkan 1.0 base cases, 24-bit indices and clamping
2021-06-04 23:57:46 +03:00
Joel Linn
10ff77a24f
[Base] Add workaround for GCC bug
...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100801
2021-06-02 22:28:43 -05:00
Joel Linn
856d23a150
Update premake-cmake
...
- Fix linking on clang with recent pkg-config changes
2021-06-02 22:28:43 -05:00
Joel Linn
ceb382f8ec
Update Catch2 test framework
...
- Use their main() method to fix command line options. Fix CLion testing
- Change to correct tag syntax.
2021-06-02 22:28:43 -05:00
Joel Linn
0e019f96b4
[Base, Linux] Make thread exit non returning
...
- Use pthread_exit() instead of pthread_cancel() if current thread
- Modify tests to ensure Exit does not return
2021-06-02 22:28:43 -05:00
Joel Linn
8f44a14131
[Linux] Helper methods for pkg-config
...
- Fixes linking on GCC by putting libs in link group
2021-06-02 22:28:43 -05:00
Joel Linn
fa7f292432
[CPU] `ResolveFunction()` Fix declaration mismatch
2021-06-02 22:28:43 -05:00
Joel Linn
6d548f51b3
[Kernel] net: name anonymous struct
...
- fixes GCC compilation error due to
"member with constructor in anonymous struct"
2021-06-02 22:28:43 -05:00
Joel Linn
c0fb300a05
[Kernel] Remove explicit SHIM calling convention
...
Shim exports are called from GuestToHostThunk which dictates the calling
convention. The default system calling convention is different depending
on OS (Windows vs. everything else) and architecture. PR #1339 addresses
this for x64 Linux.
There is no reason for explicit `__cdecl`. Also, it is not available in
GCC. We could use `__attribute__((ms_abi))` or
`__attribute__((sysv_abi))` but that just adds complexity.
2021-06-02 22:28:43 -05:00
Joel Linn
07a060b002
[Kernel] Solve ambiguity in `RegisterExport()`
...
- Remove overload for exports with `void` return type
- Use `if constexpr (std::is_void<R>::value)` to differentiate
2021-06-02 22:28:43 -05:00
Joel Linn
d40dfa11c5
[Base] Use pragma pack for non msvc as well.
...
- Pack attributes may be ignored by GCC
2021-06-02 22:28:43 -05:00
Joel Linn
d55192ea30
[Base] Refactor byte_swap
...
- Use builtins on non MSVC compilers
- Use `if constexpr` to reduce explicit overloads and SFINAE overhead
2021-06-02 22:28:43 -05:00
Joel Linn
4800194f0d
[Base] Add faster `bit_count` variants
...
- Use C++20 `popcount()` when available
- Else use compiler specific built-ins
2021-06-02 22:28:43 -05:00
Joel Linn
806a33d625
[GPU] Use `le<>` type for depth sample counts
2021-06-02 22:28:43 -05:00
Joel Linn
e58686c9df
[Base] Add `le<>` type
...
- Addition to `be<>` type
2021-06-02 22:28:43 -05:00
Joel Linn
28ca58c0e9
[Base] Fix HighResolutionTimer
...
- Test was failing on Linux 5.11 and GLIBC 2.33
- `timer_t(0)` is a valid handle, so a `valid_` flag was added to guard
destruction
- Similar behaviour on Windows was fixed as well. The invalid values for
`HANDLE` are API dependent.
2021-06-02 22:28:43 -05:00
Joel Linn
6dfa36d1b8
[GPU] Misc GCC build fixes
2021-06-02 22:28:43 -05:00
Joel Linn
5284075cf9
[CPU] Misc GCC build fixes
2021-06-02 22:28:43 -05:00
Joel Linn
86722be9ca
[Base] Make Arena alignment aware
...
- Add align parameter
- Templated Alloc() implicitly aligns type correctly
- Rewind may leak padding that was added due to alignment
2021-06-02 22:28:43 -05:00
Joel Linn
d8cfeac79f
[Base] Remove redundant copy and move operators
...
- Compiler is smart enough to use 128bit vector regs by itself
2021-06-02 22:28:43 -05:00
Joel Linn
4d0d3f3ad4
[Base] Fix semaphore test
...
- Was using `Sleep()`
- Replaced with atomic value and bool flag
2021-06-02 22:28:43 -05:00
Joel Linn
2d9462f02b
[Base] Fix unitialized variable in threading test
2021-06-02 22:28:43 -05:00
Joel Linn
4fb5244176
[Base] Fix namespacing
2021-06-02 22:28:43 -05:00
Joel Linn
a86d7173e1
Refactor FourCC magic uses
...
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
Joel Linn
4daa3f5a52
[Base] Add FourCC tests
2021-06-02 22:28:43 -05:00
Joel Linn
9bb920b104
[Base] Add FourCC type
...
- using fourcc_t = uint32_t
- make_fourcc() overloads
2021-06-02 22:28:43 -05:00
Gliniak
fbc31652e0
[XAM/Net] inet_addr: Handle edge cases
2021-05-27 16:16:56 -05:00
Gliniak
29f7987401
[XAM] XamReadTileToTexture: tile_id safety check
2021-05-27 16:16:20 -05:00
Gliniak
29f28b8b60
[Kernel/XAM] CloseContent: Close files related to closed content
2021-05-27 16:16:01 -05:00
Gliniak
f298d7620a
[Kernel/XAM] XamContentGetCreator: Added check for existing content
2021-05-27 16:11:35 -05:00
Triang3l
ea9625fca8
[Kernel] VdSwap virtual/physical address clarification
2021-05-25 21:31:02 +03:00
Triang3l
800db1aa49
[D3D12] Cleanup initialization log levels
2021-05-19 21:10:05 +03:00
emoose
422fc4f24e
[VFS/STFS] Check fread return values, add SVOD local structs
...
A few minor improvements to StfsContainerDevice too, and now StfsContainerFile::ReadSync will set out_bytes_read to the actual
number of bytes read
2021-05-18 09:04:45 -05:00
emoose
478bb90922
[VFS/STFS] Use xe::filesystem::OpenFile instead of memory-mapping
...
Adds StfsDirectoryEntry / StfsDirectoryBlock to make it easier to fread()
2021-05-18 09:04:45 -05:00
emoose
2659b70c90
[VFS/STFS] Improved StfsHashEntry, minor struct improvements
...
Changed XEPACKEDSTRUCT to #pragma pack, added setters for some fields that didn't have them, named some anonymous structs which might help with other compilers.
2021-05-18 09:04:45 -05:00
emoose
aa155612fb
[VFS/STFS] Move x360-specific STFS structs to stfs_xbox.h
2021-05-18 09:04:45 -05:00
Gliniak
1a2282894a
[GPU] Improve fake occlusion query compatibility
...
- Older D3D implementation used different flags
2021-05-17 19:27:23 +03:00
Sandy Carter
31a8d189f0
[vulkan] Fix typos
2021-05-17 11:14:48 -04:00
Sandy Carter
c4a2dff099
[vulkan] Add Report Callback to instance create
2021-05-17 11:14:48 -04:00
Sandy Carter
5ed4f88091
[vulkan linux] Add extension requirement for XCB
2021-05-17 11:14:48 -04:00
Sandy Carter
6d591970ab
[vulkan linux] Fix native_platform_handle with gtk
...
Use gtk connection as handle and use it when creating surface.
2021-05-17 11:14:48 -04:00
Triang3l
0965975cbe
[VFS] Fix missing unordered_map include in stfs_container_device.h
2021-05-17 02:50:01 +03:00
Triang3l
2d50fc07b4
[Linux] __builtin_ffsll instead of GNU/BSD-specific ffsll
2021-05-17 02:38:51 +03:00
Triang3l
e49e26e4a0
[Kernel] shim_utils lint fix
2021-05-16 18:34:27 +03:00
Triang3l
3a5752fcb6
[D3D12] Split the tessellation VS into indexed and adaptive
2021-05-16 18:27:41 +03:00
Triang3l
9f8a432479
[DXBC] Cleanup: kSysConst_*_Vec/Comp > LoadSystemConstant
2021-05-16 17:43:18 +03:00
Triang3l
ff23b1d9f9
[x64] LoadConstantXmm: Don't load -0 as +0 + cleanup
2021-05-16 14:26:57 +03:00
Triang3l
f39020700a
[GPU] Cleanup: XEPACKED -> static_assert_size/alignas
2021-05-16 14:03:36 +03:00