summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-15Merge pull request #8000 from liamwhite/hagiFernando S
Initial support for Wii Hagi emulator
2022-03-14Merge pull request #8015 from FernandoS27/fix-global-membunnei
Shader decompiler: Fix storage tracking in deko3d.
2022-03-14Maxwell3D: Link to override constant definition in nouveaubyte[]
2022-03-14Merge pull request #8016 from merryhime/kill-mem-useFernando S
dynarmic: Reduce size of code caches
2022-03-14Maxwell3D: restore original topology when topology overrides are disabledbyte[]
2022-03-14Maxwell3D: Use override constants from nouveauLiam
This fixes some incorrect rendering in Sunshine
2022-03-13dynarmic: Reduce size of code cachesMerry
2022-03-13Shader decompiler: do constant propgation before texture pass.Fernando Sahmkow
2022-03-13Shader decompiler: Fix storage tracking in deko3d.Fernando Sahmkow
2022-03-13Merge pull request #8007 from ameerj/vs-2022-errorsbunnei
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-13Merge pull request #8009 from ameerj/dynarmic-exclusives-configmerry
config: Write dynarmic exclusive memory configs
2022-03-12config: Write dynarmic exclusive memory configsameerj
Ensures the configs are written and saved between boots
2022-03-12emit_spirv, vk_compute_pass: Resolve VS2022 compiler errorsameerj
2022-03-11Merge pull request #7997 from Wunkolo/cpu_detect_morebunnei
cpu_detect: Add additional x86 flags and telemetry
2022-03-11Maxwell3D: Restrict topology override effect to after the register is setLiam
2022-03-11Merge pull request #8003 from yuzu-emu/revert-7982-fix_cmake_missing_qt5_dbusbunnei
Revert "build(cmake): fix missing Qt5::DBus target on linux"
2022-03-11Revert "build(cmake): fix missing Qt5::DBus target on linux"bunnei
2022-03-11cpu_detect: Add additional x86 flags and telemetryWunkolo
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.
2022-03-11common/telemetry: Update `AddField` name type to `string_view`Wunkolo
Non-owning `string_view` is flexable and avoids some of the many redundant copies made over `std::string`
2022-03-11Maxwell3D: mark index buffers as dirty after updating countsLiam
2022-03-10Merge pull request #7982 from BytesGalore/fix_cmake_missing_qt5_dbusbunnei
build(cmake): fix missing Qt5::DBus target on linux
2022-03-10TextureCacheRuntime: allow converting D24S8 to ABGR8Liam
I can't see how this would be useful, but Galaxy uses it.
2022-03-10Maxwell3D: read small-index draw and primitive topology override registersLiam
This allows Galaxy and Sunshine to render for the first time.
2022-03-10Merge pull request #7999 from merryhime/fix-7992Mai M
backend: Ensure backend_thread is destructed before message_queue
2022-03-10backend: Ensure backend_thread is destructed before message_queueMerry
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2022-03-10Merge pull request #7998 from Wunkolo/cpuid_arrayMorph
cpu_detect: Revert `__cpuid{ex}` array-type argument
2022-03-09cpu_detect: Revert `__cpuid{ex}` array-type argumentWunkolo
Restores compatibility with MSVC's `__cpuid` intrinsic.
2022-03-09Merge pull request #7936 from Wunkolo/cpu_detectbunnei
cpu_detect: Refactor detection of processor features
2022-03-09cpu_detect: Add missing `lzcnt` detectionWunkolo
2022-03-09cpu_detect: Refactor cpu/manufacturer identificationWunkolo
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(!)
2022-03-09cpu_detect: Update array-types to `span` and `array`Wunkolo
Update some uses of `int` into some more explicitly sized types as well
2022-03-09cpu_detect: Utilize `Bit<N>` utility functionWunkolo
2022-03-09cpu_detect: Compact capability fieldsWunkolo
As this structure gets more explicit, bools can be bitfields and small enums can use smaller types for their span of values.
2022-03-09bit_util: Add `bit` utility functionWunkolo
Extracts a singular bit, as a bool, from the specified compile-time index.
2022-03-08Merge pull request #7975 from bunnei/ldr-fixbunnei
hle: service: ldr: Use deterministic addresses when mapping NROs.
2022-03-08hle: service: ldr: Use deterministic addresses when mapping NROs.bunnei
- 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.
2022-03-08Merge pull request #7986 from lat9nq/vk-callbackbunnei
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08Merge pull request #7989 from degasus/maxwell_LUT3Fernando S
shader_recompiler/LOP3: Use brute force python results within switch/case.
2022-03-08shader_recompiler/LOP3: Use brute force python results within switch/case.Markus Wick
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
2022-03-07Merge pull request #7974 from bunnei/improve-code-membunnei
Kernel Memory Updates (Part 5): Revamp MapCodeMemory and UnmapCodeMemory.
2022-03-07hle: kernel: KPageTable: Improve implementations of MapCodeMemory and ↵bunnei
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.
2022-03-07video_core: Cancel Scoped's exit call on GPU failurelat9nq
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.
2022-03-07emu_window: Create a way to Cancel the exit of a Scopedlat9nq
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.
2022-03-07Merge pull request #7930 from asLody/dma-semaphoreFernando S
MaxwellDMA: Implement semaphore operations
2022-03-07core: Don't shutdown a null GPUlat9nq
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.
2022-03-07MaxwellDMA: Implement semaphore operationsLody
2022-03-06gl_graphics_pipeline: Improve shader builder synchronization using fences ↵Ameer J
(#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
2022-03-06build(cmake): fix missing Qt5::DBus link targetBytesGalore
2022-03-06Merge pull request #7973 from Morph1984/debug-crashFernando S
host_memory: Fix fastmem crashes in debug builds
2022-03-02Merge pull request #7935 from Wunkolo/logging-join-fixbunnei
logging: Convert `backend_thread` into an `std::jthread`