profile
viewpoint
Fernando Sahmkow FernandoS27 3D Graphics and Physics Engine Specialist. Interested in Vulkan, 3d graphics, physics and assembly. Currently working on private projects outside of github.

devkitPro/deko3d 48

Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)

FernandoS27/yuzu 4

Nintendo Switch Emulator

ReinUsesLisp/nxgputests 2

deko3D based Nintendo Switch GPU unit tests

fincs/dekotools 1

Tools used to develop the deko3d library

FernandoS27/assimp 0

Official Open Asset Import Library Repository. Loads 40+ 3D file formats into one unified and clean data structure.

FernandoS27/compiler-explorer 0

Run GCC (and other compilers) interactively from your web browser and experiment with its generated code

FernandoS27/distorm 0

Powerful Disassembler Library For x86/AMD64

FernandoS27/dynarmic 0

An ARM dynamic recompiler.

FernandoS27/ext-boost 0

Subset of the boost libraries used by Citra

FernandoS27/m3addon 0

Blender Addon to import and export m3 files

create barnchFernandoS27/yuzu

branch : prometheus-final

created branch time in 2 days

push eventFernandoS27/yuzu

ReinUsesLisp

commit sha 9b06e823ee5c375d1e06edccb4d621d91255e804

maxwell_3d: Reduce severity of logs that can be spammed These logs were killing performance on some games when they were spammed. Reduce them to Debug severity.

view details

bunnei

commit sha 87b272699fe7965d913637fe104aa695d8e094b2

Merge pull request #4007 from ReinUsesLisp/reduce-logs maxwell_3d: Reduce severity of logs that can be spammed

view details

David Marcec

commit sha d0bdd26c26b72004144e656c9abc6232b80f3f60

Add xbyak external

view details

Fernando Sahmkow

commit sha 9d9ffe0f9461ffa3b2e183b17a08953ada0ee91b

Merge pull request #4017 from ogniK5377/xbyak Add xbyak external

view details

Fernando Sahmkow

commit sha 74d15231d734045b1fcd17f1426e40174f20de86

Common: Implement a basic SpinLock class

view details

Fernando Sahmkow

commit sha 5bc3f733bdd0db89e53b23b01e3be3564a92acde

Common: Implement a basic Fiber class.

view details

Fernando Sahmkow

commit sha aa0b29df9d19d3bb075032e165d88f83934c54e4

Tests: Add tests for fibers and refactor/fix Fiber class

view details

Fernando Sahmkow

commit sha ca07bbcc88430bd176ef8c0bd902bc309d583001

Common: Polish Fiber class, add comments, asserts and more tests.

view details

Fernando Sahmkow

commit sha 1fca6097ea83d4bba282c41cc20c5edb087026a9

Core: Implement a Host Timer.

view details

Fernando Sahmkow

commit sha c5c25e87f9d6df2d5d44a027ccf1d953325ee826

Tests: Add base tests to host timing

view details

Fernando Sahmkow

commit sha 938091371e60bc9b7c58c885b39edc830154a73b

Common: Implement WallClock Interface and implement a native clock for x64

view details

Fernando Sahmkow

commit sha d610750448121b21726c19921b3d6617972a29de

Common: Refactor & Document Wall clock.

view details

Fernando Sahmkow

commit sha eb88658b5b75668a4c32b66e1ea8039af4f2c36f

Common: Correct fcontext fibers.

view details

Fernando Sahmkow

commit sha 002e32f3afe402f2cfc2465049b07edaabb5316e

Common/Tests: Clang Format.

view details

Fernando Sahmkow

commit sha bd0828ef3ebe0c428b11a7d483bd69120af37098

Common: Make MinGW build use Windows Fibers instead of fcontext_t

view details

Fernando Sahmkow

commit sha 3abc5b102a111d2663d7f395ccdb4833e0b3dd8d

Common/Tests: Address Feedback

view details

Fernando Sahmkow

commit sha 87c222c0bd0eecd35d3ba83cece73d0f6f12e9ae

Core/HostTiming: Allow events to be advanced manually.

view details

Fernando Sahmkow

commit sha 7965074e82deed43491ddbf95a746cdff0e30f9d

HostTiming: Correct rebase and implement AddTicks.

view details

Fernando Sahmkow

commit sha 53c4c2ec44fae75be6c3980cd4c1740de99ce928

Host Timing: Correct clang format.

view details

Fernando Sahmkow

commit sha a6252882d9fbc0645fb4ed19878e80f55fc5a347

Common/Fiber: Correct f_context based Fibers.

view details

push time in 2 days

push eventyuzu-emu/yuzu

David Marcec

commit sha d0bdd26c26b72004144e656c9abc6232b80f3f60

Add xbyak external

view details

Fernando Sahmkow

commit sha 9d9ffe0f9461ffa3b2e183b17a08953ada0ee91b

Merge pull request #4017 from ogniK5377/xbyak Add xbyak external

view details

push time in 2 days

PR merged yuzu-emu/yuzu

Add xbyak external

Mainly to help with rebasing

+329 -2

1 comment

7 changed files

ogniK5377

pr closed time in 2 days

pull request commentyuzu-emu/yuzu

Add xbyak external

I'll merge once it passes all the passes.

ogniK5377

comment created time in 2 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 0a4be73b9b2b0e759fe4fff42084d29c3cd1e4c2

VideoCore: Use SyncGuestMemory mechanism for Shader/Pipeline Cache invalidation.

view details

Fernando Sahmkow

commit sha 8d15f8b28e1e51dde31ad9197cc2eaa16b98ad65

VkPipelineCache: Use a null shader on invalid address.

view details

Fernando Sahmkow

commit sha 1887afaf9e712ba91f6a4f87e7c0f52c17ca8c8b

RasterizerCache: Correct documentation.

view details

bunnei

commit sha 9c065c013eb677c1b425b82f1af6195acd3058f8

file_sys: control_metadata: Expose device_save_data_size.

view details

bunnei

commit sha ab9ddab0a21fa447f8cd93df0d529069e5a1cae0

file_sys: savefata_factory: Update to support DeviceSaveData.

view details

bunnei

commit sha 551c61bf2781250d2817a7429a7a6c4b98ed7dc4

yuzu: game_list: Fix 'Open Save Data Location' for device saves.

view details

bunnei

commit sha 47b97b95773e1cf1c4acd387ce4011b34cb67180

service: fsp_srv: Stub implementation of OpenMultiCommitManager.

view details

David Marcec

commit sha a79f060ea2a8dd24f399309d052db74c6456224b

hid: Clear keyboard states & fix logic issue Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted

view details

Morph

commit sha b73f678ee82a6f3fae36ed39dfc4cfc27c64a871

frontend: Set minimum window size to 640x360 instead of 1280x720 (#3413)

view details

ReinUsesLisp

commit sha 7a27b7f3a3f07a0ed08bca0c22d395157b0e4c05

vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior Match OpenGL's behavior. This can fix or simplify bisecting issues on Vulkan.

view details

bunnei

commit sha 55c0dd1cb38b998476ddca8e150cb86133d013d8

Merge pull request #3942 from ReinUsesLisp/flush-and-invalidate vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior

view details

David Marcec

commit sha 4b9504028d180bc10f2ffb376668ef78852b84c1

DmaPusher: Remove dead code in step

view details

David Marcec

commit sha 6f0360690b48c70c363b789b4e5521f59459521a

nv_flinger: Use enum for pixel format instead of u32

view details

David Marcec

commit sha 17455b7222140697999241bd6dc64d27150a00a5

file_sys: Update SystemVersion archive to version 10.0.2

view details

bunnei

commit sha 74d5c0ed2fe0b545cba59b97a235c1a06f02186f

Merge pull request #3944 from ogniK5377/dma_mget DmaPusher: Remove dead code in step

view details

bunnei

commit sha 3c378a31b5ed9b6e8c8b5dd1861a81c8e55e75ae

Merge pull request #3945 from ogniK5377/nvflinger-pixformat nv_flinger: Use enum for pixel format instead of u32

view details

bunnei

commit sha 65010607b7a474e677360a5a465a3169fec41ba0

Merge pull request #3665 from bunnei/device-save FS: Improve emulation of device saves

view details

Morph

commit sha 9a36d8600c0b263b4b3861b64051a4f62b4251d2

main: Log host system memory parameters Logs both physical memory and swapfile sizes, this is useful for support.

view details

Morph

commit sha d0fc12684a0c7624c23faf77aa72cc11131b859b

maxwell_to_vk: Add format B8G8R8A8_SRGB Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM Used by Bravely Default II

view details

bunnei

commit sha cf4ee279c6424ada927f74fcc34e013038af7228

Merge pull request #3926 from ogniK5377/keyboard-states hid: Clear keyboard states & fix logic issue

view details

push time in 2 days

pull request commentyuzu-emu/yuzu

fixed_pipeline_state,gl_rasterizer: Swap negative viewport checks for front faces

Weird I tried this 2 months ago but it had a few regressions, so I abandoned it. Would be nice to test if it has any regressions.

ReinUsesLisp

comment created time in 5 days

IssuesEvent

issue commentyuzu-emu/yuzu

Crash in Pokemon Sword And Shield

Yeah it's bug but it doesn't happen in every machine, making it a nuance to debug.

liyuhaolol

comment created time in 13 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 8fcbe797bfd0b306af9eea0046364bc1bf615ca6

Common/NativeClockx86: Reduce native clock accuracy further.

view details

push time in 13 days

pull request commentyuzu-emu/yuzu

shader: Misc implementations used in Astral Chain

Seems to be causing crashes on Astral Chain for some people. Removed temporally.

ReinUsesLisp

comment created time in 13 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 4cff5dd1940cf8eded9daa445c16c90c89720a4a

OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled. This commit aims to help easing debugging of driver crashes without having to modify existing code.

view details

push time in 14 days

pull request commentyuzu-emu/yuzu

Remake Kernel Scheduling, CPU Management & Boot Management (Prometheus)

@RealJohnGalt what you are looking for is: -mcx16

FernandoS27

comment created time in 14 days

PR opened yuzu-emu/yuzu

OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled

This commit aims to help easing debugging of driver crashes without having to modify existing code.

+6 -0

0 comment

2 changed files

pr created time in 14 days

create barnchFernandoS27/yuzu

branch : gl-debug

created branch time in 14 days

pull request commentyuzu-emu/yuzu

Remake Kernel Scheduling, CPU Management & Boot Management (Prometheus)

@RealJohnGalt Most of the changes were done before submission. Some of the options you propose are dangerous for distributing executables. -march=native makes the executable only work on the native computer where the compiler is. -lboost_context needs to be fixed another way, not sure why there's an -lfmt (thought there were no issues about it).

FernandoS27

comment created time in 14 days

PR opened yuzu-emu/yuzu

Remake Kernel Scheduling, CPU Management & Boot Management (Prometheus)

This PR rewrites a series of key components from yuzu such as the Kernel Scheduler, CPU Management and the Boot Management.

The Kernel Scheduler has been based on TuxSH's firmware 7.0.0's kernel idb, SciresM's firmware 9.0.0's kernel idb and Mesopshere (both classic Mesasphere by TuxSH and modern Mesosphere by SciresM). The algorithms now correctly use Critical Sections/Scheduler Locks instead of the system of messy callbacks inherited from Citra. Guest Threads now use fibers with a custom library created in #3396. The new kernel is the same indifferent of SingleCore or Multicore Emulation, no hacks are applied to differ them, instead merry go round between threads on SingleCore occurs on CPU management. Thus guaranteeing the kernel is almost the same except for differences between Cycle Timing and Host Timing. In order to ease implementation of Multicore, a Host Timer is used instead of a Cycle Timer. The new Host Timer can have a reaction inaccuracy of up to 1 milisecond with average reaction delay of 50 microseconds.

Other effects of this PR:

  • Dynarmic has been updated with corrections to Exclusive Memory Handling. In retrospective, yuzu has been updated to handle Atomic Writes using compiler CAS intrinsics.
  • All timing events on the emulator now use nanoseconds instead of CPU Cycles.
  • CPU Thread and Booting Thread are no longer the same thread, this may have effects not foreseen before. (this is the same for both multicore and singlecore).
  • Pausing now differs from a step emulation method to a kernel assisted method. In order to pause the emulator, special suspend kernel threads with max priority are set to run, yielding execution to emulation control. Before this was done in the step emulation thread by not going into the next step.
  • SingleCore uses Cycle Timing and everything except the GPU (unless async gpu is off) is run on a single thread. For deterministic emulation such as homebrew testing/emulator debugging, ity is suggested to run the emulator on SingleCore without Async GPU. This guarantees the most accuracy and the less randomization.

What needs to be checked:

  • [ ] Audition of every affected SVC against the IDB and Scheduler Primitives.
  • [ ] Guarantee SingleCore has the same functionality as in mainline and that no regressions are present.

Further Work:

  • Implement Busy Mutexes/Thread Pinning in the kernel (8.0.0 feature). Sadly I can't find a game which uses this in such way it's testable. This is highly weird to be used as threads are not suppose to call any SVCs other than SynchronizePreemptionState while being in a busy mutex. To make matters worse, it's not implemented in libNX since libNX targets 1.0.0 and uses a different TLS layout to the OG Switch, complicating things further. Thus writting tests, is harder.
  • Move away services/logic from Core Timing (Multicore Only). Host Timing has a considerable level of inaccuracy which may delay audio in the long term. Also, Host Timing executes everything sequentially, when this is not strictly necessary on everything. This has almost no effect in Cycle Timing, where the worst delay is 5000 Guest CPU Cycles.
  • Host Timing inaccuracies can be improved further by advancing timer between Scheduler thread switches, it is however advised to rework vSync before doing that (suggestion by Exzap from Cemu).
  • Even though functionality is now mostly the same than Switch's OS, some names and code structure differ, this can be improved with refactors. Example Move SVC SignalProcessWideKey can be moved a function inside a process called "SignalToAddress".
  • Currently all Memory Management SVCs are locked behind a global mutex (HLE Mutex), this needs to be properly fixed later on as the new VMM should be threadsafe but it has not been verified and goes outside the scope of this PR.

Credits:

  • SciresM & TuxSH for most kernel reverse engineering and work on Mesosphere.
  • Lioncash, Gdkchan and others for contributions to Reverse Engineering of the Switch's Kernel.
  • Testers (BSoD Gaming, Rei, Morph, Ethan, Toxa, GoldenX86, Flamboyant Ham, theboy181, etc).
  • Advice and consulting: Exzap from Cemu.
+4519 -1674

0 comment

112 changed files

pr created time in 14 days

push eventFernandoS27/yuzu

Morph

commit sha 7909860d16118f3db5006ccd379c1dae27eb5a1b

texture: Implement R8G8UI - Used by The Walking Dead: The Final Season

view details

Dan

commit sha 96ee1b42bce951f96a7bbbba3602fda31e84786e

maxwell_to_vk: implement missing signed int formats

view details

ReinUsesLisp

commit sha 3b668e1210e54548e77ba493d65fe1ee57930ea6

vk_graphics_pipeline: Implement rasterizer_enable on Vulkan We can simply enable rasterizer discard matching the current pipeline key.

view details

James Rowe

commit sha dd449ce4627119776393bcc224f152af970b8ff1

CI: Don't check clang format on early access builds

view details

bunnei

commit sha a9ee6e346bf6457484d874851fcb5182dfb4e0f3

Merge pull request #3842 from makigumo/maxwell_to_vk_vertexattribute_signed_int maxwell_to_vk: implement missing signed int formats

view details

ReinUsesLisp

commit sha 4e57f9d5cfc32b37fe7b6a1563ca2101ec59887c

shader_ir: Separate float-point comparisons in ordered and unordered This allows us to use native SPIR-V instructions without having to manually check for NAN.

view details

Rodrigo Locatti

commit sha 7e376af8fcd60baaa127b459e83bf716067be233

Merge pull request #3839 from Morph1984/r8g8ui texture: Implement R8G8UI

view details

Markus Wick

commit sha c5c60e04ddae03165dc05b7f4a53969662b28cc3

Check for the zstd version

view details

Markus Wick

commit sha ef1f59659552f516b3d3255af66f9c9151966611

Fix libzip version check

view details

Markus Wick

commit sha 0e2a7ca91b23fa35fdd9e55879f4b7ba4f70d2b6

Add version check to Findfmt

view details

Markus Wick

commit sha c96a8867f01ed2c454196629f032ae0a837c1cd3

Add version check for catch2

view details

Markus Wick

commit sha 290bc20e7985cbf75780d7f6033d64fa5e70cf45

Add version check to Findnlohmann_json.cmake

view details

Markus Wick

commit sha e8baf07136645a9b17875967f24375db1c68c059

Mark the opus version check as broken.

view details

James Rowe

commit sha d4e1633fb78630b76ff4606b899a8d040d1a2ac4

Merge pull request #3902 from degasus/cmake_version_checks externals: Cmake version checks

view details

ReinUsesLisp

commit sha 8b329ddcc9b39353b9545289b3bd653a77db0103

gl_shader_decompiler: Properly emulate NaN behaviour on NE "Not equal" operators on GLSL seem to behave as unordered when we expect an ordered comparison. Manually emulate this checking for LGE values (numbers, not-NaNs).

view details

bunnei

commit sha 6ec6cb50dd23fe75e01e7aee198e48b9cafd0542

Merge pull request #3896 from jroweboy/remove-clang-format-check-from-patreon CI: Don't check clang format on early access builds

view details

David Marcec

commit sha ecc8ccc9d32fb0ee9741b748837c0e2b410789e0

Stub SendKeyboardLockKeyEvent Needed for Puchikon 4 SmileBASIC 1.0.0

view details

David Marcec

commit sha 9de860a419853bbaf913c07b1aae239c91c56d9e

audio_renderer: Better voice mixing and 6 channel downmixing Supersedes #3738 and #3321

view details

David Marcec

commit sha c4e7ec7a996d49517852d1f5d46160cfc2bd6032

pass by const ref instead

view details

David Marcec

commit sha 16c0373adc5bd76db97d5d2231e80463dda242dd

fix logic error & scale sample volume based on voice volume

view details

push time in 14 days

issue commentyuzu-emu/yuzu

Crash with Pokemon Sword

could you test previous versions and tell when the problem started: https://github.com/yuzu-emu/yuzu-mainline/releases

Blendskill

comment created time in 16 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 941dbe1d6f6e28fd8de190c9a278391cc7c6817a

Tests/HostTiming: Correct GCC Compile error.

view details

push time in 17 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha afcb395b16e6e3a4bb1a1d540d2f589abd3c21fc

Tests/HostTiming: Correct GCC Compile error.

view details

push time in 17 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 234f528726cb36276c6dc4aea060d3c904d51a92

Tests/HostTiming: Correct GCC Compile error.

view details

push time in 17 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha df6d06bb60f1e6c2da48ca9205dadfdd0b9c7a74

Tests/HostTiming: Correct GCC Compile error.

view details

push time in 17 days

push eventFernandoS27/yuzu

Morph

commit sha 7909860d16118f3db5006ccd379c1dae27eb5a1b

texture: Implement R8G8UI - Used by The Walking Dead: The Final Season

view details

Dan

commit sha 96ee1b42bce951f96a7bbbba3602fda31e84786e

maxwell_to_vk: implement missing signed int formats

view details

ReinUsesLisp

commit sha 3b668e1210e54548e77ba493d65fe1ee57930ea6

vk_graphics_pipeline: Implement rasterizer_enable on Vulkan We can simply enable rasterizer discard matching the current pipeline key.

view details

James Rowe

commit sha dd449ce4627119776393bcc224f152af970b8ff1

CI: Don't check clang format on early access builds

view details

bunnei

commit sha a9ee6e346bf6457484d874851fcb5182dfb4e0f3

Merge pull request #3842 from makigumo/maxwell_to_vk_vertexattribute_signed_int maxwell_to_vk: implement missing signed int formats

view details

ReinUsesLisp

commit sha 4e57f9d5cfc32b37fe7b6a1563ca2101ec59887c

shader_ir: Separate float-point comparisons in ordered and unordered This allows us to use native SPIR-V instructions without having to manually check for NAN.

view details

Rodrigo Locatti

commit sha 7e376af8fcd60baaa127b459e83bf716067be233

Merge pull request #3839 from Morph1984/r8g8ui texture: Implement R8G8UI

view details

Markus Wick

commit sha c5c60e04ddae03165dc05b7f4a53969662b28cc3

Check for the zstd version

view details

Markus Wick

commit sha ef1f59659552f516b3d3255af66f9c9151966611

Fix libzip version check

view details

Markus Wick

commit sha 0e2a7ca91b23fa35fdd9e55879f4b7ba4f70d2b6

Add version check to Findfmt

view details

Markus Wick

commit sha c96a8867f01ed2c454196629f032ae0a837c1cd3

Add version check for catch2

view details

Markus Wick

commit sha 290bc20e7985cbf75780d7f6033d64fa5e70cf45

Add version check to Findnlohmann_json.cmake

view details

Markus Wick

commit sha e8baf07136645a9b17875967f24375db1c68c059

Mark the opus version check as broken.

view details

James Rowe

commit sha d4e1633fb78630b76ff4606b899a8d040d1a2ac4

Merge pull request #3902 from degasus/cmake_version_checks externals: Cmake version checks

view details

ReinUsesLisp

commit sha 8b329ddcc9b39353b9545289b3bd653a77db0103

gl_shader_decompiler: Properly emulate NaN behaviour on NE "Not equal" operators on GLSL seem to behave as unordered when we expect an ordered comparison. Manually emulate this checking for LGE values (numbers, not-NaNs).

view details

bunnei

commit sha 6ec6cb50dd23fe75e01e7aee198e48b9cafd0542

Merge pull request #3896 from jroweboy/remove-clang-format-check-from-patreon CI: Don't check clang format on early access builds

view details

David Marcec

commit sha ecc8ccc9d32fb0ee9741b748837c0e2b410789e0

Stub SendKeyboardLockKeyEvent Needed for Puchikon 4 SmileBASIC 1.0.0

view details

bunnei

commit sha 5dec81fcbd45c8c62e0707f9bd0fc49b5ca96193

Merge pull request #3925 from ogniK5377/hid-SendKeyboardLockKeyEvent Stub hid:SendKeyboardLockKeyEvent

view details

bunnei

commit sha 1beaebe666ac97d34dbbd59731742b751a01e603

Merge pull request #3816 from ReinUsesLisp/vk-rasterizer-enable vk_graphics_pipeline: Implement rasterizer_enable on Vulkan

view details

bunnei

commit sha b1a1bd12cae560b39c718b7188db0d8eae975917

Merge pull request #3899 from ReinUsesLisp/float-comparisons shader_ir: Add separate instructions for ordered and unordered comparisons and fix NE on GLSL

view details

push time in 18 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 1887afaf9e712ba91f6a4f87e7c0f52c17ca8c8b

RasterizerCache: Correct documentation.

view details

push time in 22 days

PR opened yuzu-emu/yuzu

Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline

This PR takes care of correcting a series of crashes and incorrections on Async GPU & Vulkan. Resume of changes:

  • Remove CPU Query Cache Invalidation on Async GPU, as Async GPU always flushes and invalidates them.
  • On Async GPU, Shader & Pipeline Invalidations from the CPU will no longer be instant and instead use the sync interface.
  • Corrected an issue in Vulkan's Pipeline Cache where if a shader had an invalid address, it wouldn't use a null shader instead of trying to decompile it.
+62 -7

0 comment

4 changed files

pr created time in 22 days

create barnchFernandoS27/yuzu

branch : vulkan-fix

created branch time in 22 days

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha cf267144ab050a1827a5cfb692d372121b94bf43

YuzuQT: Hide Speed UI on Multicore.

view details

push time in 22 days

create barnchFernandoS27/yuzu

branch : prometheus-2b

created branch time in 23 days

push eventFernandoS27/yuzu

FearlessTobi

commit sha e7664b7a4fe1035bc3c9afb51254bfff1f25654a

yuzu: Option to hide mouse on inactivity Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>

view details

ReinUsesLisp

commit sha 6f47bd9641c04a2cdc8f23fafd49069eab00e3fb

vk_memory_manager: Remove unified memory model flag All drivers (even Intel) seem to have a device local memory type that is not host visible. Remove this flag so all devices follow the same path. This fixes a crash when trying to map to host device local memory on integrated devices.

view details

Ben Russell

commit sha dd43d725c619980bb07d3cae0410b15c51dbdfd7

Dump RomFS command to include Updates Patch the RomFS with the selected updates before dumping. Previously the resulting RomFS only contained data from the original title. To dump the RomFS without updates the user can disable the update under Properties before choosing Dump RomFS.

view details

Ben Russell

commit sha bcd0444bb93e600c7d36c992802152de18c8c3aa

Update src/yuzu/main.cpp with missing const Co-Authored-By: Mat M. <mathew1800@gmail.com>

view details

gxcreator

commit sha 8af62c9997f8255f22bfa70545878db2344a44da

Fixed packaging on some systems with different QT5 path

view details

ReinUsesLisp

commit sha f665c921144264ba2ed0fef37d9db28d552a5511

vk_renderpass_cache: Pack renderpass cache key to 12 bytes

view details

ReinUsesLisp

commit sha 8c37cd1af689ce0ff0cd37e4579508a898ea3807

vk_pipeline_cache: Unify pipeline cache keys into a single operation This allows us to call Common::CityHash and std::memcmp only once for GraphicsPipelineCacheKey. While we are at it, do the same for compute.

view details

ReinUsesLisp

commit sha 3e35101895aed4e0cf2be3f90459fbad6e417203

vk_rasterizer: Fix framebuffer creation validation errors Framebuffer creation was ignoring the number of color attachments.

view details

ReinUsesLisp

commit sha 72deb773fdcc59b1df9752de4e846422b7bb5280

shader_ir: Turn classes into data structures

view details

ReinUsesLisp

commit sha 4fb921ff6bd6f9596c7e7cd9524932f2a44e9490

shader/texture: Support multiple unknown sampler properties This allows deducing some properties from the texture instruction before asking the runtime. By doing this we can handle type mismatches in some instructions from the renderer instead of the shader decoder. Fixes texelFetch issues with games using 2D texture instructions on a 1D sampler.

view details

Lioncash

commit sha cc84b48ce5b981bbdc737931c1030f8d3ff3f32b

physical_core: Make use of std::make_unique instead of std::make_shared in ctor We can also allow unicorn to be constructed in 32-bit mode or 64-bit mode to satisfy the need for both interpreter instances. Allows this code to compile successfully of non x86-64 architectures.

view details

David Marcec

commit sha 03a6f3b0f424ad2e4f0dc53e38b325cb1da6a91c

vi: Don't let uninitialized data pass as a response for SetBufferCount Currently SetBufferCount doesn't write to the out buffer which then contains uninitialized data. This leads to non-zero data which leads to responding with different error codes

view details

Fernando Sahmkow

commit sha d8a961cd6ce482b4f02705322145a2d5786e74aa

Revert: shader_decode: Fix LD, LDG when track constant buffer.

view details

ReinUsesLisp

commit sha 527a1574c3f1262a6b6b010fa8234a701b299609

vk_rasterizer: Pack texceptions and color formats on invalid formats Sometimes for unknown reasons NVN games can bind a render target format of 0. This may be a yuzu bug. With the commits before this the formats were specified without being "packed", assuming all formats and texceptions will be written like in the color_attachments vector. To address this issue, iterate all render targets and pack them as they are valid. This way they will match color_attachments. - Fixes validation errors and graphical issues on Breath of the Wild.

view details

M&M

commit sha c1ffaa8b299323c7f6924f4b98802ebac5158f58

services: hid: Stub StopSevenSixAxisSensor. - Used by The Legend of Zelda: Breath of the Wild v1.6.0

view details

ReinUsesLisp

commit sha d5237342668db88cc81fefbee81f468b5214e655

decode/register_set_predicate: Use move for shared pointers Avoid atomic counters used by shared pointers.

view details

ReinUsesLisp

commit sha ffc5ec6fa816b1bf56044b9d8cf5f1935abe77ee

decode/register_set_predicate: Implement CC P2R CC takes the state of condition codes and puts them into a register. We already have this implemented for PR (predicates). This commit implements CC over that.

view details

ReinUsesLisp

commit sha 255197e64363f9286ed145cafdeb129c85c16621

shader/arithmetic_integer: Implement CC for IADD

view details

ReinUsesLisp

commit sha c788f9c0bd9cb0b0cb66f7424a65032cca3731cc

shader/arithmetic_integer: Implement IADD.X IADD.X takes the carry flag and adds it to the result. This is generally used to emulate 64-bit operations with 32-bit registers.

view details

ReinUsesLisp

commit sha 2a96bea6a7efd9efaaa8d1d72f1eb8ca27cb81f8

shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflow Signed integer addition overflow might be undefined behavior. It's free to change operations to UAdd and use unsigned integers to avoid potential bugs.

view details

push time in 23 days

pull request commentyuzu-emu/yuzu

Very initial implementation of motion controls

Sorry for the inconvenience, it's just we need things setup in order.

anirudhb

comment created time in a month

pull request commentyuzu-emu/yuzu

memory: add program counter in unmapped memory access log messages

hmn I don't think dynarmic updates the PC register but until either an SVC is called or Ticks run out.

FearlessTobi

comment created time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha 54d455e510e79c17fbaa00fc7f7f108c42bcc9bc

A64 Interface: Allow changing processor id. This commit allows the JIT to be used per guest thread and change it's core when the thread is migrated.

view details

Fernando Sahmkow

commit sha b70c7fc0d186b40719d98d3759016398cdae0d83

Exclusive Monitor: Allow clearing a single processor.

view details

Fernando Sahmkow

commit sha e8240cc35a26a134738105d4dfc0a95c45912472

Exclusive Monitor: Rework exclusive monitor interface.

view details

Fernando Sahmkow

commit sha a5597dceadc434d792306c33ef49f060c9e26577

A64 interface: Correct changing processor id.

view details

Fernando Sahmkow

commit sha c224bd64a33f05ea86a3efb36bab51bdc92f6cf5

Exclusiveness: Implement ReadExclusive and adapt exclusive monitor to the new design.

view details

Fernando Sahmkow

commit sha 5a6ace45f355eb35cc8e8a98c706f84faf74eff8

User Config: Add option to specify wall clock CNTPCT.

view details

Fernando Sahmkow

commit sha 779c9a2f9e96cc1f773521cee3d8413c47ae5af9

A64: Implement Exceptional Exit.

view details

Fernando Sahmkow

commit sha 52dcc9439503859e6fc989c8b5f4c59247c33573

General: Address Feedback and Corrections.

view details

Fernando Sahmkow

commit sha df70f9407e0f97251cc46c8fa04441b31b8321d2

General: More Corrections and Feedback.

view details

push time in a month

issue commentyuzu-emu/yuzu

hlr_kernel - Handle is not signaled - ISelfController,IAudioDevice,IUser,IRequest

It's of no concern. Somebody added it thinking it was abnormal behavior when in reality it's normal behavior to reset events that aren't signaled.

callmenemo491

comment created time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha df70f9407e0f97251cc46c8fa04441b31b8321d2

General: More Corrections and Feedback.

view details

push time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha dc3be88b23d52be76373fafd0773b5aea5737489

General: More Corrections and Feedback.

view details

push time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha e85233ffb9707d417bb3bc206797ad24a1c50b20

General: More Corrections and Feedback.

view details

push time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha 12a6468a53147096e9a6a361717bf9862420170e

General: More Corrections and Feedback.

view details

push time in a month

PR opened MerryMage/dynarmic

Set of changes to Exclusive Mem in A64 and Configuration

This set of changes do the next things:

  • Allow changing the dynarmic's interface processor Id.
  • Add a new wall_clock_cntpct to remove redundant code when a host timer is used instead of a cycle timer.
  • Refactor Exclusive memory to using both dynarmic's OG approach and QEMU's approach, thus eliminating false negative when one cpu core does a non-exclusive write on memory marked as exclusive in another cpu core.
  • Add an Exceptional Exit for callbacks that exit dynarmic execution in unconventional ways. This is normally done when a thread sleeps/pauses on an SVC and wakes up later. Since the code cache may have changed or the thread was migrated to another interface, it isn't safe to return to dynarmic.
+335 -148

0 comment

19 changed files

pr created time in a month

push eventFernandoS27/dynarmic

MerryMage

commit sha 0d041696f53bea0c1520f805484fa1038a64f68d

tests/a64: Reminder about hidden infinite loops

view details

MerryMage

commit sha 69061d87fa158aa498fa9a4da722b1292b610ddd

exception_handler_windows: Ignore irrelevant exceptions

view details

MerryMage

commit sha c9dec5da8cb2893219c069f92728fb3997c7d81e

Squashed 'externals/fmt/' changes from 9e554999c..9bdd1596c 9bdd1596c Update version d151562bd Fix punctuation in changelog 346500e70 Fix gcc version check a434a8f77 Update changelog 9eb47d951 Fix markup 51c58a56b Bump version 3fc33f627 Update changelog 2e32db5b9 Update changelog c1ce6e01f Update changelog 1c3c80dc1 Update changelog d1d653d89 Implement the L specifier 73c843748 Follow naming conventions e588b02b1 Fix posix-mock-test 1a62711d0 Reduce binary size 5b0288158 Merge branch 'master' of github.com:fmtlib/fmt a133187a8 Update changelog 80ce222ca Fix wide print overload (#1609) 770a94ede Use FMT_THROW macro where applicable 2864e8432 Update readme and add compatibility option 21a295c27 Undo comment change 96c68afe6 Fix -Wsign-conversion warnings 664dd88e3 Enable FMT_STRING() use with types other than string literals 69779b4ed Fix handling of small precision in general format 01a172c96 Add .vs to .gitignore 08ca40ea9 Detect /utf-8 in MSVC dd97f4920 Improve exception safety in dynamic_format_arg_store 295116948 Move FMT_USE_FLOAT and friends to fmt/format.h d3e668418 Allow disabling floating point support (#1590) 52d0e1bbe Don't use properties when setting FMT_LIB_NAME 5d32ccfc3 Add back missing OUTPUT_NAME in target properties. (#1598) 3cf619de5 Simplify dynamic_format_arg_store 2559983e7 Color formatting fixed for wide strings (fixes issue #1594) (#1596) 026f99178 Simplify dynamic store 9f70fc3e7 Minor tweaks for dynamic_format_arg_store 6012dc9ab Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 85050aa2e Ability to join elements of std::initializer_list was added ff486a72a Allow leading zeros in precision (#1579) 678341275 Deprecate fmt::char8_t 6f01b6ebb Fix a typo in CMake config: STRINGS -> STRING 61c5a5160 Fix handling of empty tuples (#1588) 02bfd8a9a Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes. 3c24052cf Workaround 'cannot call member function without object' error on gcc 4.9 f72a905eb Fix handling of volatile enums 941d5e147 Workaround broken fallthrough attribute in the PGI compiler (#1583) ee2b828b9 Tweak a comment 5bb885665 Workaround for broken [[deprecated]] in PGI compiler (#1581) 1c0c59d4a Fix empty debug postfix b1adaa988 Remove gcc 4.4 workaround 48e8d0ebe set_doc -> set_verbose ce0097915 Cleanup CMake config db4a6cfbf is_static_compiled_format -> is_compiled_format 29a1ea795 Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL. 8a06ca84c Fix ambiguous overloads of format & format_to 153f753bd Deprecate undocumented _u suffix eafd07986 Improve width computation 0c6919ec7 Make FMT_DEBUG_POSTFIX a cache variable (#1566) 197a5c372 Apply clang-format 68742e1d8 Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573) 1e8493196 Make compile-time checks in format_to handle references 58e6c84f5 Fix simple -Wsign-conversion cases. (#1571) 75a4525e5 Move FMT_CLANG_VERSION definition to core.h (#1568) 6ccb2e241 Add FMT_NORETURN to assert_fail prototype. (#1569) bed134a4a Tentative fix for default template param in friend error b2d3a86ec Make FMT_ASSERT work in constexpr on clang 4.0.1 13d82e32b Don't use internal GTest API 2161a73f2 Fix FMT_FORMAT_AS const specifier position (#1554) e00997b00 improved use of find (#1560) 0415cf235 add const begin and end overload to buffer (#1553) 3bafd0749 Fix to_string docs f733882b5 Remove misleading FMT_USE_WINDOWS_H dc22360c3 Workaround broken UDL templates in GCC < 6.4 1f1b50707 Make formatter override implicit conversion to a C string 24924128e Fix a link error in gcc8 (#1548) c54cd7180 only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set 43e9b29e5 Only use compiler features if available b55ea5870 string_view::char_type -> value_type (#1539) 4098970db Update README.rst 314e15001 Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535) f499b393d Apply coding conventions 6c30f4144 Configure fmt.pc library name correctly. 1acb73f97 Fix formatting std::chrono::duration types to wide strings (#1533) 09a13244c Disallow passing non-string-literals to FMT_STRING 419db8baa Fix length computation of constexpr C strings 9fc4161f5 fix interal compiler error when building with mingw 25d6916b3 Fix so can work without locale defined 0b2eb6501 Add locale example fd1cabe46 Workaround a bogus MSVC warning a844d7ab8 Add namespaces 47d396809 Add more examples 7800173eb Update fill docs b4218aa0f Test invalid fill 8a3a8177d Bump version e5f2f8ce7 Add variable-width fill support (#1109) 75765bfad Avoid unnecessary unsigned overflows (#1515) 9bd9738da Remove static and simplify names bd5f903f2 Add a locale example 06e437fd9 Move docs to the proper place 1bd4f54fa update format 11cc2903e re-fix url link b124e3e8e fix url link ffd5f3469 Correct display format 0f0e5ddf5 Add vcpkg installation instructions 1f110702a Remove redundant braces 4ccbe4b5f Avoid namespace clash for fmt 40638a75b Use C++11 compatible std::is_same operations c8dd9cc99 Use type_identity to block unnecessary template argument deduction (thanks Tim Song) 4bbe57ceb Work-around for nvcc 55b613005 Use C++11-compatible operations ae3ea156e Fix for older versions of intel compiler 77165fdf8 Use FMT_NOEXCEPT instead of noexcept directly 65ac626c5 Improve join docs cd0b3f969 check if _SECURE_SCL is defined not equal to 0 cef1e4354 Optimize grisu_gen_digits 0201c8db2 Restructure float_format 9e3f3e8cf Fix handling of output iterators in format_to_n (#1506) aa07c5765 Move vprint_mojibake to the internal namespace a73d89e9c Catch invalid uses of fmt::arg cb8e7caf7 Convert 'char8_t' character sequences to 'char' sequences b3fd0005d Suppress a bogus -Wdouble-promotion warning 7b478f9de Simplify example c85efef31 More showpoint fixes and tests (#1498) 455a7c078 Clarify lifetime of basic_format_args 674c326d7 Update syntax.rst 061a9897f Update syntax.rst d2d1c9c56 warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data b6e19e595 Update apidoc f219dcd59 Add fmt::bytes dea7fde8b Deprecate u8string_view 5390e29d4 Enable mojibake 9f6434dcd Improve UTF-8 handling on Windows dac9a7f99 Improve UTF-8 handling on Windows 3ca9533f3 Flatten forward 7eec036d9 Improve UTF-8 support e6b37b4af Handle block boundaries in utf8_to_utf16 8cf4c5206 Apply clang-format 74532c23a Make type a scoped enum b308159be Make round_direction a scoped enum 162995fed Add os.h to docs 8b41362a0 Add trailing decimal point if # is specified (#1476) 1b1c70108 trailing_zeros -> showpoint d7e72a09e Simplify FMT_STRING_IMPL 2201890d7 Apply clang-format and update inclusion guards 6100ed4bb Eliminate NVCC NVidia compiler emits unreachable code warnings 1afe201ae Handle block boundaries in utf8_to_utf16 cd2b99032 Chore(readme): use https (#1481) 9acf89fef Mitigate MSVC issue with min/max macros (#1480) 9ea42fb26 Rename posix-test to os-test da2569827 posix.cc -> os.cc 35959a31d Move OS-specific APIs to a separate header ec2463c90 Implement utf8_to_utf16 using utf8_decode 0012917f6 Add a UTF-8 decoder 9e450911f Give an error on precision overflow 068d20bc3 Avoid shadowing warnings in FMT_STRING a99fbe67b Apply a typo fix retroactively adbed11ed Fix a typo 8ab1c5c6e Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433) (#1470) a770009fc Improve error reporting 598e6042d warning C4468: 'fallthrough': attribute must be followed by a case label or a default label e09814dc9 Merge branch 'master' of github.com:fmtlib/fmt b272fb360 Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469) f94b7364b Update version 7abec071b Update changelog b7eb8c892 Prepare for the next release ae7c50185 Reintroduce sprintf_format for ABI compatibility 9f2e7edae Fix handling of types convertible to std::string_view fd52de0c6 Add FMT_CUDA_TEST CMake option to enable cuda-test f675cb887 Remove redundant cast 73a16b827 Fix handling of int128_t in format-impl-test (#1461) 72879db40 Clean-up sign-conversion warnings in public headers d3aa0c3a2 Clean-up sign-conversion warnings in test code 31de9a1b8 Revert "Clean-up sign-conversion warnings in test code" 227bfe62d Clean-up sign-conversion warnings in test code 95dfdc6cc Update README.rst 5916ff63c Update README.rst 1ab80aa92 Fix handling of types with custom formatters that are convertible to std::string_view 4f4d87661 Remove '%' from the docs f443bd3ba Ditch decimal_formatter (#1363) 1219b65f2 Relax fallthrough attribute detection 071794ec6 Update version d22e4ad85 Remove trailing comma 983806b0c Update changelog 02af5beb8 Bump version and update changelog 123e7f7fc Revert #1433 because of build failures (#1450) 168460f02 Remove TYPES a64f60c84 Remove unneeded FMT_API. 1a599117d Export assert_fail with FMT_API. This fixes dll build. b160123e3 Update ChangeLog.rst 598158856 Fix compilation with MinGW 8bbe76af3 Add a missing decimal point in exponent notation with trailing zeros 4ca6821e8 Update version 7111a1eb9 Bump version ae00bbdc9 Update changelog e71e07d9f Update changlog 0184df702 Update docs 1cbae6e9b Put vprint declarations in one place 159f89e2b Fixing installation directory of '*.dll' files on Windows 4b120b68a Clean up includes 186b225d9 Update changlog 4cbf4888e Update changelog e31f2b3d0 Update changelog 62da1db62 Avoid wchar_t instantiations 3bc28fcc6 Squelch MSVC warning exporting subclasses of runtime_error 3c05fa46c Update changelog ba6e330fd digits -> num_bits 6037b3cae Fix dangling else problem in FMT_ASSERT fafb03fa6 Fix handling of fallback_uintptr 2f9acd183 Remove dependency on <cassert> aaf829bfb Fix fallback pointer formatting on big endian, take 2 b994a0ab1 Fix handling of missing fraction in snprintf_float bb205d940 Fix fallback pointer formatting on big endian ef7369ce9 Update docs 40e4c227d Update changelog ea54b21e7 Remove invalid noexcept annotation 9cbf4b087 Fix -Wconversion warnings 1200a34e1 Update changelog 9c7e2a6c6 Add missing newline 34e921f6f Update docs c3be0f593 Refactor floating-point formatting c68703c9f float_spec -> float_specs 9a21728b0 Remove gen_digits_params 3de36e934 Enable -Wswitch-enum in CI 4afb39bc2 Update README.rst 7ffa62db1 Fix precision handling in snprintf_float 0d07db123 Fix handling of streamable and convertible to string types d19ed6716 Fix hexfloat buffer reallocation 99b6e928d Fix handling of types with deleted rvalue conversion to string (#1421) 57cd3f72e Update comment 111fc127f Remove fp::operator- 6003ec3f2 Simplify Grisu implementation 8877a6772 Instantiate snprintf_float 75fff1db6 Minor cleanup 28d7191c2 Don't print trailing zero with fixed, precision=0, and showpoint (#1417) 43271ba8e Handle null terminator at the end of the buffer 63a9f3fcd fix bad oss fuzz link in the oss-fuzz badge 4cf59ce73 Integrate Grisu and sprintf digit generators 7395472dd Refactor floating-point formatting 9108b25da Merge branch 'float' 4d366c68b Merge branch 'master' of github.com:fmtlib/fmt ded1e7679 Refactor floating point formatting c7edd8e57 Cleanup FP formatting 75108a56f Don't print % for nan and inf 3e1f70fe0 Merge write_fp into write 125fc5e52 Update comment 6793ffc1d Update README.rst f4fcc5fd2 Update README.rst 4de41aa65 Move basic_writer::write_fp to where it belongs 404a880bd Make parse_arg_id more readable 092d2dc7b Merge safe-duration-cast.h into chrono.h 093e55421 Remove redundant qualification d0696b0aa warning C4456: declaration of 'num_digits' hides previous local declaration 66d7746bb Use grisu for exponent notation e9bff7881 Don't parse % unless FMT_DEPRECATED_PERCENT is set 57b6f2966 Deprecate the fmt macro d79493e5e Remove Grisu2 78842ce0d test: add default constructor for a const value 5420bcce2 Make % an opt-in to improve compatibility with std::format 56a2e2075 Refactor float spec parsing ed117baa4 Replace bool with float_format and add exponential f26446290 Move float_spec_handler to internal namespace and update asserts 7e1cb3237 Fix indentation f67783d7e Clarify that numeric alignment is deprecated 1c6d85f7b Apply coding conventions to examples 4a1da44f9 Apply coding conventions to examples 080b6899d Tweak the docs c01ec54fd Document and clean basic_format_parse_context b0c2ab93f Bump version 9b7fe2a4a Don't use POSIX API on UWP c58b7d9c2 Use overridden locale in ostream ceff9b0b2 Tweak the docs 3dc8639f8 [docs] Added conda dcde089b4 Improve POSIX API detection 2145a7bdc Move has_formatter into the public fmt namespace. (#1407) 52ae134f8 Remove broken CI config 0d6dd0cc6 Correct basic_string_view from string ctor 1f918159e [clang-tidy] Replace deprecated C headers 6868f888b [clang-tidy] Add missing override 87cd545a1 [clang-tidy] Replace {} with = default 12f9437e2 [clang-tidy] Use auto bb0c8bfea [clang-tidy] Add noexcept where move is used e6e829890 [clang-tidy] Add parentheses to macro arguments 0f0848e4f [clang-tidy] Use braced init list a1fb5c733 [clang-tidy] Changes suffixes to uppercase 8a411c2bc [clang-tidy] Turn deleted function to public 0047dc10a Mark apidoc as rst 263cdef8a Merge branch 'master' of github.com:fmtlib/fmt d4ca54253 Update docs 5bb7b28e1 Document members 1409dfe76 Try fix CI f1559e1d5 Use grouping() from locale for specifier 'n' ffd05e65e basic_parse_context -> basic_format_parse_context per standard and document 0889856d6 Fix UTF-8 truncation d6eede9e0 Remove redundant ctor 213e09644 Workaround X11 madness (#1388) 6bfc9af8c Add double support to compile 3487f1b9c Always inline grisu_gen_digits and disable grisu2 by default 791294d17 Apply get_cached_power optimization by jk-jeon 8e700619b Simplify format_handler 58c6f8c7f Make unsigned-integer-overflow sanitizer happy (#1377) 40414b344 Don't emit trailing zeros in exponential notation (#1376) b7a157401 Simplify grisu_writer 7aa58c30b Simplify NVCC checks 8e9bffa98 clang-format ce4d87acd Remove obsolete comment and clang-format 21acc2af4 Fix more Visual Studio 2019 pedantic warnings (#1371) 00669427d Patch compiler error when building using nvcc d39ebf3ff Optimize counting 6498bc6d3 Simplify grisu_writer a967dcbe2 Improve handling of signs 8498bc97d Initialize all the things e2ea94067 Handle assymetric boundaries 2bc5585ff Fix computing lower boundaries for smallest normalized double bb728a572 packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask 36d1390e6 Implement round half to even 599e0aef4 Support single precision floats in grisu formatting 91f7619cc Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) c4dc6bef2 Apply clang-format 646966e97 Reduce bigint capacity a5abe5d95 Handle negative exponent and nonnegative power 1cbc5fa6c Handle negative exponent and rename value/pow10 to numerator/denominator f7a5748fd Partially implement (FPP)^2 0e94b931a Fix a linkage error introduced by #1360 (#1362) 5e58eb97b Implement add_compare 3a15ea3ea Rename write_double to write_fp b87ac4d84 Distinguish float from double a927dda9b Use words for packed constants dd11d4584 Encode types using 5 bits b55551f90 Implement more comparison operators 96f91428c Add defaulted copy and move operations to format_error and system_error (#1347) b732f28c0 Deduplicate color vformat and vprint a82c1dc6d use memory_buffer to make color print behave atomic #1348 (#1351) 2730e9018 Fix compile error in printf with gcc9 (#1354) e4d6d9d7c Implement divmod a1079e9fd Fix undefined in format-test (#1349) b66bb6b71 Fix undefined in core-test and printf-test (#1345) b60114533 Implement more bigint operations c41cea8b1 Initial implementation of square 0c7650373 Fix handling of types convertible to std::string_view 057101370 Repoint one more Python 2 link to Python 3 d2c9276fc let README point to python 3 instead of 2 0fc7bd157 Fix ambiguity for types with dodgy conversions b4f1988c4 Provide overload for `fmt::join` that handles `std::tuple`s 4b8f8fac9 Update README.rst 3b2fc033d Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY ac59d9f3a workaround VS2019 Update 3 compiler bug. (#1328) 8f27ce4d8 add test for multiple compilation types 89b0c71fa fix name clash in header-only mode f6a783ad2 fix `get` ccc8f5db0 Disable integral operator<< (#1316) 20fdb88a1 Remove redundant and nonportable test (#1313) f29901097 Don't use const char* overload of operator<< (#1309) 758446c80 Fix a warning (#1319) and simplify code f7aedc5fc Fix shared build on Solaris 840a817ed add oss fuzz badge 79c923ba2 fmt.pc.in: Fix for cross compilation 5dc577c06 Update ChangeLog.rst c6d1a94a9 Fix fallback_format (#1306) 0656045d0 Fix format overload that takes text_style (#1305) c85ae23c7 Add max_value b3bf66576 Implement multiplication and part of assignment from pow of 10 0887887e2 Implement left shift ac71d853b Refactor normalize and clean up 6649b8e0c value -> bigit 56b5c192a Add a bigint stub and reenable grisu b2f0b6e44 Tweak comment 3d9f3c163 Integrate new format string compilation 19547d514 Update index.rst 972ffd315 Update README.rst 2ed412fa3 Update README.rst df4dcf2ec Fixed vs 2015 warning about unused variable when grisu is off f7a4b4ab9 Make numeric alignment optional 611cf0b3c Format octal 0 as 0 58a8f2f53 Add ccache to the list of projects 1882b9687 Reduce the numer of ifdefs with an empty (u)int128_t fallback 6de0454b4 Add support for built-in __int128 when available 16e3c48bb Move definition of FMT_USE_INT128 to core.h 8ce5f680f Rename internal::is_integral and internal::is_arithmetic 2fd8f9ec8 Initial implementation of optimal compile-time formatter generation fe642d764 Clarify use of the core API in header-only mode (#1296) a128b5b2c Simplify format string compilation 466128de0 Remove unused code and refactor 22e98a5b6 Make compile work with user-defined types f18a3f36a Remove string_view_metadata 7cad33563 Refactor format string compilation e1ab6bc00 Simplify format string compilation 24a88545d Add -Werror to tests 422e7b9d7 Fix compile-time checks for user-defined types (#1292) d1dd9d532 Document floating-point n specifier (#1291) 9a56a608e Fix warnings (#1288) c76957565 FixedEnum -> StrongEnum and make it a regression test 200ee6f10 Fix minor clang-tidy warnings bcd9b9331 Map not int enum to correct underlying_type (#1286) 345ba07f1 Add a CUDA test 9e2490be4 Rename precision parameter 3f75e2b69 Make buffer_range public and update custom formatting docs (#1281) 744302add Workaround broken [[deprecated]] in Intel compiler (#1273) f5556225a Eliminate shadow variable warning ad3c7855e Fix typos. 7512a55aa Update version 9bd2f1f9a Temporarily disable Grisu b9815cf04 Simplify part_counter fe00cddde Move part counter to the namespace scope 1a7d172dc which_value -> kind 006c2546f Get rid of basic_prepared_format 4ce006fb6 Simplify format string compilation e2e557e27 Remove preparator a5f470eb1 Test and fix compiled format_to_n and formatted_size 4070c1d80 PrepareTest -> CompileTest f8b59251c Remove unused preparator 643aa4c8c Simplify format string compilation ffe29a92f Get rid of internal::compile e94d72366 Fix compiled format string version of format_to_n a9337395a Remove unused variable 562a9f499 Remove parts_container_concept_check b257c56e5 Fix size types 1488df339 Bump version b918e3ff8 Fix docopt usage 23b04ca6d Update usage instructions 5d5918a74 Update usage instructions 413d97b33 Fix formatting in changelog 790fd90f4 Update changelog c0890be77 Update changelog 5a4b24613 Update the default floating-point format docs (#1270) 45dc3486f Update license 5a353fa8c Draft license c84d227da Update changelog b2d4ca154 Workaround an issue with std::filesystem::path being an infinitely deep range (#1268) 2aae6b120 Fix doc for importing header only target with CMake 9f09b8eed Fix a warning 2bb8120d9 Fix a warning c1e97392b Fix warnings 4e99e09bb Fix warnings 1607a0187 Suppress a warning e8219952c Restrict fmt::compile to literal strings 544b53733 Update changelog 83c13a1fe Update changelog 2546dafec Update changelog 02c04b173 Update changelog 5360ab0b5 Fix iteration over named arguments (#1168) b615eca96 Update changelog 22a42c0b0 Cleanup compile implementation c63624ed4 Update changelog 211d31240 Don't terminate on I/O errors in report_error ef55e74e0 Update changelog 612669d34 Update changelog ba63ac8c1 Make format_to a non-member 3fe49163b Revert "Make format_to a non-member" a5bd3ddb2 Make format_to a non-member 3df0ea34e Remove unnecessary overloads 436acf348 Make formatted_size & format_to_n non-members 823128049 Make format a non-member 1dfa2591b Make operator _a constexpr 6f2dd30e3 Simplify udl_formatter return type 431d0f85c Use basic_string_view in non-template UDL ad71f5a70 Use forwarding references in UDL template d0f2f3b81 Update usage.rst eac2796ce Fix locale detection ee3625746 Internalize format_part bbf0bada3 Simplify compile 3730b4f03 Cleanup compile implementation 25ff2efc0 Update changelog 9393fe26f prepare -> compile b48ffc14a Update changelog 3268531bc Workaround a broken C locale on Windows 8bd59ec93 Use fputws for outputting wide strings 1235f0a24 Fix typo in usage.rst 4fb73d114 Update README.rst f9ceefb0f Fix a warning and is_negative usage 6bcc3fd21 Fix warnings 6a497e1d0 Fix warnings e9b9b0aef clang-format ec24342b2 Fix more warnings 230b24944 Fix sign conversion warnings cadd92d69 Fix #1232. 41076d1de Use `FMT_THROW` in fmt/color.h. d561cb47a Opt-in macro to enforce use of compile-time format strings 699fe8e71 Remove const qualification in compile-time checks da2d33f1f Update changelog af4734fd1 Fix warnings a3a74672a Update signatures c11e68305 Update signatures dd8cc8b0b Disallow passing views as lvalues f6f0415b8 typedef -> using c92dc3746 typedef -> using e3f20d3e1 Remove gcc 4.4 workaround and use proper alias templates (#940) b43881232 Clean up is_output_iterator bc15e3700 typedef -> using cf5ebf205 Cleanup 9c20e72de Cleanup 79209598f core_format_specs -> sprintf_specs 5488d0b53 spec -> specs e4f84ee1c Refactor format_specs for #1109 and #940 8e0dcd20b Remove old deprecated functions 1d3e3d8c0 Make the 'n' format specifier work with grisu disabled bc628f8d4 Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED (#1214) edd13fcc1 Fix small number rounding with fixed precision in grisu 6a031347e Remove unnecessary qualification bc14c6ee2 Use the decimal point from locale 476f25cd8 Remove ancient gcc workaround c9d5a08ed Add the 'n' float format specifier f487ddbdf thousands_sep -> add_thousands_sep d8fd1699b Make data names follow naming conventions c286ffc88 int_traits -> uint32_or_64_t 1289782f0 Get rid of add_thousands_sep 2249f5571 Simplify thousands separator handling and cleanup e76446958 Cleanup and remove deprecated visit de37de912 Remove deprecated color API df1a3a141 Remove null_terminating_iterator 78dec87a4 typedef -> using ded0a3bb3 Internalize undocumented basic_writer 83174f2a1 Refactor ranges c2e84ee9c Fix FormatTest.StrError on Solaris 2711cb167 Apply clang format and other minor formatting tweaks ab0ba8a9d Don't emit decimal point if there are no trailing digits (#1210) bd3fd3bfd clang-format 260c11590 Fix formatting of 0.0 with (#1210) 9d97201ed add oss-fuzz support 037b84f21 Fix warnings e37ee419c Export exceptions destructors e3488fcae Fix Warning d5d586561 Move strtod_l check to CMake since it's very system-specific 29ef7d31e Fix a warning af83192d7 Fix warnings 6952732b6 Remove misplaced checks b97e5d8c2 Remove deprecated fmt/time.h 572b077db Fix warnings 72e519a4b Add formatter<std::string_view> 635e01fe7 Update <format> to the current wording 0e72c9804 Make undocumented output_range internal f13906f40 back_insert_range<internal::buffer> -> buffer_range 22ddd4b98 Simplify feature checks bb827341e Add FMT_FUNC where necessary 64c54703d Cleanup 1c3197b8d Fix warnings fd2292f13 Cleanup checked iterators 4912cff65 Fix handling of mapped types in compile checks (#1200) 463984383 Cleanup e29708ee5 uintptr -> fallback_uintptr to avoid confusion with uintptr_t f03a6c532 Cleanup 6c3d584e6 Simplify warning suppression 12f468388 Make iterator_t an alias template 874d6727e Remove workarounds for pre-C++11 compilers a9940192f Fix warnings 34b541835 Fix warnings cbbee1b38 Fix handling of hexfloat 92a44db11 Fix warnings d05d42751 Remove old msvc workaround from arg_formatter_base and fix warning d32fe0f3f Fix hadling of nullptr e5422db4b Fix handling of uintptr_t 9d7b64a25 More cleanup 5e293bd97 Remove unnecessary qualification 4a502d980 Add remove_reference_t d384cdd39 Make is_contiguous_back_insert_iterator internal 32544b610 More cleanup 39f522a13 get_types -> encode_types d7d2bebf9 Remove redundant typename 9427f15be Fixed issue with formatting to an array of chars 87fbc6f75 get_type -> mapped_type_constant a48daa60e Remove remove_volatile afdbbac75 Cleanup e33fe14f5 Simplify visit e895da2ec Clean up value e1a67b528 Remove TODO a291f07e1 Clean up argument mapping 5d9100fa2 Move char8_t to fmt/core.h 4faadff0a Add preliminary user-defined type support 5d4873359 Clean up value construction 0f0b42861 Cleanup 209db68b2 Get rid of FMT_CONSTEXPR11 cb4c59495 Deprecate convert_to_int 40779749a is_formattable -> has_formatter b3cf8613b Make formatter specializations override implicit conversions 3fdba0492 Reduce the number of nontrivial formatter instantiations f5f3ffac5 Merge string make_value overloads a38b99a18 Fix a regression in named argument handling introduced by prepare aa31028b2 char_t_impl -> char_t 0787d6974 Simplify SFINAE bae00aa8d Simplify is_string 388bb389e integral_constant -> bool_constant 7e39c7e6f Put stringy stuff together 3eff8f94d Update docs 469a4bbd3 Use enable_if_t d2ee5f240 Merge tests c264e641e Add conditional_t for pre-C++14 4aa0dc578 Fix docs 064ce6b6c Specialize is_char for character types 7893d8539 Clarify why we cannot have nice things 5bafcb437 Add comments about things broken in MSVC 153024255 Fix signature in the docs eddb84cfc Fix formatting of exotic characters 7e42c65bb Document a more useful to_string_view overload 1e6e87cb7 Update docs 0c6a6e025 Get rid of the FILE* hack and reword apidocs 1653244c6 Fix compilation issue on VS2019 (#1186) (#1191) d54e64b3c Make buffer_context an alias template ec6651087 Remove old is_constructible workarounds and replace typedefs with using 4d4b8c238 FMT_CHAR -> char_t 56d2b9110 Install git 89d6c959b Fix cmake link 76ef39fc5 Update vagrant config af2c73772 Implement parsing of string_views 9df0e2d1f Implement string parsing 5b7bbf885 Revert "FMT_CHAR -> char_t" 4c650057a FMT_CHAR -> char_t 2833c76f2 Move char_t to template param to reduce symbol size 67feef558 Make enable_if_t more std-like and move to fmt namespace 78daa50ff Fix handling of chrono durations with minimal signed rep 87e4ea290 Fix a warning c56b17029 Add msvc2019 to CI c929684e3 inlines count_code_points(basic_string_view<char8_t) f57227a14 FMT_ENABLE_IF -> enable_if_t 634f707f2 Simplify char_t and remove msvc2013 from CI 406e632bd result_of -> invoke_result_t 49f78a427 Demacrify 637bf3c6d Workaround a bug in clang-format 8302c2f33 fmt::internal::declval -> std::declval d07cc2026 FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr 4a7966c77 Drop gcc 4.4 from CI 9b3c24b99 One weird trick to simplify docs; doxygen hates it 30bce6c14 Fix a few chrono formatting corner cases (#1178) e5512c5d5 Use static_assert instead of SFINAE in arg(...) afc571aed Document join and relax its compiler requirements ad360a62b add gcc 8 c++17 release build 3cf12d7b1 add gcc 8 c++17 build bb254d146 Disable std-format-test by default 291ba837f Remove wrong compile-time checks from printf (#1173) 01c631af9 Implement unsigned and long long parsing 4fcd4a4bd Reuse parse_format_string in scan 2346779d6 More documentation fixes afc1a74a6 Minor documentation fixes ad0eade47 Remove MSVC nonsense 28c187bcd Capitalize titles 91bb3aaf0 fmtlib.net -> fmt.dev 5e7bdf1b9 Clean up vagrant config 570453f27 Add a vagrant config for testing gcc 4.4 ef6282fc4 Fix gcc 4.4 build e3e470bb6 Remove deprecated format_decimal 67179dbc2 Remove deprecated format_decimal a5ffa735d Fix gcc 4.4 build 5ee080463 Experiment with scan API 25b72fc4c Move <format> to tests not to confuse users d179ec5f8 Simplify Grisu 2a9e8b52d Fix advance_to() and begin() using iterator (#1159) 2c77562b1 Fix ambiguous formatter specialization in fmt/ranges.h (#1123) 98b377529 Add support for exotic string_view iterators (#1156) b488df6cf Fix Grisu3 stopping conditions f4dfd6e30 Suppress all clang-target-msvc test warning in CMake and other misc fixes (#1151) a6e8ed15c Disable UDL templates on GCC 9 by default (#1148) de5da5091 Fix formatting of extreme durations (#1154) ea2976e6d Move internal::uintptr_t test to format-impl-test (#1152) 77d6036cd Fix unexpected trailing decimal point (#1153) ccc318e80 Update README.rst 4c8efd694 Update README.rst d22d11b5f Update README.rst e9bab6d02 Improve handling of large durations f52c09f92 Fix format_to_n docs in 5.1.0 118d8bccc Fix compilation error under MSVC 19.21 (#1140) 6828d549e Add FMT_ENABLE_IF_T 3fd134be0 Move test_count_digits to format-impl-test and disable gtest warnings (#1147) ca7c1f89d Fixed a compile error under MSVC. ca978b3d2 Fix handling of nan durations c1d430e61 Improve handling of negative durations 38a85502e Use the same rep type for seconds to prevent overflow 241414028 Eliminate shadowed variable warnings from gcc-7.2 29c10fbf6 Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc (#1134) 4a4d72f91 Fix handling of invalid string in chrono formatting b3cc9c056 Merge remote-tracking branch 'upstream/master' into invalidcolons 2e3352fd0 provoke assertion 4c721e3a2 Fix chrono formatting with invalid argument id (#1132) 8d8ea21c6 Partially implement Grisu3 40a797564 Remove trailing zeros cb46397df Fix typo 134904c88 Re-enabled constexpr tests bd516e342 Convert negative precision to zero in printf (#1127) 5efb24dd2 Add specialization test 946498cfb Fix handling of zero precision 6b2086391 fmt::ptr: support unique_ptr and shared_ptr. d306585a3 Don't inject internal names into std (#1120) 544b92793 Don't detect C compiler dc94010fa Remove char_traits (#1117) 397e8dd9d clang-format 2b415b7af Restructure printf_arg_formatter to make it customizable 5d755d0a4 Fix handling of volatile char (#1115) bade46aae Optimize grisu using uint128_t 41fbaeb3b Add <format> test 8bc0adb9b Get rid of obsolete cmake stuff 1763d0e7a Add MongoDB to "Projects using this library" f569c1ba2 doc fix: time -> chrono ccd70f59e Workaround bogus unreachable warnings in MSVC a4969ebe0 Link to fmt(...) docs from index a6ad29aa3 Update <format> 52eb3fe27 Update <format> 09e2ac5e4 Update <format> df4ea0c76 Update <format> 718f60acc Fix shadowing warning (#1105) and clang format aeb5ad3ce Enable [[noreturn]] some. 280839548 basic_buffer -> buffer 6e37c2003 Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11 3de3d76a3 Add compile features for cmake 3.8+ 07d5a86a7 Fix warnings ab1474ef6 Workaround segfault in doxygen and apply clang-format 918ab77ba Try fixing doc build 735b1fadc Only update key on Linux 3c531b735 Fix expired key error when installing with apt f10a7e2e4 Test exotic pointer formatting bd8177177 Add support for platforms without uintptr_t 0302927f5 Optimize pointer formatting bb6842ba3 Simplify to_string b23c8633f Detect presence of uintptr_t b588d7f35 Fix a couple of deprecated things. 018d8b57f Remove broken snprintf 1987db663 clang-format a6d1ad741 handle fwrite results #1098 e979c782d Extend basic_writer with write() method for doubles with optional format_specs argument 9e1531c1e install pkg-config file into libdir 0a66e4cbb Update README.rst 91acfe685 Fix UBSAN warning b7e6bf967 clang format da0ea4161 Make compile-time checks work with fallback formatter (#1088) 7ad3015f5 Added missing typename to FMT_STRING. (#1089) f0b572da0 Update wording test 6d416cf67 Forward declare is_string<FILE*> specializations b742f622a Create PR template to help agree to the licensing terms (#1083) 02a6f16b5 Update LICENSE.rst 294fd7df9 Remove isinf workaround 17c6900f8 Update docs 0faa968cc Make floating-point formatting locale-independent bc784d362 Remove isnan workaround 53379dfd0 Don't set CMAKE_BUILD_TYPE if fmt is a subproject (#1081) 76d326a2a Enable grisu for general format c21c6b8c4 Move enable_if to template params ec645ca26 Update readme and doxygen config ae0b0dab9 Remove obsolete TODO 5466a5b41 Document inherited members 9b392a683 Update readme 0fa65cf32 Add example fdd0149e7 Update readme e19a95b27 Update readme ef3927497 Update readme a7f68dcc0 Update readme 1428b3429 Update readme 97619e27a More fixed precision tests dd6cc0e6a Merge time-test into chrono-test a939c7595 Merge fmt/time.h into fmt/chrono.h 17e4b5392 Make chrono formatting work without exceptions (#1062) a82b3680d More tests and fixed precision fixes 287342dab cmake: default FMT_PKGCONFIG_DIR to a relative path e28429ee7 Prevent overflow with zero precision 49bbf3c87 Simplify shadowing warning fix 5e5506f83 Update readme e06523361 Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration ebec00138 Reword licensing part 8daa3c683 Clarify contribution licensing 0d418a8d5 Update and rename CONTRIBUTING.rst to CONTRIBUTING.md 4c66dad8c Refactor digit generation b1f7cca89 stop -> handler and swap args f90d33ca1 error_ulp -> error 78c755dc4 Update readme f23017015 Update readme ced8aa8c9 Update readme 77d54251f Update benchmark results 1632f72cb Test get_round_direction 8129b9bc4 Test that the library can be compiled witout locales 835087dd0 Add color-test 4523053e6 Fix typos. 8407f4cb2 Round close to zero fixed precision 49d244c06 Don't emit more than precision digits (#1072) 3466d9c84 Don't override fixed formatting depending on exponent (#1072) 93d22dec3 Implement rounding up and clean up FP formatting d560ddac2 Temporarily disable Grisu for fixed formatting 2d981bb13 Add documentation for '%' format type. (#1071) d8434baa0 Declare the size of RESET_COLOR. 8f7780a4f Correct comment 2e526a664 Fix handling of output iterator in ranges 79b79f329 Add support for '%' type to output floating point values as a percentage. 287eaab3b Increment output iterator in basic_writer::write for character types (#1056) a97757736 Use grisu for fixed precision 327d4b6e9 Fixes for some pedantic warnings (#1054) 8af651be3 Implement fixed precision 187bd1b8b Clarify lifetimes of named_arg parameters (#1051) 4e5694fd0 Update arg signature 82c24edcf Workaround a bogus Qt Creator warning ed138d794 test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED 0476a51cb Add Sublime syntax (#1037) c5aad69f2 Restore deprecated begin() 5b0006476 Make stopping condition configurable in grisu a44238f2e Improve grisu 83808076e Minor cleanup 9660ea1bf Simplify format string checks 4a9d67636 Gradle 4.10 >> Gradle 5.2 f041f128f Minor cleanup e4572e5de Update std implementation 442fa1bd4 Decouple format and parse contexts 744e66bb0 Deprecate format_context::parse_context() d231d68a8 Fix handling of custom context 01f34d0b0 Fix library deprecation warning 9a0a24f90 Test is_streamable with overloaded comma operators 430e6ac9b Protect against overloaded comma operators in decltype 467520e7a Remove unused macro 5a314a528 Eliminate extra copy on floating-point formatting 9989e7f4e Update benchmark results 31510cb43 Fix warnings from Visual Studio 61c9b563c Replace 'std::result_of' by 'std::invoke_result' where possible (#1025) 864b9a220 Correct the comment 153833683 Remove unnecessary checks 22de5a755 Fix warnings from Travis 355eb6d29 Enable grisu for shortest roundtrip (default) formatting b8d34e0db Fix rounding e61cac687 Minor grisu improvements 7fbbfed8c Fix warnings caused by usage of deprecated functionality c3268f4e5 Remove use cases of deprecated functionality 34951f199 Replace comments regarding deprecation with attributes 3f52336e6 Simplify formatter selection 7ca8fc3b1 Fix a bogus warning 5289dd600 Test formatting of special numbers bf6529f2c Update docs 070061224 Implement 'chrono' formatting specifiers '%Q' and '%q' 06c005b7b Clarify that compile-time checks don't support named arguments 4f6fda558 Add a grisu test stub 9f70b034e Implement precision for floating-point durations. 7cdb1e5e4 Workaround broken is_default_constructible in MSVC 5f1ceebc7 Make formatter<T> override ostream<< for templates (#952) 1b11b000c Update readme 83f052930 Add code from p0645 fdd8e333c Fix compilation with locales disabled (#1011) dad1eec84 Workaround unimplemented T... on gcc 4.6.x (#1008) b0cde860a Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' (#917) e05dfb088 Fix compile errors due to name-hiding and an unused function argument. dde095fab Revert "Reorder defines" 4a059914a Reorder defines 58b6f8db4 Format the code using clang-format 9a777b9e1 Implemented fmt::prepare() da55e96f5 Install ninja to fix android build dc8f8ce4c Fix handling of dynamic width in chrono formatter f5cc77cea Get rid of 'null_terminating_iterator' in printf.h (#980) 39623a740 Replaced usage of gtest's internal scoped_ptr with unique_ptr. ae1de3a8d Add support for using text_style in format and vformat directly (#993) * Closes #993 1b8a216dd Improve docs b3ad759a0 Bump version and correct changelog git-subtree-dir: externals/fmt git-subtree-split: 9bdd1596cef1b57b9556f8bef32dc4a32322ef3e

view details

MerryMage

commit sha 591e7667f24b8e20c615d3c14ea44f58728789e3

externals: Update fmt to 6.2.0 Merge commit 'c9dec5da8cb2893219c069f92728fb3997c7d81e'

view details

MerryMage

commit sha 94d0d33e026701b0a848cdd3b362202c59f54927

Fix single stepping for certain instructions Several issues: 1. Several terminal instructions did not stop at the end of a single-step block 2. x64 backend for the A32 frontend sometimes polluted upper_location_descriptor with the single-stepping flag We also introduce the enable_optimizations parameter to the A32 frontend.

view details

MerryMage

commit sha dca983803a836936aa98a1564b059d1504d1be98

translate_arm: ConditionPassed: Some instructions emit no microinstructions

view details

MerryMage

commit sha e7166e8ba74d7b9c85e87afc0aaf667e7e84cfe0

constant_propagation_pass: Fold add and sub

view details

MerryMage

commit sha 24229ab899d48a2cceb475f451f40d3062d8584a

constant_propagation_pass: Don't fold add if we nee flags Results in incorrect flags

view details

MerryMage

commit sha 8498ac34d5a92ca0581ba8d5241abf41d61fdb9c

fuzz_with_unicorn: Print IR

view details

MerryMage

commit sha d86a6f2211e58cb76f8dcdc0ffc7b9b9da6e68d3

print_info: Print IR for A32 instructions

view details

Fernando Sahmkow

commit sha 54d455e510e79c17fbaa00fc7f7f108c42bcc9bc

A64 Interface: Allow changing processor id. This commit allows the JIT to be used per guest thread and change it's core when the thread is migrated.

view details

Fernando Sahmkow

commit sha b70c7fc0d186b40719d98d3759016398cdae0d83

Exclusive Monitor: Allow clearing a single processor.

view details

Fernando Sahmkow

commit sha e8240cc35a26a134738105d4dfc0a95c45912472

Exclusive Monitor: Rework exclusive monitor interface.

view details

Fernando Sahmkow

commit sha a5597dceadc434d792306c33ef49f060c9e26577

A64 interface: Correct changing processor id.

view details

Fernando Sahmkow

commit sha c224bd64a33f05ea86a3efb36bab51bdc92f6cf5

Exclusiveness: Implement ReadExclusive and adapt exclusive monitor to the new design.

view details

Fernando Sahmkow

commit sha 5a6ace45f355eb35cc8e8a98c706f84faf74eff8

User Config: Add option to specify wall clock CNTPCT.

view details

Fernando Sahmkow

commit sha 779c9a2f9e96cc1f773521cee3d8413c47ae5af9

A64: Implement Exceptional Exit.

view details

Fernando Sahmkow

commit sha 52dcc9439503859e6fc989c8b5f4c59247c33573

General: Address Feedback and Corrections.

view details

push time in a month

create barnchFernandoS27/dynarmic

branch : user-config2

created branch time in a month

PR closed MerryMage/dynarmic

Set of changes to Exclusive Mem in A64 and Configuration

This set of changes do the next things:

  • Allow changing the dynarmic's interface processor Id.
  • Add a new wall_clock_cntpct to remove redundant code when a host timer is used instead of a cycle timer.
  • Refactor Exclusive memory to using both dynarmic's OG approach and QEMU's approach, thus eliminating false negative when one cpu core does a non-exclusive write on memory marked as exclusive in another cpu core.
  • Add an Exceptional Exit for callbacks that exit dynarmic execution in unconventional ways. This is normally done when a thread sleeps/pauses on an SVC and wakes up later. Since the code cache may have changed or the thread was migrated to another interface, it isn't safe to return to dynarmic.

Things to do:

  • [ ] Refactor code that uses lambdas
  • [ ] Implement correctly ExclusiveWrites without a monitor.

I'm leaving this code here for reviews and comments.

+339 -60

0 comment

19 changed files

FernandoS27

pr closed time in a month

push eventFernandoS27/dynarmic

Fernando Sahmkow

commit sha 41ed2771992d5b42398e617f4424544959ba7adb

Config: Use cycle counting to limit execution when enable_ticks is off. This pull request relaxes the option enable_ticks to keep doing cycle counting to limit execution. This is because the current behavior of halt execution is prune to race conditions. This is a temporal measure until a better solution is found.

view details

push time in a month

PR opened MerryMage/dynarmic

Config: Use cycle counting to limit execution when enable_ticks is off.

This pull request relaxes the option enable_ticks to keep doing cycle counting to limit execution. This is because the current behavior of halt execution is prune to race conditions. This is a temporal measure until a better solution is found.

+12 -38

0 comment

3 changed files

pr created time in a month

create barnchFernandoS27/dynarmic

branch : ticks-relax

created branch time in a month

pull request commentyuzu-emu/yuzu

CoreManager: Only run Reschedule() once

Thank you for your contribution, sadly all the cpu management will be remade in a pending PR that will render this pointless. I'll mark it temporally for EA but it won't be merged as to not cause rebase issues.

Benedani

comment created time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 9df67b20956c8d0ecaf9fea4a3c82858a66adcca

Clang Format and Documentation.

view details

push time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 1522a314ffa2062a989daf817cd96c6df6fba71f

Clang Format and Documentation.

view details

push time in a month

PR opened yuzu-emu/yuzu

GPU: More optimizations to GPU Command List Processing and DMA Copy Optimizations

This PR aims to delegate engine calling to the DMA pusher, thus reducing spaguetti code. At the same time we are adding an optimized path for small DMA copies that avoid reading the whole texture but just tiny bits of it.

This optimizations greatly benefit Pokemon Sword & Shield on Cities and some routes.

+188 -66

0 comment

17 changed files

pr created time in a month

create barnchFernandoS27/yuzu

branch : command-list-2

created branch time in a month

push eventyuzu-emu/yuzu

ReinUsesLisp

commit sha f665c921144264ba2ed0fef37d9db28d552a5511

vk_renderpass_cache: Pack renderpass cache key to 12 bytes

view details

ReinUsesLisp

commit sha 8c37cd1af689ce0ff0cd37e4579508a898ea3807

vk_pipeline_cache: Unify pipeline cache keys into a single operation This allows us to call Common::CityHash and std::memcmp only once for GraphicsPipelineCacheKey. While we are at it, do the same for compute.

view details

ReinUsesLisp

commit sha 3e35101895aed4e0cf2be3f90459fbad6e417203

vk_rasterizer: Fix framebuffer creation validation errors Framebuffer creation was ignoring the number of color attachments.

view details

ReinUsesLisp

commit sha 527a1574c3f1262a6b6b010fa8234a701b299609

vk_rasterizer: Pack texceptions and color formats on invalid formats Sometimes for unknown reasons NVN games can bind a render target format of 0. This may be a yuzu bug. With the commits before this the formats were specified without being "packed", assuming all formats and texceptions will be written like in the color_attachments vector. To address this issue, iterate all render targets and pack them as they are valid. This way they will match color_attachments. - Fixes validation errors and graphical issues on Breath of the Wild.

view details

Fernando Sahmkow

commit sha 1517cba8ca24005e8ea521a539b0e2a1142dfbbd

Merge pull request #3766 from ReinUsesLisp/renderpass-cache-key vk_renderpass_cache: Pack renderpass cache key and unify keys

view details

push time in a month

PR merged yuzu-emu/yuzu

vk_renderpass_cache: Pack renderpass cache key and unify keys early-access-merge vulkan

Continues what #3718 started for renderpasses. This allows us to call Common::CityHash and std::memcmp only once for GraphicsPipelineCacheKey.

Framebuffer creation was ignoring the number of color attachments, this caused validation errors. No known issues were caused by this.

+129 -126

2 comments

8 changed files

ReinUsesLisp

pr closed time in a month

push eventyuzu-emu/yuzu

ReinUsesLisp

commit sha 6f47bd9641c04a2cdc8f23fafd49069eab00e3fb

vk_memory_manager: Remove unified memory model flag All drivers (even Intel) seem to have a device local memory type that is not host visible. Remove this flag so all devices follow the same path. This fixes a crash when trying to map to host device local memory on integrated devices.

view details

Fernando Sahmkow

commit sha a65e9ad5521bfefac5788e667e51581c3137ad7c

Merge pull request #3756 from ReinUsesLisp/integrated-devices vk_memory_manager: Remove unified memory model flag

view details

push time in a month

PR merged yuzu-emu/yuzu

vk_memory_manager: Remove unified memory model flag early-access-merge vulkan

All drivers (even Intel) seem to have a device local memory type that is not host visible. Remove this flag so all devices follow the same path.

This fixes a crash when trying to map to host device local memory on integrated devices.

+6 -35

0 comment

5 changed files

ReinUsesLisp

pr closed time in a month

push eventFernandoS27/yuzu

ReinUsesLisp

commit sha 14c2a4a2ec30256e9299017e532a24e6600d7b95

texture: Implement R32I

view details

CJBok

commit sha 23c4cc80e2ee13ce38b89e9a1388c239b37d5a49

analog_from_button get direction implementation

view details

Nguyen Dac Nam

commit sha 1956a34ee554d641b8a066c4882bc3b0ae77e104

shader: implement LOP3 fast replace for old function ref: https://devtalk.nvidia.com/default/topic/1070081/cuda-programming-and-performance/reverse-lut-for-lop3-lut/

view details

Nguyen Dac Nam

commit sha 10d8afb302e526815fe0589d7feb7d57443795da

nit: add const to where it need.

view details

bunnei

commit sha 1989e1b9acab221718e10e1d4aecc6e9cd2acae1

audio_core: interpolate: Improvements to fix audio crackling. - Fixes audio crackling in Crash Team Racing Nitro-Fueled, Super Mario Odyssey, and others. - Addresses followup issues from #3310.

view details

ReinUsesLisp

commit sha e2dd59e3412d780b90268da936bc89b5572ef8b8

video_core: Implement more scaler attribute formats While changing this, fix assert in vk_shader_decompiler. We now know scaled formats are expected to be float in shaders attributes.

view details

ReinUsesLisp

commit sha 1dda77d392a31f3a0e7228518eab6d1166020876

shader: Simplify indexed sampler usages

view details

ReinUsesLisp

commit sha 1e9213632a709716e20d2b8690f8fe31654496ba

vk_shader_decompiler: Implement indexed textures Implement accessing textures through an index. It uses the same interface as OpenGL, the main difference is that Vulkan bindings are forced to be arrayed (the binding index doesn't change for stacked textures in SPIR-V).

view details

FearlessTobi

commit sha 7cbe6748c390391e54bde488152d67d961527d3c

yuzu: Remove exit lock for game pausing This removes the "exit lock" popup from yuzu when pausing a game. Motivation The exit lock feature is broken in many ways and doesn't work properly in a lot of games, causing it to appear every time you want to pause the game or stop it, even in places where it wouldn't on Switch. Additionally, the feature of pausing a game doesn't exist like this on Switch and yuzu should be guaranteed to be deterministic anyway, so pausing the emulation shouldn't be able to interrupt any critical processes in any way.

view details

bunnei

commit sha 78ab2e0474fabff54ee1bcbd9242f90aa20ddc06

Merge pull request #3417 from ReinUsesLisp/r32i texture: Implement R32I

view details

ReinUsesLisp

commit sha 3c648e3e2d4609937fbed46fbf39c6c12928ca79

video_core/gpu: Remove unused functions

view details

ReinUsesLisp

commit sha 466ce715e4bbd7c4b3889f98e282c1ca4c167e71

video_core/surface: Add R32_SINT render target format

view details

Mat M

commit sha 00e3eab9c13e7f7ff4bf2d4d12b152c2257b3de6

Merge pull request #3460 from ReinUsesLisp/unused-format-getter video_core/gpu: Remove unused functions

view details

Mat M

commit sha 45ac1c62c63ed97dc9d4eacbc42f29e41c061deb

Merge pull request #3461 from ReinUsesLisp/r32i-rt video_core/surface: Add R32_SINT render target format

view details

bunnei

commit sha 571451bdfe18e9e53af3fa458f18a3192094eebe

core: settings: Add setting to enable vsync, which is on by default.

view details

bunnei

commit sha 0c82b00dfde1071b3619e288b223f771953775eb

core: frontend: emu_window: Add TextureMailbox class.

view details

bunnei

commit sha add2c38b73f948b78f737362edd68e54a2f14b30

renderer_opengl: Add OGLRenderbuffer to resource/state management.

view details

bunnei

commit sha dc672ca4b39c1ab9c2ee81257b6fb605a23cbcd8

renderer_opengl: Add texture mailbox support for presenter thread.

view details

bunnei

commit sha 2e16c237845bf1b5ff89b7b7a3f8bc1a84729eb1

frontend: sdl2: emu_window: Implement separate presentation thread.

view details

bunnei

commit sha 667f026c9570b772719d2ada94cc40d420113c23

core: frontend: Refactor scope_acquire_window_context to scope_acquire_context.

view details

push time in a month

pull request commentyuzu-emu/yuzu

audio_renderer: Better voice mixing and 6 channel downmixing

Since I don't know if this can be merged. I'm moving it to mainline.

ogniK5377

comment created time in a month

PR opened yuzu-emu/yuzu

Revert: shader_decode: Fix LD, LDG when track constant buffer.

This reverses this PR as it was causing invalid Buffers to be tracked and used which lead to big Memory leaks on Vulkan on BotW.

+6 -14

0 comment

1 changed file

pr created time in a month

create barnchFernandoS27/yuzu

branch : revert

created branch time in a month

Pull request review commentMerryMage/dynarmic

Set of changes to Exclusive Mem in A64 and Configuration

 namespace Dynarmic { namespace A64 { -ExclusiveMonitor::ExclusiveMonitor(size_t processor_count) : exclusive_addresses(processor_count, INVALID_EXCLUSIVE_ADDRESS) {+ExclusiveMonitor::ExclusiveMonitor(size_t processor_count) :+    exclusive_addresses(processor_count, INVALID_EXCLUSIVE_ADDRESS), exclusive_values(processor_count) {     Unlock(); }  size_t ExclusiveMonitor::GetProcessorCount() const {     return exclusive_addresses.size(); } -void ExclusiveMonitor::Mark(size_t processor_id, VAddr address, size_t size) {+void ExclusiveMonitor::PreMark(size_t size) {     ASSERT(size <= 16);-    const VAddr masked_address = address & RESERVATION_GRANULE_MASK;

It just does the assert in the cpp to avoid adding the assertions in the header.

FernandoS27

comment created time in a month

push eventFernandoS27/yuzu

Lioncash

commit sha fc5df84581c826525c158c234cefa6c2cf1d84e8

CMakeLists: Enable -Wmissing-declarations on Linux builds Allows catching cases where internal linkage isn't specified for helper functions when they should be marked as such.

view details

Lioncash

commit sha e2d8be1ca2cee27eb17964dd99c71dfd12431506

General: Resolve warnings related to missing declarations

view details

Lioncash

commit sha dcbb39cdae47d2bb2cd51635f00ce3af49abcd85

CMakeLists: Make missing declarations a compile-time error Ensures that our code always has its linkage explicit.

view details

Lioncash

commit sha bfee33cce34d4edd0567919eea415009f001fc4f

service/time: Remove reliance on the global system accessor Eliminates usages of the global system accessor and instead passes the existing system instance into the interfaces.

view details

bunnei

commit sha 2409fedacfeb36dd36f1d815f58a5834eb6f0504

Merge pull request #3697 from lioncash/declarations CMakeLists: Enable -Wmissing-declarations on Linux builds

view details

bunnei

commit sha eb26e9e7117bf7a10ef6ca39d52bf6f00bd91859

Merge pull request #3730 from lioncash/time service/time: Remove reliance on the global system accessor

view details

Fernando Sahmkow

commit sha 3fedcc2f6e001f0ed1fd791de4f9692570359eef

DMAPusher: Propagate multimethod writes into the engines.

view details

Fernando Sahmkow

commit sha 18a88d19dc3672a7d49b2eb646ac7067167294b4

Maxwell3D: Process Macros on MultiMethod.

view details

Fernando Sahmkow

commit sha b8aef40c56588c999b15a63516b5d68958f667df

GPU: Add Fast GPU Time Option.

view details

Fernando Sahmkow

commit sha 5c9feaebb6bfa34bb275ffa59ca823003de20422

Clang Format.

view details

push time in a month

push eventFernandoS27/yuzu

ReinUsesLisp

commit sha 16105c6a6689886b9fb7a1220c1882a1de5a5191

renderer_vulkan: Catch device losses in more places

view details

ReinUsesLisp

commit sha 6cfe2a72467dd8897d4823b61d3a82eebbf2dd5d

renderer_vulkan: Remove Nvidia checkpoints

view details

ReinUsesLisp

commit sha 0e232cfdc111d7a3dcbe590acdbd35f7e1f7645d

renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows Adds optional support for Nsight Aftermath. It is enabled through ENABLE_NSIGHT_AFTERMATH in cmake. A path to the SDK has to be provided by the environment variable NSIGHT_AFTERMATH_SDK. Nsight Aftermath allows an application to generate "minidumps" of the GPU state when a device loss happens. By analysing these on Nsight we can know what a game was doing and why it triggered a device loss. The dump is generated inside %APPDATA%\yuzu\log\gpucrash and this directory is deleted every time a new instance is initialized with Nsight enabled. To enable it on yuzu there has a to be a driver and device capable of running Nsight Aftermath on Vulkan. That means only Turing based GPUs on the latest stable driver, beta drivers won't work for now. It is manually enabled in Configuration>Debug>Enable Graphics Debugging because when using all debugging capabilities there is a runtime cost.

view details

ReinUsesLisp

commit sha c96177090077a3cf4f73f83920bb067ef873bfca

vk_compute_pass: Implement indexed quads Implement indexed quads (GL_QUADS used with glDrawElements*) with a compute pass conversion. The compute shader converts from uint8/uint16/uint32 indices to uint32. The format is passed through push constants to avoid having different variants of the same shader. - Used by Fast RMX - Used by Xenoblade Chronicles 2 (it still has graphical due to synchronization issues on Vulkan)

view details

ReinUsesLisp

commit sha 238c6016f935fa73086d7a6609af59fee328717b

maxwell_3d: Initialize format attributes constant as one nouveau expects this to be true but it doesn't set it.

view details

Lioncash

commit sha 337f2dc11fefba337020e1b8d16e8a62cbdfa8a2

time_zone_manager: Resolve sign conversion warnings ttis and ats will never exceed the length of INT32_MAX in our case, so this is safe.

view details

Lioncash

commit sha 7e2d60de26748bfd74c3d8983f85f8c82882167e

decode/texture: Eliminate trivial missing field initializer warnings We can just specify the initializers.

view details

Lioncash

commit sha f522abd8abab3ead966cbba6fae0c55ba1215592

decode/texture: Collapse loop down into std::generate Same behavior, less code.

view details

Lioncash

commit sha d159643fd780cc8a467822ebd008bb48c2deab7a

decode/texture: Resolve unused variable warnings. Some variables aren't used, so we can remove these. Unfortunately, diagnostics are still reported on structured bindings even when annotated with [[maybe_unused]], so we need to unpack the elements that we want to use manually.

view details

Lioncash

commit sha 678ac54749650a81b5c190dab6c1930de2fd8b49

decode/memory: Resolve unused variable warning Only the first element of the returned pair is ever used.

view details

Lioncash

commit sha 8f9c599c9f7dff8c3c19375e443d7c6427ea11d3

key_manager: Resolve missing field initializer warning

view details

MerryMage

commit sha 1cc9507bc55059ae82d525f245eeb3b3de873223

gdbstub: Fix some gdbstub jankiness 1. Ensure that register information available to gdbstub is most up-to-date. 2. There's no reason to check for current_thread == thread when emitting a trap. Doing this results in random hangs whenever a step happens upon a thread switch.

view details

ReinUsesLisp

commit sha a7b6bd56d79f462bb1ca39da91b1bb3d4226fe24

vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers Nvidia recently introduced a new memory type for data streaming (awesome!), but yuzu was assuming that all heaps had enough memory for the assumed stream buffer size (256 MiB). This worked fine on AMD but Nvidia's new memory heap was smaller than 256 MiB. This commit changes this assumption and allocates a bit less than the size of the preferred heap, with a maximum of 256 MiB (to avoid allocating all system memory on integrated devices). - Fixes a crash on NVIDIA 450.82.0.0

view details

Lioncash

commit sha 64f226889c56c516bea7fbd02c38c1fd8249d255

am: Resolve ineffective moves Previously const objects were being std::moved, which results in no move actually occurring. This resolves that.

view details

Lioncash

commit sha 4d8a8a80334608709a739a19d1f41c4f1e5109dd

service: Remove unused RequestParser instances These aren't used, so they should be removed to reduce compilation warnings.

view details

Lioncash

commit sha bf328ed35a13b6a024c11cb209da5de09cabf3b0

gl_shader_decompiler: Avoid copies where applicable Avoids unnecessary reference count increments where applicable and also avoids reallocating a vector. Unlikely to make a huge difference, but given how trivial of an amendment it is, why not?

view details

ReinUsesLisp

commit sha ab6704f20ccaa9ba63b9c4b85ce7afee1e9edf06

fixed_pipeline_state: Pack attribute state Reduce FixedPipelineState's size from 1384 to 664 bytes

view details

ReinUsesLisp

commit sha 7790144a55cf1ee05e79a2b842ba38aa510fea29

fixed_pipeline_state: Pack depth stencil state Reduce FixedPipelineState's size to 632 bytes.

view details

ReinUsesLisp

commit sha 548dd27f4567f751d54073f1408d6f8949344fa9

fixed_pipeline_state: Pack rasterizer state Reduce FixedPipelineState's size to 600 bytes.

view details

ReinUsesLisp

commit sha b571c92dfd0e6bc3efeae6087723996165273c06

fixed_pipeline_state: Pack blending state Reduce FixedPipelineState's size to 364 bytes.

view details

push time in a month

push eventFernandoS27/yuzu

FearlessTobi

commit sha c2bf91156a30d12cee6d36bedf1b1c9241a2a927

yuzu/main: Add better popup texts and remove duplicated actions Makes popup texts more compact and clear and also links our quickstart guide now. Also removes OnMenuSelectEmulatedDirectory from the File dropdown, as the action already exists in the Filesystem tab and provides better visual feedback there.

view details

Lioncash

commit sha e15ec2705c20ead2257ea7e7f85619a16a7c7de8

track: Eliminate redundant copies Two variables can be references, while two others can be std::moved. Makes for 4 less atomic reference count increments and decrements.

view details

Lioncash

commit sha 636c8ab85b55b8ce510ef5a251fe66142d667e46

texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices Previously these were all using the red component to derive the indices, which is definitely not intentional.

view details

ReinUsesLisp

commit sha c96177090077a3cf4f73f83920bb067ef873bfca

vk_compute_pass: Implement indexed quads Implement indexed quads (GL_QUADS used with glDrawElements*) with a compute pass conversion. The compute shader converts from uint8/uint16/uint32 indices to uint32. The format is passed through push constants to avoid having different variants of the same shader. - Used by Fast RMX - Used by Xenoblade Chronicles 2 (it still has graphical due to synchronization issues on Vulkan)

view details

ReinUsesLisp

commit sha 238c6016f935fa73086d7a6609af59fee328717b

maxwell_3d: Initialize format attributes constant as one nouveau expects this to be true but it doesn't set it.

view details

Lioncash

commit sha 77356731a9554c4c9e57d0abeda53a97908475cd

hle_ipc: Remove std::size_t casts where applicable These were added in the change that enabled -Wextra on linux builds so as not to introduce interface changes in the same change as a build-system flag addition. Now that the flags are enabled, we can freely change the interface to make these unnecessary.

view details

Lioncash

commit sha 337f2dc11fefba337020e1b8d16e8a62cbdfa8a2

time_zone_manager: Resolve sign conversion warnings ttis and ats will never exceed the length of INT32_MAX in our case, so this is safe.

view details

Lioncash

commit sha 7e2d60de26748bfd74c3d8983f85f8c82882167e

decode/texture: Eliminate trivial missing field initializer warnings We can just specify the initializers.

view details

Lioncash

commit sha f522abd8abab3ead966cbba6fae0c55ba1215592

decode/texture: Collapse loop down into std::generate Same behavior, less code.

view details

Lioncash

commit sha d159643fd780cc8a467822ebd008bb48c2deab7a

decode/texture: Resolve unused variable warnings. Some variables aren't used, so we can remove these. Unfortunately, diagnostics are still reported on structured bindings even when annotated with [[maybe_unused]], so we need to unpack the elements that we want to use manually.

view details

Lioncash

commit sha 678ac54749650a81b5c190dab6c1930de2fd8b49

decode/memory: Resolve unused variable warning Only the first element of the returned pair is ever used.

view details

Lioncash

commit sha 8f9c599c9f7dff8c3c19375e443d7c6427ea11d3

key_manager: Resolve missing field initializer warning

view details

ReinUsesLisp

commit sha a7b6bd56d79f462bb1ca39da91b1bb3d4226fe24

vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers Nvidia recently introduced a new memory type for data streaming (awesome!), but yuzu was assuming that all heaps had enough memory for the assumed stream buffer size (256 MiB). This worked fine on AMD but Nvidia's new memory heap was smaller than 256 MiB. This commit changes this assumption and allocates a bit less than the size of the preferred heap, with a maximum of 256 MiB (to avoid allocating all system memory on integrated devices). - Fixes a crash on NVIDIA 450.82.0.0

view details

Lioncash

commit sha 64f226889c56c516bea7fbd02c38c1fd8249d255

am: Resolve ineffective moves Previously const objects were being std::moved, which results in no move actually occurring. This resolves that.

view details

Lioncash

commit sha 441a2812ed52d3f3ac868f6c7ec6ea003dca60e7

loader/nso: Resolve moves not occurring in DecompressSegment Given the std::vector was const, an automatic move out of the function could not occur. We can allow automatic return value optimizations to occur by making the buffer non-const.

view details

Lioncash

commit sha 4d8a8a80334608709a739a19d1f41c4f1e5109dd

service: Remove unused RequestParser instances These aren't used, so they should be removed to reduce compilation warnings.

view details

Lioncash

commit sha bf328ed35a13b6a024c11cb209da5de09cabf3b0

gl_shader_decompiler: Avoid copies where applicable Avoids unnecessary reference count increments where applicable and also avoids reallocating a vector. Unlikely to make a huge difference, but given how trivial of an amendment it is, why not?

view details

bunnei

commit sha a8d5d08e2e9137cb9f71df2bb23172a3baefbaac

service: hid: npad: Fix implicit fallthrough errors.

view details

Mat M

commit sha 45964e6fec167f153e2c5ee7c4fe7dd26d67ebe4

Merge pull request #3715 from bunnei/fix-impl-fallthrough service: hid: npad: Fix implicit fallthrough errors.

view details

bunnei

commit sha 89e512ca8d1ae310747a6554f0f5d46b2b738123

Merge pull request #3710 from lioncash/nso loader/nso: Resolve moves not occurring in DecompressSegment

view details

push time in a month

push eventyuzu-emu/yuzu

H27CK

commit sha 4d74578d3591082906d14b9c2f05b4c0cd7c024d

Add missing ;

view details

Fernando Sahmkow

commit sha 63d2ba4f698b9bcdaaf16576abc8f5ae88a42f25

Merge pull request #3763 from H27CK/vk-cmd Add missing ;

view details

push time in a month

PR merged yuzu-emu/yuzu

Add missing ;

Missing semicolon. Pointed out by https://github.com/yuzu-emu/yuzu/commit/c883cd103e1d6145e135e5e65ef66b8028ee99cb#r38678697.

+1 -1

0 comment

1 changed file

H27CK

pr closed time in a month

push eventyuzu-emu/yuzu

ReinUsesLisp

commit sha 16105c6a6689886b9fb7a1220c1882a1de5a5191

renderer_vulkan: Catch device losses in more places

view details

ReinUsesLisp

commit sha 6cfe2a72467dd8897d4823b61d3a82eebbf2dd5d

renderer_vulkan: Remove Nvidia checkpoints

view details

ReinUsesLisp

commit sha 0e232cfdc111d7a3dcbe590acdbd35f7e1f7645d

renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows Adds optional support for Nsight Aftermath. It is enabled through ENABLE_NSIGHT_AFTERMATH in cmake. A path to the SDK has to be provided by the environment variable NSIGHT_AFTERMATH_SDK. Nsight Aftermath allows an application to generate "minidumps" of the GPU state when a device loss happens. By analysing these on Nsight we can know what a game was doing and why it triggered a device loss. The dump is generated inside %APPDATA%\yuzu\log\gpucrash and this directory is deleted every time a new instance is initialized with Nsight enabled. To enable it on yuzu there has a to be a driver and device capable of running Nsight Aftermath on Vulkan. That means only Turing based GPUs on the latest stable driver, beta drivers won't work for now. It is manually enabled in Configuration>Debug>Enable Graphics Debugging because when using all debugging capabilities there is a runtime cost.

view details

Fernando Sahmkow

commit sha afae40a99eea45f06896bf35b34fb70f72981005

Merge pull request #3653 from ReinUsesLisp/nsight-aftermath renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows

view details

push time in a month

PR merged yuzu-emu/yuzu

renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows early-access-merge vulkan

Adds optional support for Nsight Aftermath. It is enabled through ENABLE_NSIGHT_AFTERMATH in cmake. A path to the SDK has to be provided by the environment variable NSIGHT_AFTERMATH_SDK.

Nsight Aftermath allows an application to generate "minidumps" of the GPU state when a device loss happens. By analysing these on Nsight we can know what a game was doing and why it triggered a device loss.

The dump is generated inside %APPDATA%\yuzu\log\gpucrash and this directory is deleted every time a new instance is initialized with Nsight enabled.

To enable it on yuzu there has a to be a driver and device capable of running Nsight Aftermath on Vulkan. That means only Turing based GPUs on the latest stable driver, beta drivers won't work for now.

It is manually enabled in Configuration>Debug>Enable Graphics Debugging because when using all debugging capabilities there is a runtime cost.

+389 -77

1 comment

12 changed files

ReinUsesLisp

pr closed time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 47279ec9cde715c4f336794f48849041f74b04bf

Address Feedback.

view details

push time in a month

Pull request review commentyuzu-emu/yuzu

Introduce Predictive Flushing and Improve ASYNC GPU

 void RasterizerOpenGL::Draw(bool is_indexed, bool is_instanced) {     EndTransformFeedback();      ++num_queued_commands;++    system.GPU().TickWork();

I don't think that belongs on maxwell3d, it should belong to the rasterizer.

FernandoS27

comment created time in a month

Pull request review commentyuzu-emu/yuzu

Optimize GPU Command Lists and Introduce Fast GPU Time Option

 u64 GPU::GetTicks() const {     constexpr u64 gpu_ticks_den = 625;      const u64 cpu_ticks = system.CoreTiming().GetTicks();

That would generate some terrible rendezvous but you are right it's an issue. I don't, however, know the right solution.

FernandoS27

comment created time in a month

issue commentyuzu-emu/yuzu

Support multichannel audio output

Right now we'll focus on doing what the switch can do. Afterwards we'll see if we can add enhancements as Surround audio.

Dogway

comment created time in a month

issue commentMerryMage/dynarmic

Relicensing Permission: GPLv2+ → 0BSD

Yes, I give my permission to relicense my contributions to dynarmic under 0BSD.

MerryMage

comment created time in a month

issue commentMerryMage/dynarmic

Relicensing Permission: GPLv2+ → 0BSD

Yes, I give my permission to relicense my contributions to dynarmic under 0BSD.

MerryMage

comment created time in a month

pull request commentyuzu-emu/yuzu

audio_renderer: Implement 6 channel downmixing

question why is channel 4 not being used in the formula?

ogniK5377

comment created time in a month

Pull request review commentyuzu-emu/yuzu

decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits

 u32 ShaderIR::DecodeArithmeticHalf(NodeBlock& bb, u32 pc) {     const Instruction instr = {program_code[pc]};     const auto opcode = OpCode::Decode(instr); -    if (opcode->get().GetId() == OpCode::Id::HADD2_C ||-        opcode->get().GetId() == OpCode::Id::HADD2_R) {+    bool negate_a = false;+    bool negate_b = false;+    bool absolute_a = false;+    bool absolute_b = false;++    switch (opcode->get().GetId()) {+    case OpCode::Id::HADD2_R:         if (instr.alu_half.ftz == 0) {             LOG_DEBUG(HW_GPU, "{} without FTZ is not implemented", opcode->get().GetName());         }+        negate_a = (instr.value >> 43) & 1;+        negate_b = (instr.value >> 31) & 1;+        absolute_a = (instr.value >> 44) & 1;+        absolute_b = (instr.value >> 30) & 1;+        break;+    case OpCode::Id::HADD2_C:+        if (instr.alu_half.ftz == 0) {+            LOG_DEBUG(HW_GPU, "{} without FTZ is not implemented", opcode->get().GetName());

nah it's fine that way. It's something that doesn't really affect emulation at all.

ReinUsesLisp

comment created time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha fb1bd9f733428227630bb3322304a4c06467fcb9

Clang Format.

view details

push time in a month

PR opened yuzu-emu/yuzu

Optimize GPU Command Lists and Introduce Fast GPU Time Option

This PR optimizes Command list methods with multiple arguments such as Const Buffer Data Upload. This helps considerably a few games like Diablo 3 which abuse buffer inlines. It also ports a hack from Ryujinx called Fast GPU Time: https://github.com/Ryujinx/Ryujinx/pull/1139 by gdkchan credits to him for this hack as it avoids activating game's dynamic resolution. The hack is enabled/disabled through a separate option in Graphics Advance. It is, however, still recommended to use dynamic resolution disabling mods.

+207 -15

0 comment

20 changed files

pr created time in a month

create barnchFernandoS27/yuzu

branch : command-list

created branch time in a month

push eventyuzu-emu/yuzu

ReinUsesLisp

commit sha a7b6bd56d79f462bb1ca39da91b1bb3d4226fe24

vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers Nvidia recently introduced a new memory type for data streaming (awesome!), but yuzu was assuming that all heaps had enough memory for the assumed stream buffer size (256 MiB). This worked fine on AMD but Nvidia's new memory heap was smaller than 256 MiB. This commit changes this assumption and allocates a bit less than the size of the preferred heap, with a maximum of 256 MiB (to avoid allocating all system memory on integrated devices). - Fixes a crash on NVIDIA 450.82.0.0

view details

Fernando Sahmkow

commit sha ec2f8f427243a9c8e55ccdce6b972d6e1c14b104

Merge pull request #3700 from ReinUsesLisp/stream-buffer-sizes vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers

view details

push time in a month

PR merged yuzu-emu/yuzu

vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers early-access-merge vulkan

Nvidia recently introduced a new memory type for data streaming (awesome!), but yuzu was assuming that all heaps had enough memory for the assumed stream buffer size (256 MiB).

This worked fine on AMD but Nvidia's new memory heap was smaller than 256 MiB. This commit changes this assumption and allocates a bit less than the size of the preferred heap, with a maximum of 256 MiB (to avoid allocating all system memory on integrated devices).

  • Fixes a crash on NVIDIA 450.82.0.0
+48 -33

0 comment

2 changed files

ReinUsesLisp

pr closed time in a month

pull request commentyuzu-emu/yuzu

FS: Improve emulation of device saves

Moved to mainline from EA as 1 week has passed (this PR was first on the private repo). Since it should wait until new VFS, we are not going to merge this.

bunnei

comment created time in a month

issue commentyuzu-emu/yuzu

Please help!!! [3589.672946] Debug <Critical> video_core\shader\decode.cpp:DecodeInstr:287: Assertion Failed! Unhandled instruction: 0

Fix is already in EA. a few more days of testing and it will be on mainline.

Also 2 things, this issue didn't happen about 50 versions ago so you want to get an older version. 2nd use OpenGL for that game in AMD. It runs just as great with OpenGL in that specific game.

mila215

comment created time in a month

push eventFernandoS27/yuzu

Ben Russell

commit sha f98a2c42dee1a3c20f4a4e876069a32982395f05

common/file_util: Allow access to files on network shares On Windows, network shares use paths like \\server\share\file which were being broken by FileUtil::SanitizePath() removing double slashes. Changed the code in SanitizePath to permit a double-backslash if it occurs at the start of a filepath (on Windows only).

view details

Lioncash

commit sha 521c4c33b5f7e8e89b0088be840190b1c49235dd

kernel/thread: Resolve -Wswitch warnings

view details

Lioncash

commit sha e77337588e75adc6e6b8477a8dbe9d1ea8f25c8c

file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero It's undefined behavior to pass a null pointer to std::fread and std::fwrite, even if the length passed in is zero, so we must perform the precondition checking ourselves. A common case where this can occur is when passing in the data of an empty std::vector and size, as an empty vector will typically have a null internal buffer. While we're at it, we can move the implementation out of line and add debug checks against passing in nullptr to std::fread and std::fwrite.

view details

Lioncash

commit sha 1c340c6efad903580904297730d708ce8b947eb6

CMakeLists: Specify -Wextra on linux builds Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.

view details

Lioncash

commit sha 3a60f19eaf71b9eead03a51a4af4beaebc75433f

gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator Avoids potential invalid junk data from being read.

view details

bunnei

commit sha 79c1269f0fd25e8aaf090cd1f4640a52237a3fd3

Merge pull request #3673 from lioncash/extra CMakeLists: Specify -Wextra on linux builds

view details

bunnei

commit sha 86f9c9aa1c38c8fd52963209623ec37e895803d3

Merge pull request #3671 from lioncash/switch kernel/thread: Resolve -Wswitch warnings

view details

bunnei

commit sha 0f4f90cd04932d2f554ce97dd468a71fdc5b34fb

arm_interface: Ensure ThreadContext is zero'd out.

view details

bunnei

commit sha f2676efe23f03c1755715d049d53e26d1dac1864

process: SetupMainThread: Zero out argument on process start.

view details

bunnei

commit sha b11b424a2df48c6e17968be1d6dd2b69c7c728db

common: common_funcs: Add a macro for defining enum flag operators.

view details

bunnei

commit sha 7aa0e4a7ca08357df9123e303256a95cb24cb954

loader: nso: Fix loading of static objects to be properly sized and aligned.

view details

bunnei

commit sha b0e3cbef7ae60736f356e346b9c1e52115db752f

kernel: resource_limit: Improvements to implementation.

view details

bunnei

commit sha b160804db0b0b23b30e1e5f00815e46acbedcd70

externals: Update to latest dynarmic. - Adds memory alignment fixes.

view details

bunnei

commit sha 82d457af3760f2208b31d4a99bb2e1f264cc1dfe

core: kernel: Move SVC to its own namesapce.

view details

bunnei

commit sha ad48ebb2c857c93efd5e37fad700a058c6bdeac9

core: kernel: Add svc_types header to include SVC-specific types.

view details

bunnei

commit sha b838e58d63c817aef365e023d2865033bcad0ac4

common: alignment: Add a helper function for generic alignment checking.

view details

bunnei

commit sha 4caff51710a793c6c2c1069ddd6e92185aa731fe

core: memory: Move to Core::Memory namespace. - helpful to disambiguate Kernel::Memory namespace.

view details

bunnei

commit sha 4df6ef04ac5e2169bdba67937a0b301f569949d6

common: scope_exit: Implement mechanism for canceling a scope exit.

view details

bunnei

commit sha f1b607829e3b93aed117467c1e119514a61074da

dynarmic: Enable strict alignment checks. - Also add a missing include.

view details

bunnei

commit sha dc25c86556c36dd23224d88234afc9ecbf780719

core: device_manager: Add a simple class to manage device RAM.

view details

push time in a month

pull request commentyuzu-emu/yuzu

thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)

Fixes audio in: Toki tori Diablo 3 Project DIVA

MerryMage

comment created time in a month

push eventyuzu-emu/yuzu

Rodrigo Locatti

commit sha 990c0b184f50b4cb144c35a9d4626cf7680497a0

Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"

view details

Fernando Sahmkow

commit sha 2133482a177261ec43b9f39859a20ea18433db25

Merge pull request #3703 from yuzu-emu/revert-3656-glsl-full-decompile Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"

view details

push time in a month

PR merged yuzu-emu/yuzu

Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL" mainline-merge

Reverts yuzu-emu/yuzu#3656

That change increases memory consumption on Nvidia's driver. Tagging this until we find a fix.

+1 -3

0 comment

1 changed file

ReinUsesLisp

pr closed time in a month

PR merged yuzu-emu/yuzu

file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero bug early-access-merge

It's undefined behavior to pass a null pointer to std::fread and std::fwrite, even if the length passed in is zero, so we must perform the precondition checking ourselves.

A common case where this can occur is when passing in the data of an empty std::vector and size, as an empty std::vector will typically have a null internal buffer.

While we're at it, we can move the implementation out of line and add debug checks against passing in nullptr to std::fread and std::fwrite.

+33 -9

0 comment

2 changed files

lioncash

pr closed time in a month

push eventyuzu-emu/yuzu

Lioncash

commit sha e77337588e75adc6e6b8477a8dbe9d1ea8f25c8c

file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero It's undefined behavior to pass a null pointer to std::fread and std::fwrite, even if the length passed in is zero, so we must perform the precondition checking ourselves. A common case where this can occur is when passing in the data of an empty std::vector and size, as an empty vector will typically have a null internal buffer. While we're at it, we can move the implementation out of line and add debug checks against passing in nullptr to std::fread and std::fwrite.

view details

Fernando Sahmkow

commit sha 775ecc7d055ff0fe0b9cfad7485581b64a1d8762

Merge pull request #3672 from lioncash/null file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero

view details

push time in a month

issue commentyuzu-emu/yuzu

Performance regression on Vulkan since yuzu 215 (Super Mario Odyssey)

We cannot seem to find anything unusual between those two versions.

Emogop

comment created time in a month

issue commentyuzu-emu/yuzu

Yuzu 228 - OverlayFS game modding - audio stopped being loaded in.

Would be nice if you annexed the mod so we can investigate.

SwigS-27

comment created time in a month

issue commentyuzu-emu/yuzu

Yuzu 228 - OverlayFS game modding - audio stopped being loaded in.

So the game ends up loading forever in yuzu?

SwigS-27

comment created time in a month

push eventFernandoS27/yuzu

bunnei

commit sha eb676c343a65cb182d011645d12825712e468aba

service: time: Implement CalculateStandardUserSystemClockDifferenceByUser. - Used by Animal Crossing: New Horizons.

view details

Lioncash

commit sha 71fb15661186570f00320ab84dcb20e88b5709ff

gl_device: Mark stage_swizzle as constexpr Previously this was mutable even though it shouldn't be.

view details

Lioncash

commit sha 11837e8f135d53654b84d4b00e8a3b305151c0d8

video_core: Amend doxygen comment references Fixes broken documentation references.

view details

Lioncash

commit sha 72a224d3fc25d41b5746dc3ceee59d0bc071755c

control_flow: Make use of std::move in TryInspectAddress() Eliminates redundant atomic reference count increments and decrements.

view details

bunnei

commit sha 319df1db77f5161ff17936f924fef0aed4dede45

Merge pull request #3683 from lioncash/docs video_core: Amend doxygen comment references

view details

Lioncash

commit sha d551c910bbd0570e953b3c769e08ae7edc495e3c

surface_base: Make IsInside() a const member function This doesn't modify internal state, so this can be made const.

view details

Lioncash

commit sha 5fbe8785d2db2719fb8546d2f9e0ff0f99c02194

surface_view: Add missing operator!= to ViewParams Provides logical symmetry to the interface.

view details

Lioncash

commit sha cd2a12e78f0f728f713de3a3994159e3077982a4

decode/shift: Remove unused variable within Shift() Removes a redundant variable that is already satisfied by the IsFull() utility function.

view details

Rodrigo Locatti

commit sha 612966399bcf07490a12d58c05bc30d4f93f7310

Merge pull request #3685 from lioncash/copies control_flow: Make use of std::move in TryInspectAddress()

view details

Rodrigo Locatti

commit sha 60e8de7c95fff9ebe4ab6aa51c437d56e2167585

Merge pull request #3687 from lioncash/constness surface_base: Make IsInside() a const member function

view details

Rodrigo Locatti

commit sha 4209dba1f698838ecfde0306f23c8e043cd4cb80

Merge pull request #3680 from lioncash/static gl_device: Mark stage_swizzle as constexpr

view details

Rodrigo Locatti

commit sha d196ce0f716e8644eb1255946bdba757f5668053

Merge pull request #3688 from lioncash/nequal surface_view: Add missing operator!= to ViewParams

view details

Rodrigo Locatti

commit sha a5a2ee876640cf662db7f55cdf9abfe755fa285c

Merge pull request #3689 from lioncash/unused-var decode/shift: Remove unused variable within Shift()

view details

ReinUsesLisp

commit sha 090fd3fefab9ef251e6e5bf4011280a657340f2a

buffer_cache: Return handles instead of pointer to handles The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer. This problem can be solved in the future with sparse buffers.

view details

Rodrigo Locatti

commit sha db67e017cb137376eef1930a6cc1a00c1d53acc5

Merge pull request #3659 from bunnei/time-calc-standard-user service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.

view details

Markus Wick

commit sha 94c2c828a5ffe6f19fbd4068b6484c0a052d855f

input_common: Use the CMake target instead of the variable.

view details

Markus Wick

commit sha fedf750e1b323cab927d08393783927a6db1e912

externals: Move LibreSSL linking to httplib. Neither core nor web_services use OpenSSL nor LibreSSL. However they need to link them as it's a requirement of httplib. So let's declare this within httplib instead of core and web_services.

view details

Markus Wick

commit sha b52097804334307103cfaba72cd6e27db804f650

externals: Use shared libraries if possible This is mostly done by pkgconfig. I've focused on the larger and more stable libraries.

view details

bunnei

commit sha 5a067eda843caa3631dcdc96adbb5f77b48af37c

Merge pull request #3675 from degasus/linux_shared_libraries externals: Use shared libraries if possible

view details

Fernando Sahmkow

commit sha c81f2561111541e1b5b7f18b70ea69f93a33904d

Merge pull request #3600 from ReinUsesLisp/no-pointer-buf-cache buffer_cache: Return handles instead of pointer to handles

view details

push time in a month

push eventyuzu-emu/yuzu

ReinUsesLisp

commit sha 090fd3fefab9ef251e6e5bf4011280a657340f2a

buffer_cache: Return handles instead of pointer to handles The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer. This problem can be solved in the future with sparse buffers.

view details

Fernando Sahmkow

commit sha c81f2561111541e1b5b7f18b70ea69f93a33904d

Merge pull request #3600 from ReinUsesLisp/no-pointer-buf-cache buffer_cache: Return handles instead of pointer to handles

view details

push time in a month

PR merged yuzu-emu/yuzu

buffer_cache: Return handles instead of pointer to handles early-access-merge gpu

The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer.

This problem can be solved in the future with sparse buffers.

+90 -228

0 comment

14 changed files

ReinUsesLisp

pr closed time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha d2a8d28aa6b65e5c1be6e60291ff3cba770adca9

ShaderCache/PipelineCache: Cache null shaders.

view details

push time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 465d048a8514cf7d063cc1c77d78f5ae90f1f390

Address Feedback.

view details

push time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha e9aa8011086ff295d1aca71e7ed944ddaaa3ef5a

Address Feedback.

view details

push time in a month

Pull request review commentyuzu-emu/yuzu

Introduce Predictive Flushing and Improve ASYNC GPU

 class RasterizerInterface {     /// Records a GPU query and caches it     virtual void Query(GPUVAddr gpu_addr, QueryType type, std::optional<u64> timestamp) = 0; +    /// Signal a GPU based semaphore as a fence+    virtual void SignalSemaphore(GPUVAddr addr, u32 value) = 0;++    /// Signal a GPU based syncpoint as a fence+    virtual void SignalSyncPoint(u32 value) = 0;++    /// Release all pending fences.+    virtual void ReleaseFences() = 0;+     /// Notify rasterizer that all caches should be flushed to Switch memory     virtual void FlushAll() = 0;      /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory     virtual void FlushRegion(VAddr addr, u64 size) = 0; +    virtual bool MustFlushRegion(VAddr addr, u64 size) = 0;

Can't ber const as the caches can't be const due to their respective mutex.

FernandoS27

comment created time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 01007b232d0cb952988c3299a4d675dce51f705d

Fix GCC error.

view details

push time in a month

push eventFernandoS27/yuzu

Fernando Sahmkow

commit sha 65a81e47770a8ef204f6908024c54e65c5280a1a

Fix GCC error.

view details

push time in 2 months

more