Ryan Houdek
5bcdb3d478
IREmitter: Remove Pad default argument
...
Default argument is no longer used
2025-12-29 11:29:02 -08:00
Ryan Houdek
2f1017efed
Core/Addressing: Constant audit
2025-12-29 11:29:02 -08:00
Ryan Houdek
b794b9ed2c
Core/Vector: Constant audit
2025-12-29 11:29:02 -08:00
Ryan Houdek
3fd86a953b
Core/AVX_128: Constant audit
2025-12-29 11:29:02 -08:00
Ryan Houdek
5eb416df15
Core/OpcodeDispatcher.cpp: Constant audit
2025-12-29 11:29:02 -08:00
Ryan Houdek
efa78ee0c6
Core/OpcodeDispatcher.h: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
8269d04b57
IR/IREmitter: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
5e782cc1c2
Core/Flags: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
0ff3fb7f47
Core/X87: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
aa631c5585
Core/X87F64: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
5c53583456
Core/Core: Constant audit
2025-12-29 11:29:01 -08:00
Ryan Houdek
a1a30cd9a6
IR: Remove default argument for padding in Constant op
...
All use cases now pass a pad type in to this.
2025-12-29 11:29:01 -08:00
Ryan Houdek
851fbaec2d
Merge pull request #5142 from Sonicadvance1/26
...
`_Constant` audit
2025-12-29 11:28:27 -08:00
Ryan Houdek
a480793708
Passes/RegisterAllocationPass: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
477b72ba52
OpcodeDispatcher/OpcodeDispatcher: Partial _Constant audit
...
`MOVGPRImmediate` is changing in another PR and we need to come back to
it.
2025-12-29 11:04:35 -08:00
Ryan Houdek
f63ba7e3be
OpcodeDispatcher/Vector: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
54dca47e09
OpcodeDispatcher/X87: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
53e0c8d5bf
OpcodeDispatcher.h: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
8588c22170
IREmitter: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
c2d5ee43c6
Passes/x87StackOptimizationPass: _Constant audit
2025-12-29 11:04:35 -08:00
Ryan Houdek
c7c6855740
IREmitter: Allow the constant pool to understand padtype and bytes
...
Fixes an issue that a potential same constant could be padded for one
use and not padded for another.
2025-12-29 11:04:34 -08:00
Ryan Houdek
79f2832591
OpcodeDispatcher: Rename LoadConstantShift
...
Kind of annoying that it is overlapping with LoadConstant.
NFC
2025-12-29 11:04:34 -08:00
Ryan Houdek
cb432548bf
IR: Allow passing padding and MaxBytes through Constant IR
2025-12-29 11:04:34 -08:00
Ryan Houdek
900c1790d3
Merge pull request #5179 from Sonicadvance1/33
...
CMake: Fix mingw if host has libxxhash-dev installed
2025-12-29 11:04:02 -08:00
Ryan Houdek
1b7bce283a
CMake: Fix mingw if host has libxxhash-dev installed
2025-12-29 10:47:23 -08:00
Ryan Houdek
5bbbe4d2e9
Merge pull request #5140 from Sonicadvance1/25
...
First round of `LoadConstant` auditing
2025-12-29 10:16:23 -08:00
Ryan Houdek
c54dfd9edd
Merge pull request #5176 from bylaws/codmap
...
ImageTracker: Support codemap file generation
2025-12-29 10:14:21 -08:00
Ryan Houdek
5a47565ee1
Merge pull request #5172 from crueter/xxhash-find
...
[cmake] Use a Find module for xxhash
2025-12-29 10:06:00 -08:00
Billy Laws
085cf027dc
ImageTracker: Do not generate codemaps when generating code caches
2025-12-29 16:25:55 +00:00
Billy Laws
299df773ce
ImageTracker: Support codemap file generation
2025-12-29 16:25:54 +00:00
Ryan Houdek
9101e704ce
Merge pull request #5174 from lioncash/warn
...
CodeCache: Fix misparenthesized expression in SaveData()
2025-12-28 12:08:32 -08:00
Ryan Houdek
212a3f45f8
Merge pull request #5164 from bylaws/gmeo
...
ImageTracker: Track loaded PE images for LookupExecutableFileSection
2025-12-28 12:08:07 -08:00
Lioncache
0107338020
CodeCache: Fix misparenthesized expression in SaveData()
...
Fixes a -Wshift-op-parentheses warning, and what seems to be a
legitimate bug, based off some quick reading.
2025-12-28 09:42:50 -05:00
LC
668e0275c3
Merge pull request #5171 from Sonicadvance1/32
...
Thunks/Vulkan: Update for v1.4.337
2025-12-28 07:00:23 -05:00
crueter
b258546f34
[cmake] Use a Find module for xxhash
...
Port of #5159
Find modules are preferred for pkgconfig/otherwise non-CMake libraries.
Let's use that here for xxHash.
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-12-28 01:35:46 -05:00
Ryan Houdek
f24f88e46c
Merge pull request #5167 from crueter/cmake-uppercase-aaaaaa
...
[cmake] do not use uppercase command names
2025-12-27 21:03:52 -08:00
Ryan Houdek
5747d1c5fc
Merge pull request #5165 from bylaws/erebase
...
CodeCache: Rebase block entrypoint info
2025-12-27 21:02:14 -08:00
Ryan Houdek
eb95a959bc
Thunks/Vulkan: Update for v1.4.337
...
Fixes DXVK/vkd3d-proton on newer mesa.
2025-12-27 20:50:16 -08:00
Ryan Houdek
0edf961ce9
Merge pull request #5168 from crueter/no-tiny-vars
...
[cmake] reduce usage of trivial variables
2025-12-27 20:23:21 -08:00
Ryan Houdek
9c29ae486c
External/Vulkan-Headers: Update to v1.4.337
2025-12-27 18:39:06 -08:00
crueter
588fec3b89
[cmake] reduce usage of trivial variables
...
Trivial variables like SRCS, NAME, etc. actually do more harm than good.
They *will* make your IDE mad, and are also less readable. Remember:
verbosity is not a bad thing! Usually
Also: did a few tiny cleanups that I missed from my `endpara` PR.
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-12-27 21:16:51 -05:00
crueter
e42dd5ddfb
[cmake] do not use uppercase command names
...
Command names shouldn't be uppercase. A lot of LSPs scold you if you do
this, and apparently it's the official recommendation from the CMake
team to absolutely never, ever do this.
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-12-27 21:09:12 -05:00
Billy Laws
ecc16033be
ImageTracker: Track loaded PE images for LookupExecutableFileSection
2025-12-28 00:31:50 +00:00
Billy Laws
30d0dbd2f0
Windows: Extend scoped HANDLE wrapper
2025-12-28 00:30:47 +00:00
Billy Laws
f2bbc0eccd
CodeCache: Use defaulted dtor for ExecutableFileInfo
2025-12-28 00:30:47 +00:00
Billy Laws
0152f3adb2
CodeCache: Rebase block entrypoint info
...
Entrypoint information contains guest addresses that must be rebased for
correctness.
2025-12-28 00:25:56 +00:00
Ryan Houdek
ce9824a479
Merge pull request #5161 from FEX-Emu/bylaws-patch-1
...
WritePriorityMutex: Fix rare case of dropped read waiter wakes
2025-12-27 15:12:09 -08:00
Billy Laws
2edee2855c
WritePriorityMutex: Fix rare case of dropped read waiter wakes
...
The Race:
1. A Reader sets `READ_WAITER_BIT` (Bit 15) and sleeps on the High 16 bits (`Futex+2`).
2. Writer A unlocks. It clears `READ_WAITER_BIT` (in Low 16 bits) and `WRITE_OWNED` (in High 16 bits).
3. Writer B immediately steals the lock. It sets `WRITE_OWNED` but preserves the now-cleared `READ_WAITER_BIT`.
4. The Reader, checking `Futex+2`, sees `WRITE_OWNED` is set. Since it cannot see that Bit 15 was unset (as it is watching High 16 bits), it assumes its wait signal is still valid and sleeps.
5. Writer B unlocks. It sees no `READ_WAITER_BIT` and wakes nobody. Deadlock.
The Fix:
Move `READ_WAITER_BIT` to Bit 30 (High 16 bits).
Now, when Writer A clears the flag, the High 16 bits change value which will prevent the wait from occurring within WaitForAddress
2025-12-27 22:52:24 +00:00
Ryan Houdek
b41b967ba5
Merge pull request #5160 from crueter/cmake-endpara-sameline
...
[cmake] prefer end parenthesis on same line, no space after some calls
2025-12-24 16:42:50 -08:00
crueter
43173df446
[cmake] prefer end parenthesis on same line, no space after some calls
...
- Some CMake LSPs have aneurysms when you put the end parenthesis on a
different line. Annoying? Yes, but this is all we can really do about
it for now.
- `set`, `option`, and `message` should not have spaces before their
opening parenthesis.
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-12-24 19:11:42 -05:00