Cemu v1.8.2

The Wii U emulator, Cemu v1.8.2 is now currently available for patrons. It will soon be released to the public in about a week.

In summary the latest release consists of performance updates, improved game compatibility (StarFox Zero and Nintendoland are confirmed working again), simplifying audio debugging, softdec video support, the ability to resize the Cemu window and several other optimizations. You can have a detailed list of changes in the change-log below.

 

Change-log:

  • general: Any .rpl files placed in cafeLibs/ directory will be loaded instead of the internal HLE modules (experimental feature, no real use yet)
  • general: Cemu window can now be resized
  • CPU/JIT: Fixed a bug in recompiler SRWI instruction
  • CPU/JIT: Fixed a bug that could cause the recompiled code to skip an instruction if the thread was switched between the beginning of a loop and an inlined function
  • CPU/JIT: Added STBUX instruction to recompiler
  • CPU/JIT: Several other optimizations for the recompiler:

Use AVX non-destructive 3-operand instructions to optimize some copy operations away

Delay/Avoid endian-swapping between LWZ/STW if the data is not used for any other operation

Generate shorter code for BCTRL, BL, BLR and other far branches (2 instructions, only 1 for far branches with no LR update)

Replace branches with conditional moves (CMOVcc) if possible

Avoid redundant FPR loads and stores

Better detection for situations where x64 flags can be used instead of testing CR bits

Avoid extra work of thread scheduling checks in tight non-infinite loops

  • coreinit: New API OSTryAcquireSpinLockWithTimeout(), OSSwitchFiberEx(), MCP_Open(), MCP_Close()
  • coreinit: More accurate emulation of foreground bucket memory and it’s subregions
  • coreinit: FSOpenDir() no longer ignores the current working directory
  • coreinit: Fixed integer overflow in OSTicksToCalendarTime()

 

  • AX: Added AX voice debugger
  • AX: Fixed biquad filter
  • AX: New API AXSetVoiceSamplesAddr(), AXSetVoiceLoopOffset()

 

  • GX2: Improved detection of changed data for typical screen-size textures in texture cache (fixes softdec videos)
  • GX2: Fixed invalid GLSL code being generated for 3D texture access with offset
  • GX2: Fixed bug in indices generation for PRIMITIVE_RECTS
  • GX2: Fixed a bug where adding entries to a shader cache .bin archive would sometimes have no effect (causing Cemu to recompile the affected shaders everytime)
  • GX2: Various smaller optimizations throughout the graphic backend (performance gain 1-3%)
  • GX2: Added support for tileMode filter in graphic packs texture rules (Useful to exclude video frames or other CPU-accessed textures)
  • GX2: Aspect ratio calculation now uses effective size of texture (after graphic pack rescaling) rather than original size

If the change-log doesn’t do any justice, here’s a video demonstrating the latest release:

 

As you can see in the video above there’s been quite some changes that makes it worth updating. If you aren’t a patron user, I’d definitely recommend you to go support the project, if not you can wait a week for the update to drop publicly. Have fun emulating!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *