Morph
d31676935e
vulkan_device: Test depth stencil blit support by format
2023-07-31 19:14:20 -04:00
Morph
9bca45aa15
audren_u: Fix parameter alignment
...
The reduction in size from 0x38 to 0x34 caused the parameter to be misaligned. Skipping 1 word fixes this.
2023-07-31 18:40:16 -04:00
Morph
bb4e676155
wall_clock: Increase precision requirements
...
We are providing a conversion to nanoseconds in NativeClock, which is more precise than the GPU tick.
2023-07-27 18:40:56 -04:00
Morph
26658c2e93
vulkan_device: Return true if either depth/stencil format supports blit
...
On devices that don't support D24S8 but supports D32S8, this should still return true if D32S8 supports src and dst blit
2023-07-26 20:21:37 -04:00
Morph
01b379fe20
Address feedback
2023-07-26 00:41:24 -04:00
Morph and GitHub
4742627744
Merge pull request #11157 from lat9nq/nasm
...
cmake: Download nasm from our external repo
2023-07-25 13:35:02 -04:00
Morph
7fc5ef68d2
ci: Remove GA, Gr optimizations from MSVC
...
Internal testing has shown these result in higher committed memory usage in some systems.
Also Ob2 is already implied by O2, so that can be removed as well.
2023-07-21 01:30:43 -04:00
Morph and GitHub
3fded314f2
Merge pull request #11109 from Morph1984/net
...
network: Fix compilation with ENABLE_WEB_SERVICE=OFF
2023-07-17 23:57:39 -04:00
Morph
16c238e4b9
ssl: Link with crypt32 for secure channel backend
2023-07-17 15:46:24 -04:00
Morph
e0fb1d3d17
ssl: Reorder inclusions
2023-07-17 15:46:24 -04:00
Morph
5bbc3aef13
network: Forward declarations
2023-07-17 15:36:03 -04:00
Morph and GitHub
190748546d
Merge pull request #11064 from lat9nq/mingw-no-install-pefile
...
ci/mingw: Remove pefile installation step
2023-07-09 19:27:52 -04:00
Morph and GitHub
79e289404b
Merge pull request #11055 from lat9nq/tzdb-catch-
...
settings: Catch runtime error from STL
2023-07-09 19:27:41 -04:00
Morph and GitHub
8a87a41f2d
Merge pull request #11063 from liamwhite/oops
...
arm_interface: correct breakpoint rewind condition
2023-07-09 16:24:49 -04:00
Morph and GitHub
9ce5d39829
Merge pull request #11030 from lat9nq/tz-restrict-msvc
...
settings: Disable C++20 time zone path on MSVC
2023-07-09 01:45:00 -04:00
Morph
738b37e508
verify: Remove dependence on chocolatey
2023-07-07 14:08:18 -04:00
Morph
82a105e2f8
android-build: Run only on yuzu-android repository
2023-07-07 13:57:09 -04:00
Morph and GitHub
d6a9ed32e6
Merge pull request #11041 from Morph1984/vksdk
...
ci: Download and install Vulkan SDK directly from LunarG
2023-07-07 03:37:27 -04:00
Morph
e3937fe8ad
general: Update VulkanSDK and Vulkan-Headers
...
Latest as of this commit
2023-07-07 02:04:13 -04:00
Morph
c652e42492
github: Checkout source first (MSVC)
2023-07-07 02:04:13 -04:00
Morph
eacec2ae12
ci: Download and install Vulkan SDK directly from LunarG
2023-07-07 02:04:13 -04:00
Morph
9d7671ec3b
main: Use 1_MiB as a constant for copy buffer size
2023-07-06 13:04:27 -04:00
Morph
5d0a051abb
main: Fix install progress calculation
...
The increased buffer size means that that progress bar size has to be adjusted
2023-07-06 00:22:38 -04:00
Morph
c3fbc8d2fe
core_timing: Remove GetCurrentTimerResolution in CoreTiming loop
...
Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
2023-07-02 15:08:04 -04:00
Morph
b94e576653
kernel: Synchronize
2023-07-01 16:21:22 -04:00
Morph
1a46823ec5
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
Morph
5a09fa5012
maxwell_dma: Specify dst_operand.pitch instead of a temp var
2023-06-30 21:49:59 -04:00
Morph
310b6cf4af
general: Use ScratchBuffer where possible
2023-06-30 21:49:59 -04:00
Morph
fbd85417ff
ring_buffer: Fix const usage on std::span
2023-06-30 13:33:14 -04:00
Morph
b8c906f9d1
scratch_buffer: Add member types to ScratchBuffer
...
Allows for implicit conversion to std::span<T>.
2023-06-30 13:33:13 -04:00
Morph
ea8d5ef5e8
sink_stream: Resolve heap buffer corruption due to out of bounds write
...
Also, remove the use of ScratchBuffer when upmixing, as other channels may not be initialized with zeroed out data.
2023-06-30 00:54:23 -04:00
Morph
295fc7d0f8
x64: cpu_wait: Implement MWAITX for non-MSVC compilers
2023-06-28 01:39:15 -04:00
Morph
2b68a3cbbf
x64: cpu_wait: Remove magic values
2023-06-28 01:39:06 -04:00
Morph
3d868baaa4
x64: cpu_wait: Make use of MWAITX in MicroSleep
...
MWAITX is equivalent to UMWAIT on Intel's Alder Lake CPUs.
We can emulate TPAUSE by using MONITORX in conjunction with MWAITX to wait for 100K cycles.
2023-06-28 01:38:55 -04:00
Morph
4303ed614d
x64: Add detection of monitorx instructions
...
monitorx introduces 2 instructions: MONITORX and MWAITX.
2023-06-28 01:36:06 -04:00
Morph and GitHub
bd4fefe5e7
Merge pull request #10931 from german77/clang
...
yuzu: Fix clang format
2023-06-27 18:11:22 -04:00
Morph and GitHub
3a991f3aef
Merge pull request #10891 from german77/sdl28v2
...
externals: Include post release SDL fixes
2023-06-23 17:41:54 -04:00
Morph and GitHub
7f12c6159f
Merge pull request #10878 from GPUCode/log-droid
...
android: Log settings
2023-06-22 16:16:20 -04:00
Morph and GitHub
c0fd793ef6
Merge pull request #10813 from lat9nq/no-atomic-bool
...
k_thread: Use a mutex and cond_var to sync bool
2023-06-17 20:29:57 -04:00
Morph and GitHub
fb97aec26b
Merge pull request #10781 from 8bitDream/vcpkg
...
externals: Fix update vcpkg to 2023.06.14
2023-06-14 18:07:05 -04:00
Morph and GitHub
702a2ac631
Merge pull request #10749 from Morph1984/strong-typing
...
buffer_cache_base: Specify buffer type in HostBindings
2023-06-14 18:03:11 -04:00
Morph
925586f97b
buffer_cache_base: Specify buffer type in HostBindings
...
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2023-06-13 00:59:42 -04:00
Morph and GitHub
333f792e10
Merge pull request #10718 from liamwhite/buffered-io
...
qt: use larger buffer for update install
2023-06-12 00:58:34 -04:00
Morph and GitHub
fa5dfcb712
Merge pull request #10685 from liamwhite/serialization-is-hard
...
qt: persist framerate sync option
2023-06-10 12:28:00 -04:00
Morph and GitHub
cb1fd1bad8
Merge pull request #10697 from 8bitDream/codespell
...
Add a codespell exception for kotlin OptIn
2023-06-10 12:27:19 -04:00
Morph
3e6d81a008
nvdisp: Fix SingleCore frametime reporting
2023-06-07 22:04:02 -04:00
Morph
2e1e725443
core_timing: Fix SingleCore cycle timer
2023-06-07 21:44:42 -04:00
Morph
907507886d
(wall, native)_clock: Add GetGPUTick
...
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
2023-06-07 21:44:42 -04:00
Morph
9dcc7bde8b
time: Use compile time division for TimeSpanType conversion
2023-06-07 21:44:42 -04:00
Morph
8e56a84566
core_timing: Use CNTPCT as the guest CPU tick
...
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-07 21:44:42 -04:00
Morph
bbd502f67a
nvnflinger: Acquire lock prior to signaling the vsync variable
2023-06-07 21:44:42 -04:00
Morph
1492a65454
(wall, native)_clock: Rework NativeClock
2023-06-07 21:44:42 -04:00
Morph
dd12dd4c67
x64: Deduplicate RDTSC usage
2023-06-07 21:44:42 -04:00
Morph
f62f43c0da
CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
...
The latest version of MSVC STL brings C++23 standard library modules, which conflict with precompiled headers.
Disabling with /experimental:module- has no effect, so force C++20 in the meantime while we wait for module support in other compilers.
2023-06-06 20:20:09 -04:00
Morph and GitHub
238e46ec93
Merge pull request #10651 from Morph1984/a
...
github/gitmodules: Misc fixes
2023-06-06 17:15:41 -04:00
Morph
08ba16e105
gitmodules: Fix libadrenotools submodule
2023-06-06 15:12:12 -04:00
Morph
099f3f639e
github: Remove release workflow
2023-06-06 15:12:12 -04:00
Morph and GitHub
4c9769d7ea
Merge pull request #10649 from german77/version
...
android: Set version code
2023-06-06 15:11:54 -04:00
Morph
124dd86820
CMakeLists: Rollback minimum to fmt 9
...
The mingw fmt package https://aur.archlinux.org/packages/mingw-w64-fmt has not been updated yet.
2023-05-28 15:20:35 -04:00
Morph
9950a388d2
externals: Update to fmt 10 and add format_as formatter for BitField
...
Implicit conversions are now disallowed in fmt 10. Use format_as to convert to the underlying type.
2023-05-28 15:05:55 -04:00
Morph and GitHub
3ba95402fd
Merge pull request #10146 from liamwhite/catch3
...
catch2: update to 3.3.1
2023-05-03 10:53:12 -04:00
Morph and GitHub
8dd3baa562
Merge pull request #10144 from liamwhite/dont-turbo
...
vulkan: disable turbo when debugging tool is attached
2023-05-03 10:53:03 -04:00
Morph and GitHub
daf7936095
Merge pull request #10143 from liamwhite/fruit-company-moment
...
video_core: fix build on Apple Clang
2023-05-03 10:52:56 -04:00
Morph and GitHub
627022bef9
Merge pull request #10124 from liamwhite/pebkac
...
settings: rename extended memory layout to unsafe, move from general to system
2023-05-03 10:52:45 -04:00
Morph and GitHub
47938541c2
Merge pull request #10084 from FernandoS27/yuzu-goes-broom-broom
...
Y.F.C Buffer Cache Revamp
2023-05-01 11:08:02 -04:00
Morph
cb092af3f0
vk_pipeline_cache: Skip compute pipelines on Intel proprietary drivers
...
Intel's SPIR-V shader compiler is broken. For now, skip compiling any compute pipelines until they fix this issue.
This is not a perfect workaround, as there are a small subset of non-compute pipelines that still cause it to crash, but this should cover the majority of crashes.
It is unfortunate that even with a test case reported 6 months ago the issue has not been fixed in favor of fixing "the most popular games and apps".
Intel, you can do better than this.
2023-04-28 17:59:36 -04:00
Morph
cdc846677c
telemetry: Add waitpkg instruction
2023-03-27 17:45:22 -04:00
Morph and liamwhite
981bc8aa1c
x64: Simplify RDTSC on non-MSVC compilers
...
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com >
2023-03-27 17:45:22 -04:00
Morph
e1bce50d8b
core_timing: Make use of MicroSleep for x64 CPUs
...
For CPUs that support tpause, this should result in significant CPU power savings over thread yield in this spin wait.
2023-03-27 17:45:22 -04:00
Morph and liamwhite
27c33ab73f
x64: Add MicroSleep
...
MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision.
This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield().
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com >
2023-03-27 17:45:22 -04:00
Morph
d2cfe25b07
x64: cpu_detect: Add detection of waitpkg instructions
...
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
2023-03-27 17:45:22 -04:00
Morph and GitHub
568d523746
Merge pull request #9992 from liamwhite/climits
...
container_hash: use climits
2023-03-26 14:46:21 -04:00
Morph and GitHub
4b508655a4
Merge pull request #9989 from Morph1984/boost-1.79-exact
...
CMakeLists: Use boost 1.79.0 instead
2023-03-26 03:46:43 -04:00
Morph
49f6deecb8
video_core/macro: Make use of Common::HashValue
2023-03-25 23:52:26 -04:00
Morph
f09d192aac
tests: Implement tests for verifying HashValue
...
Values were randomly generated and the verification was done against boost 1.79.
2023-03-25 23:52:26 -04:00
Morph
9971cd1d55
common: Port boost's hash_value implementation
...
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
2023-03-25 23:52:25 -04:00
Morph
c4f5615c6b
CMakeLists: Require a minimum of boost 1.79.0
2023-03-25 23:03:28 -04:00
Morph and GitHub
6892a0942f
Merge pull request #9988 from rschlaikjer/rs-gpu-page-table-copy-elision
...
Pass GPU page table by reference inside TextureCache::ForEachImageInRegionGPU
2023-03-25 01:59:08 -04:00
Morph and GitHub
7a8a7545f2
Merge pull request #9975 from liamwhite/more-waiting
...
vulkan: fix more excessive waiting in scheduler
2023-03-24 00:19:43 -04:00
Morph
abe2ad7aac
zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize
2023-03-23 22:16:20 -04:00
Morph
877e8991c7
CMakeLists: Update boost to 1.81.0
2023-03-23 20:53:39 -04:00
Morph
032e5b983c
vcpkg: Update vcpkg to 2023.02.24
2023-03-23 20:53:39 -04:00
Morph and GitHub
6adaa0d5e2
Merge pull request #9962 from Kelebek1/disable_srgb
...
[video_core] Disable SRGB border color conversion in samplers
2023-03-23 03:07:00 -04:00
Morph
197d756560
bounded_threadsafe_queue: Refactor Pop
...
Introduces PopModes to bring waiting logic into Pop, similar to Push.
2023-03-21 22:33:58 -04:00
Morph
8c56481249
bounded_threadsafe_queue: Add producer cv to avoid busy waiting
2023-03-21 22:33:57 -04:00
Morph
407dc917f1
bounded_threadsafe_queue: Deduplicate and add PushModes
...
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
2023-03-21 19:20:21 -04:00
Morph
15d573194c
bounded_threadsafe_queue: Add TryPush
2023-03-21 19:17:38 -04:00
Morph
f28ca5361f
logging: Make use of bounded queue
2023-03-21 19:17:38 -04:00
Morph
306840a580
bounded_threadsafe_queue: Use simplified impl of bounded queue
...
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-21 19:17:32 -04:00
Morph
4c678cfbc8
configure_audio: Fix output mode setting not saving
2023-03-13 17:41:30 -04:00
Morph
67560296c6
perf_stats: Check multicore first
...
SpeedLimiting is SC only. Since MC is performance oriented we should check for it first to skip checking use_speed_limit.
2023-03-07 23:11:01 -05:00
Morph and GitHub
d72d753b1a
Merge pull request #9921 from liamwhite/override
...
general: fix type inconsistencies
2023-03-07 22:42:40 -05:00
Morph and GitHub
a3ffea6a64
Merge pull request #9918 from liamwhite/fwrapv
...
kernel: avoid signed overflow UB on MSVC
2023-03-07 22:42:32 -05:00
Morph and GitHub
b014fdacdb
Merge pull request #9920 from liamwhite/constexpr-bit-cast
...
common: make BitCast constexpr
2023-03-07 22:42:19 -05:00
Morph
1073346c7f
hid: Use nanosecond timestamps instead of ticks
2023-03-07 21:17:47 -05:00
Morph
3053a62375
core: Promote CPU/GPU threads to time critical
...
And also demote Audren and CoreTiming to High thread priority.
2023-03-07 21:17:46 -05:00
Morph
d718eab351
native_clock: Wait for 10 seconds instead of 30
...
It was experimentally determined to be sufficient.
2023-03-07 21:17:46 -05:00
Morph
c27a626b5b
native_clock: Use RealTimeClock instead of SteadyClock
...
We want to synchronize RDTSC to real time.
2023-03-07 21:17:46 -05:00
Morph
6f9918552c
steady_clock: Introduce a real time clock
2023-03-07 21:17:46 -05:00
Morph
dcd13a7566
native_clock: Re-adjust the RDTSC frequency
...
The RDTSC frequency reported by CPUID is not accurate to its true frequency.
We will spawn a separate thread to calculate the true RDTSC frequency after a measurement period of 30 seconds has elapsed.
2023-03-07 21:17:46 -05:00