Commit Graph

376 Commits

Author SHA1 Message Date
chss95cs@gmail.com c1d922eebf Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
chrisps 8186792113
Revert "Minor decoder optimizations, kernel fixes, cpu backend fixes" 2022-11-01 14:45:36 -07:00
chss95cs@gmail.com 941237027d fix ffmpeg submodule ptr 2022-10-30 11:16:05 -07:00
chss95cs@gmail.com f5cc54bdae Fix building on clang-cl, it did not like the cxxopts selectany changes 2022-10-30 09:05:10 -07:00
chss95cs@gmail.com 550d1d0a7c use much faster exp2/cos approximations in ffmpeg, large decrease in cpu usage on my machine on decoder thread
properly byteswap r13 for spinlock
Add PPCOpcodeBits
stub out broken fpscr updating in ppc_hir_builder. it's just code that repeatedly does nothing right now.
add note about 0 opcode bytes being executed to ppc_frontend
Add assert to check that function end is greater than function start, can happen with malformed functions
Disable prefetch and cachecontrol by default, automatic hardware prefetchers already do the job for the most part
minor cleanup in simplification_pass, dont loop optimizations, let the pass manager do it for us
Add experimental "delay_via_maybeyield" cvar, which uses MaybeYield to "emulate" the db16cyc instruction
Add much faster/simpler way of directly calling guest functions, no longer have to do a byte by byte search through the generated code
Generate label string ids on the fly
Fix unused function warnings for prefetch on clang, fix many other clang warnings
Eliminated majority of CallNativeSafes by replacing them with naive generic code paths.
^ Vector rotate left, vector shift left, vector shift right, vector shift arithmetic right, and vector average are included
These naive paths are implemented small loops that stash the two inputs to the stack and load them in gprs from there, they are not particularly fast but should be an order of magnitude faster than callnativesafe
to a host function, which would involve a call, stashing all volatile registers, an indirect call, potentially setting up a stack frame for the arrays that the inputs get stashed to, the actual operations, a return, loading all volatile registers, a return, etc
Added the fast SHR_V128 path back in
Implement signed vector average byte, signed vector average word. previously we were emitting no code for them. signed vector average byte appears in many games
Fix bug with signed vector average 32, we were doing unsigned shift, turning negative values into big positive ones potentially
2022-10-30 08:48:58 -07:00
chss95cs@gmail.com d7fa8481af Switch cxxopts over to version with selectany while i wait for the selectany change to be merged there 2022-10-15 03:49:12 -07:00
chss95cs@gmail.com d8c94b1aee Fix premake filter mistake that broke debug builds (and likely any build other than release) 2022-10-08 10:10:36 -07:00
chss95cs@gmail.com bae63b95c5 Update to latest version of cxxopts 2022-09-30 06:51:25 -07:00
chss95cs@gmail.com b4c175d8a3 Enable SDL_LEAN_AND_MEAN, SDL_RENDER_DISABLED, saves about 500kb in final exe
Build several projects that arent performance critical with /Os and /O1 under msvc windows
2022-09-29 07:26:38 -07:00
Gliniak 203267b106 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-09-23 12:23:53 +02:00
Joel Linn 9ab4db285c [Premake] Update premake-cmake
- Handle compiler flags per-file. Removes ffmpeg warnings
- Switch to JoelLinn fork since original author stopped maintaining
  and other forks don't seem to care about PRs
2022-09-22 06:36:43 -05:00
chss95cs@gmail.com a037bdb2e8 Point ffmpeg submodule to the branch with the nonrecursive split_radix_permutation 2022-08-14 09:20:04 -07:00
chss95cs@gmail.com e5d01af6a6 trying to get new disruptorplus module path to be used 2022-08-14 09:16:40 -07:00
Gliniak 1d00372e6b Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-07-10 10:50:39 +02:00
Triang3l ff35a4b3a1 [Third-party] Revert premake-core downgrade caused by a merge 2022-07-09 13:43:53 +03:00
Gliniak 6e753c6399 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-07-04 08:11:04 +02:00
Triang3l 001f64852c [Vulkan] VMA for textures 2022-07-03 19:40:48 +03:00
illusion0001 485812632a Add FPS to microprofiler 2022-05-19 10:22:27 +02:00
Triang3l b88f715140 Merge branch 'master' into vulkan 2022-05-03 00:13:17 +03:00
Joel Linn bc25e77e20 Update catch 2022-04-26 13:56:11 -05:00
Joel Linn dbbcd46711 Update date 2022-04-26 13:56:11 -05:00
Joel Linn d5de8f3394 Update disruptorplus 2022-04-26 13:56:11 -05:00
Triang3l b8c9d5bb8c Merge branch 'master' into vulkan 2022-02-13 23:25:39 +03:00
Triang3l 0590346084 [Vulkan] Add Vulkan-Headers and VMA submodules 2022-02-13 20:08:08 +03:00
Triang3l 922efb13ce Merge branch 'master' into vulkan 2022-02-03 21:12:10 +03:00
Joel Linn c5e3332640 [HID] Update SDL to 2.0.20 2022-01-30 08:30:25 -06:00
Triang3l fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Rick Gibbed 094c20bd4e Update premake-core. 2022-01-02 15:43:59 -06:00
Triang3l a950dff87d [Vulkan] Update SPIRV-Tools fork to fix Linux building issue 2021-12-17 13:49:36 +03:00
Triang3l ce68a09b0c Merge branch 'master' into vulkan 2021-10-31 16:49:14 +03:00
Triang3l 7e6cf349e2 [Build] Use first-party premake-androidndk (#1878) 2021-10-30 00:01:27 +03:00
Conrad Kramer 2962a266b5 Fix xenia-core build on macOS 2021-10-25 00:48:53 +03:00
Joel Linn d4f2bef6c8 [FFmpeg] Update submodule
Support new targets like android and aarch64.
2021-09-15 06:22:16 -05:00
Triang3l ecccd02f8a Merge branch 'master' into vulkan 2021-09-12 14:10:36 +03:00
Jonathan Goyvaerts a9e35b443f [SDL2] Update to version 2.0.16 2021-08-11 01:07:26 +03:00
Triang3l 692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Triang3l 322921233c Merge branch 'master' into vulkan 2021-06-12 14:51:01 +03:00
Triang3l 460b2b75d0 [SDL2] Switch to libsdl-org/SDL 2021-06-12 14:49:38 +03:00
Triang3l 6cd9d42fd0 Merge branch 'master' into vulkan 2021-06-08 12:15:34 +03: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 010e14b4cd [FFmpeg] Update sub project
- Removes needless warning flags
2021-05-05 12:21:34 -05:00
Joel Linn 95031d9471 [dxbc] Remove orphan file reference 2021-05-03 22:50:44 -05:00
Joel Linn 5c97a0ad06 Don't treat warnings as errors for 3rd party projs 2021-05-03 22:50:44 -05:00
Joel Linn 47e36e6aee Exchange libav with ffmpeg submodule. 2021-05-01 12:41:02 -05:00
Triang3l 913e1e949c [GPU] Ownership-transfer-based RT cache, 3x3 resolution scaling
The ROV path is also disabled by default because of lower performance
2021-04-26 22:12:09 +03:00
sephiroth99 88bea2742c Remove glslang::pool_allocator::setAllocator
Commit 24b3e8384e93f3e73b6aa14ea00a30574112f9ba upstream.

Fixes compilation error with recent Clang versions.

Signed-off-by: sephiroth99 <sephiroth99@gmail.com>
2021-01-31 23:22:59 -06:00
Joel Linn be92ab222b [SDL2] Update submodule. 2020-12-26 04:50:27 -06:00
Triang3l 4617dc5569 Merge branch 'master' into vulkan 2020-12-13 20:04:12 +03:00
Triang3l 36a0bcec8b [GPU] XXH3 hash instead of XXH64 2020-12-08 22:31:09 +03:00
Triang3l c14e3770a2 Merge branch 'master' into vulkan 2020-11-28 14:54:24 +03:00
gibbed 587c2502f9 Update premake-core. 2020-11-27 14:29:04 -06:00
Triang3l 43d11816b8 Merge branch 'master' into vulkan 2020-11-26 22:28:47 +03:00
gibbed a4170621a7 Update premake-core. 2020-11-23 22:01:43 -06:00
gibbed 4f25a96928 [Kernel] Overhaul Rtl time functions.
- Add date third party submodule.
- [Kernel] Add xclock.
- [Kernel] Reimplement RtlTimeToTimeFields using std::chrono/date/xclock.
- [Kernel] Reimplement RtlTimeFieldsToTime using std::chrono/date/xclock.
- Supersedes #1612.
2020-11-22 14:48:36 -06:00
Triang3l 46c18556b7 Merge branch 'master' into vulkan 2020-11-21 23:11:57 +03:00
Triang3l c0c47e3902 [Build] Update premake-androidmk fork 2020-11-21 23:11:36 +03:00
Triang3l cb702b4db2 Merge branch 'master' into vulkan 2020-11-21 17:17:14 +03:00
Triang3l 2f247e0f9e [Build] Make premake-androidmk generate something 2020-11-21 17:14:40 +03:00
Triang3l 8febf02a39 Merge branch 'master' into vulkan 2020-11-15 14:06:15 +03:00
Joel Linn 9dea6b3f62 Add premake cmake generator.
`./build/CMakeLists.txt` is generated by `./xb.bat premake --devenv=cmake` and enables use of other IDEs like `CLion` for example.
2020-11-14 13:30:06 -06:00
Joel Linn 2a076c924f Refactor premake scripts. 2020-11-14 13:30:06 -06:00
Triang3l 1de144938c [SPIR-V] Main loop blocks, validation 2020-10-16 19:55:41 +03:00
Triang3l 3a308dedb3 [Vulkan] Temporarily move to a fork of glslang 2020-10-08 23:24:25 +03:00
Triang3l 4862075976 [Vulkan] Cleanup and update SPIR-V dependencies 2020-10-08 23:05:30 +03:00
Triang3l 203bf64d88 [Vulkan] Context, remove Volk 2020-09-13 17:51:00 +03:00
Triang3l d2852a52b3 [Vulkan] Update headers to 1.2.148.1, remove VMA 2020-08-31 22:04:00 +03:00
Triang3l 0c13b239fd [D3D12] DXILConv disassembly dumping option 2020-08-22 23:15:50 +03: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
gibbed 637a8464a7 Update premake. 2020-04-08 09:02:56 -05:00
gibbed a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00
gibbed de3c91ab2c Add disruptorplus submodule. 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
gibbed 114cea6fb7 Add fmt submodule. 2020-04-07 16:09:41 -05:00
gibbed 727b3dc2b6 Add utfcpp submodule. 2020-04-07 16:09:41 -05:00
gibbed 8204fa163a Update libav submodule. 2020-02-24 00:34:19 -06:00
Joel Linn 8efa35d996 Remove unused yaml-cpp. 2020-02-20 06:44:34 -06:00
Joel Linn d355d433c5 Add SDL2 submodule for MSVC development.
Tracking 2.0.10 headers and libraries.
2020-02-10 13:41:19 -06:00
Joel Linn 1985169924 [imgui] Make code compile with new imgui. 2019-11-20 08:05:40 -06:00
Joel Linn e4c9078cb5 [imgui] Update submodule. 2019-11-20 08:05:40 -06:00
Margen67 09e1028154 Remove (hopefully) last OpenGL leftovers & crunch
Crunch is unused.
2019-11-08 09:10:51 -08:00
gibbed c3c77187bb Fix an issue in git-clang-format that exists with Python 3.4. Issue resolved on its own by Python 3.7 (unknown when it's actually resolved) but still good to have this fix. 2019-08-17 08:05:03 -05: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 950e53779c Add cxxopts third party dependency 2019-08-03 02:21:29 +02:00
Jonathan Goyvaerts 08bdf5abe6 Add cpptoml third_party dependency 2019-08-03 02:20:33 +02:00
Triang3l e071ca852c Merge branch 'master' into d3d12 2019-08-02 21:50:43 +03:00
gibbed 3bcd1fb744 Oops. Move Capstone back to 4.0.1. 2019-08-02 11:24:03 -05:00
gibbed c8715e3aaa Fix Capstone submodule. 2019-08-02 11:17:44 -05:00
gibbed 083f811f7a Update discord-rpc, rapidjson. 2019-08-02 11:12:46 -05: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
Margen67 aea0d8d6b3 [third_party] Update capstone to latest stable 2019-06-24 23:15:28 -07:00
gibbed f54dddee90 Merge branch 'master' into d3d12 2019-05-04 13:09:08 -05:00
gibbed 25bca39262 Update Catch to latest stable. 2019-05-04 11:12:59 -05:00
Triang3l ec92d46480 Merge branch 'master' into d3d12 2019-04-18 17:54:57 +03:00
gibbed 68b2541d76 Update vswhere binary. 2019-04-18 09:29:32 -05:00
gibbed ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
Triang3l ddd2a6922c Merge branch 'master' into d3d12 2019-04-14 18:09:44 +03:00