Age | Commit message (Collapse) | Author |
|
Initial support for Wii Hagi emulator
|
|
Shader decompiler: Fix storage tracking in deko3d.
|
|
|
|
dynarmic: Reduce size of code caches
|
|
|
|
This fixes some incorrect rendering in Sunshine
|
|
|
|
|
|
|
|
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
|
|
config: Write dynarmic exclusive memory configs
|
|
Ensures the configs are written and saved between boots
|
|
|
|
cpu_detect: Add additional x86 flags and telemetry
|
|
|
|
Revert "build(cmake): fix missing Qt5::DBus target on linux"
|
|
|
|
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output.
This is not exhaustive but guided by features that [dynarmic utilizes](https://github.com/merryhime/dynarmic/blob/bcfe377aaa5138af740e90af5be7a7dff7b62a52/src/dynarmic/backend/x64/host_feature.h#L12-L33) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations.
AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI) are added to have some forward-facing data-points.
What used to be a single `CPU_Extension_x64_AVX512` telemetry field
is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
|
|
Non-owning `string_view` is flexable and
avoids some of the many redundant copies made over `std::string`
|
|
|
|
build(cmake): fix missing Qt5::DBus target on linux
|
|
I can't see how this would be useful, but Galaxy uses it.
|
|
This allows Galaxy and Sunshine to render for the first time.
|
|
backend: Ensure backend_thread is destructed before message_queue
|
|
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
|
|
cpu_detect: Revert `__cpuid{ex}` array-type argument
|
|
Restores compatibility with MSVC's `__cpuid` intrinsic.
|
|
cpu_detect: Refactor detection of processor features
|
|
|
|
Set the zero-enum value to Unknown
Move the Manufacterer enum into the CPUCaps structure namespace
Add "ParseManufacturer" utility-function
Fix cpu/brand string buffer sizes(!)
|
|
Update some uses of `int` into some more explicitly sized types as well
|
|
|
|
As this structure gets more explicit, bools can be bitfields and
small enums can use smaller types for their span of values.
|
|
Extracts a singular bit, as a bool, from the specified compile-time index.
|
|
hle: service: ldr: Use deterministic addresses when mapping NROs.
|
|
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
|
|
core, video_core: Fix two crashes when failing to create the emulated GPU instance
|
|
shader_recompiler/LOP3: Use brute force python results within switch/case.
|
|
Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more.
The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik.
Performance results:
Instructions
0: 8
1: 30
2: 114
3: 80
4: 24
Latency
0: 8
1: 30
2: 194
3: 24
|
|
Kernel Memory Updates (Part 5): Revamp MapCodeMemory and UnmapCodeMemory.
|
|
UnmapCodeMemory.
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
|
|
When CreateRenderer fails, the GraphicsContext that was std::move'd into
it is destroyed before the Scoped that was created to manage its
currency. In that case, the GraphicsContext::Scoped will still call its
destructor at the ending of the function. And because the context is
destroyed, the Scoped will cause a crash as it attempts to call a
destroyed object's DoneCurrent function.
Since we know when the call would be invalid, call the Scoped's Cancel
method. This prevents it from calling a method on a destroyed object.
|
|
If a GraphicsContext is destroyed before its Scoped is destroyed, this
causes a crash as the Scoped tries to call a method in the destroyed
context on exit.
Add a way to Cancel the call when we know that calling the
GraphicsContext will not work.
|
|
MaxwellDMA: Implement semaphore operations
|
|
When CreateGPU fails, yuzu would try and shutdown the GPU instance
regardless of whether any instance was actually created.
Check for nullptr before calling its methods to prevent a crash.
|
|
|
|
(#7969)
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
|
|
|
|
host_memory: Fix fastmem crashes in debug builds
|
|
logging: Convert `backend_thread` into an `std::jthread`
|