Commit Graph

6171 Commits

Author SHA1 Message Date
Joel Linn cd631fc447 [APU, SDL] Refactor sample submission
- Move sample conversion to SDL callback thread
- Add early channel down-conversion
2021-06-12 18:57:39 +03:00
Triang3l 460b2b75d0 [SDL2] Switch to libsdl-org/SDL 2021-06-12 14:49:38 +03:00
Triang3l 14bac72f0d [D3D12] DirectComposition basic initialization 2021-06-09 22:56:36 +03:00
Triang3l 50bb35b4b4 [GPU] Polygon offset scale factor in xenos.h 2021-06-09 20:46:24 +03:00
Triang3l 9e6aec4535 [D3D12] Tiny IssueDraw initialization cleanup 2021-06-09 20:23:02 +03:00
Triang3l d00dd5a2bc [GPU] Disable primitive reset for non-list types in primitive processor 2021-06-09 20:22:24 +03:00
Triang3l 70a3919f9f [D3D12] Primitive processor frame_index_buffers_.clear() in shutdown for safety 2021-06-08 21:28:30 +03:00
Triang3l 796eb0f430 [D3D12] Update shader bytecode .h path in premake5.lua 2021-06-07 21:28:39 +03:00
Triang3l 89ddf6456a [GPU] Disable 3D slice pitch assertion for non-3D textures 2021-06-07 16:40:45 +03:00
Triang3l 22ee200f3e [GPU] Use polygon mode only for DualMode, not non-Disabled 2021-06-07 16:40:01 +03:00
Triang3l 3f156f26c4 [D3D12] Take 0 being bottom-right sample with 2x MSAA in D3D12 into account 2021-06-06 20:58:50 +03:00
Triang3l c4a5048e62 [GPU] More specific note about slope-scaled depth bias 2021-06-06 18:33:06 +03:00
Triang3l dce6938827 [D3D12] ROV sample depth via ddxy(z), DSV depth bias cleanup 2021-06-06 18:27:43 +03:00
emoose e3c14419f6 [CPU/XEX] Use correct size for XEXP-patched header buffer 2021-06-06 04:50:21 -05:00
Triang3l 12a907bfa5 [GPU] Shaders to common, xb buildshaders instead of buildhlsl 2021-06-05 18:53:53 +03:00
Gliniak 313fb3e5a3 [XMA] GetFrameNumber: Return correct frame_idx at stream end 2021-06-05 08:54:22 -05:00
Triang3l ca7036707b [APU] XMA: Instruction name comment typo correction 2021-06-05 16:43:49 +03:00
Triang3l add65318c2 [APU] XMA: ConvertFrame always returns true 2021-06-05 16:27:40 +03:00
Triang3l 60b24b2d3a [APU] XMA: Vectorize 2-channel ConvertFrame 2021-06-05 16:10:41 +03:00
Triang3l 866a29e153 [Base] saturate_signed NaN comment 2021-06-05 15:04:06 +03:00
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