Merry
53de91b9bd
externals: Update dynarmic to 6.4.6
3 years ago
bunnei
6f649f250f
Merge pull request #10005 from liamwhite/kernel-atomics
kernel: fix unbounded stack usage in atomics
3 years ago
liamwhite
f84d64d412
Merge pull request #10010 from maxdunbar/typo
Fix: 'Continous' typo
3 years ago
Max Dunbar
8b5becf71b
Fixes 'Continous' typo
3 years ago
liamwhite
3b139a811e
Merge pull request #9505 from liamwhite/request-exit
applets: implement RequestExit
3 years ago
Liam
7121903f4a
kernel: fix unbounded stack usage in atomics
3 years ago
liamwhite
da0b368e12
Merge pull request #10003 from german77/disconnect
service: hid: Silence warning on MergeSingleJoyAsDualJoy
3 years ago
liamwhite
69d3ae8463
Merge pull request #9982 from Morph1984/tpause
x64: Make use of waitpkg instructions for power efficient sleeps
3 years ago
Morph
164d930c8d
telemetry: Add waitpkg instruction
3 years ago
Morph
fa3904acd9
x64: Simplify RDTSC on non-MSVC compilers
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
3 years ago
Morph
e67edd4bb7
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.
3 years ago
Morph
d260571440
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>
3 years ago
Morph
95adf299e4
x64: cpu_detect: Add detection of waitpkg instructions
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
3 years ago
liamwhite
59c91dfd4a
Merge pull request #10002 from german77/log
qt: Fix log softlock
3 years ago
Narr the Reg
c1e8a0a3e6
service: hid: Silence warning on MergeSingleJoyAsDualJoy
3 years ago
Narr the Reg
209e4fc6c5
qt: Fix log softlock
3 years ago
liamwhite
c0e0237b21
Merge pull request #9984 from liamwhite/global-memory
memory: rename global memory references to application memory
3 years ago
liamwhite
5bb907c74f
Merge pull request #9995 from german77/plain
service: nfp: Add plain amiibo support
3 years ago
liamwhite
06e6414a57
Merge pull request #9994 from liamwhite/integer-constant
tests: mark integer literals as unsigned
3 years ago
german77
a7965dbc95
service: nfp: Add plain amiibo support
3 years ago
Liam
e135d0448e
tests: mark integer literals as unsigned
3 years ago
Morph
ba58f66bee
Merge pull request #9992 from liamwhite/climits
container_hash: use climits
3 years ago
Liam
52c885cd03
container_hash: use climits
3 years ago
Morph
45fb4af74c
Merge pull request #9989 from Morph1984/boost-1.79-exact
CMakeLists: Use boost 1.79.0 instead
3 years ago
Morph
9308213232
video_core/macro: Make use of Common::HashValue
3 years ago
Morph
ac1a23fc51
tests: Implement tests for verifying HashValue
Values were randomly generated and the verification was done against boost 1.79.
3 years ago
Morph
b203f9d714
common: Port boost's hash_value implementation
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
3 years ago
Morph
0d5ee15676
CMakeLists: Require a minimum of boost 1.79.0
3 years ago
Liam
eb8abae7eb
qt: implement RequestExit for applets
3 years ago
Liam
46f5e0a276
applets: implement RequestExit
3 years ago
bunnei
82155e4000
Merge pull request #9985 from liamwhite/funny-meme
vulkan: fix scheduler chunk reserve
3 years ago
Morph
7ebaafa2b2
Merge pull request #9988 from rschlaikjer/rs-gpu-page-table-copy-elision
Pass GPU page table by reference inside TextureCache::ForEachImageInRegionGPU
3 years ago
Ross Schlaikjer
ee8f63ac65
Pass GPU page table by reference
3 years ago
liamwhite
74a24ab5d5
Merge pull request #9983 from Morph1984/boost
CMakeLists: Update boost to 1.81.0
3 years ago
liamwhite
f0b7390ae3
Merge pull request #9981 from german77/nfp_connect
nfc: Initialize device when controller is connected
3 years ago
Liam
aea009216e
vulkan: fix scheduler chunk reserve
3 years ago
Morph
1242e360bd
Merge pull request #9975 from liamwhite/more-waiting
vulkan: fix more excessive waiting in scheduler
3 years ago
Morph
79aa81015f
zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize
3 years ago
Morph
70a042cfbf
CMakeLists: Update boost to 1.81.0
3 years ago
Morph
53c13c75b6
vcpkg: Update vcpkg to 2023.02.24
3 years ago
Liam
6eaef51cf2
memory: rename global memory references to application memory
3 years ago
liamwhite
c8963299fa
Merge pull request #9971 from Morph1984/q
bounded_threadsafe_queue: Use simplified impl of bounded queue
3 years ago
liamwhite
2b74ab00aa
Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
3 years ago
Morph
f33cddc400
Merge pull request #9962 from Kelebek1/disable_srgb
[video_core] Disable SRGB border color conversion in samplers
3 years ago
Liam
156516e399
kernel: use KTypedAddress for addresses
3 years ago
Morph
05ba40b98e
bounded_threadsafe_queue: Refactor Pop
Introduces PopModes to bring waiting logic into Pop, similar to Push.
3 years ago
Morph
70b1c2e8e0
bounded_threadsafe_queue: Add producer cv to avoid busy waiting
3 years ago
Narr the Reg
9704f1bc7e
nfc: Initialize device when controller is connected
3 years ago
bunnei
95fdc371bb
Merge pull request #9965 from german77/thankYouEpicBoy
config: Fix controller config from resetting
3 years ago
Morph
62fd55e5fe
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.
3 years ago