Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix divide by zero when recovering from missed draw (Vulkan), authored by EmulationEnjoyer #235

Merged
merged 1 commit into from
Nov 14, 2024

Conversation

extherian
Copy link
Contributor

Adds the fix for the crash in the opening cutscene of Baldo: The Sacred Owls when using Vulkan, from ryujinx-mirror. The original discussion about the fix can be found here.

It's up to you if you want to merge this, it's one of the very few improvements that ryujinx-mirror got that hasn't made it into your fork yet. My opinion is that without a graphics expert on board, we can't know the real cause of this divide-by-zero issue and will have to make do with this patch to fix it. And I think we will have to do this many times in the future for other games that suffer crashes at the moment as well, at least going by current discussions in the #development section of the discord.

I did not come up with this fix, all credit goes to EmulationEnjoyer for putting Ryujinx through a debugger and discovering the cause of the crash.

Adds the fix for the crash in the opening cutscene of Baldo: The Sacred Owls when using Vulkan, from ryujinx-mirror. The original discussion about the fix can be found here: ryujinx-mirror/ryujinx#52
@github-actions github-actions bot added gpu Affects GPU emulation graphics-backend:vulkan Affects the Vulkan Graphics backend labels Nov 13, 2024
@GreemDev
Copy link
Member

I was just thinking of this change earlier, to pull it in

@GreemDev GreemDev merged commit 5fccfb7 into Ryubing:master Nov 14, 2024
11 checks passed
@GreemDev GreemDev mentioned this pull request Nov 14, 2024
GreemDev added a commit that referenced this pull request Nov 19, 2024
Significant changes include LDN functionality from @Vudjun (no more
separate build!) and an XCI trimmer from @amurgshere.

Merged PRs in this release (in the order they were merged): 
#183, #150, #105, #160, #188, #98, #158, #13, #216, #73, #217, #122,
#228, #65, #226, #236, #247, #243, #249, #242, #260, #273, #272, #262,
#259, #241

## Versioning:
There now exists "stable" (release branch) and ["canary" (master
branch)](https://github.com/GreemDev/Ryujinx-Canary/releases) versions.
Instead of everyone using the same emulator, getting updates for every
code change, you now *opt-in* to the more frequent updates by using the
Canary version. Use stable and you'll get about an update a week, but
that update will be MUCH more significant as it's the entire previous
week's changes & PR merges.

## LDN
LDN functionality is now merged! Use
[this](https://github.com/GreemDev/Ryujinx/wiki/Multiplayer%E2%80%90(LDN%E2%80%90Local%E2%80%90Wireless)%E2%80%90Guide)
to get started.
Please note that LDN is only for local wireless; **this is not a
Nintendo Switch Online emulation feature**.

## UI
  - Added an XCI trimmer (#105).
- You can use this feature to trim dead bytes & the embedded firmware
out of your dumped XCIs, to make them smaller.
- If you right-click an XCI and the trim button it is greyed out, that
means your XCI is already as small as possible.
  - Fix for fullscreen not being really fullscreen (#150)
  - Fix window sizing calculations when Show Title Bar is enabled (#247)
- The "Install/Uninstall file types" buttons will be enabled/disabled
depending on which one you contextually need; install will be clickable
when they aren't installed, and vice versa.
- Fix for showing default config screen when swapping players in
controller settings (#122)
- Command-line argument to prevent update checking `--hide-updates`
(#272)
  - # RPC: 
    - Added a LOT of game images to Discord RPC.
    - Play time will now show the time unit hours at a maximum.

## Localization
- Update outdated/incorrect & added missing translations for zh-TW
(#158)
  - Add many missing locale strings to all languages (#160)
  - Update & improve Korean translation (#226)
  - Minor fixes & add missing translations to Spanish translation (#242)

## Headless
- Added `ignore-controller-applet` as an option you can configure via
headless command-line options.

## Graphics Backend
  - ### Vulkan
    - fix divide-by-zero when recovering from missed draw (#235) 
      - fixes crash in 'Baldo: The Guardian Owls' opening cutscene
    
## Horizon
- fix crash that occurs when launching an NSP forwarder generated by
Nro2Nsp (#237)

# Nerd Zone
Slightly more technical information. If you don't understand what's
under here, no worry.

- Updater now uses the release's Tag Name instead of its Name for
version checking.
- Baked in value change logging into ReactiveObject.
- Split ConfigurationState into 3, smaller partial classes of the same
name.
- Specify if the current version is Canary in the version log line

---------

Co-authored-by: James Duarte <[email protected]>
Co-authored-by: Luke Warner <[email protected]>
Co-authored-by: TheToid <[email protected]>
Co-authored-by: GabCoolGuy <[email protected]>
Co-authored-by: Kekschen <[email protected]>
Co-authored-by: WilliamWsyHK <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jacobwasbeast <[email protected]>
Co-authored-by: Piplup <[email protected]>
Co-authored-by: Vladimir Sokolov <[email protected]>
Co-authored-by: Jonas Henriksson <[email protected]>
Co-authored-by: Vudjun <[email protected]>
Co-authored-by: extherian <[email protected]>
Co-authored-by: Hack茶ん <[email protected]>
Co-authored-by: EmulationEnjoyer <[email protected]>
Co-authored-by: Nicola <[email protected]>
Co-authored-by: jzumaran <[email protected]>
Co-authored-by: Pitchoune <[email protected]>
Co-authored-by: Narugakuruga <[email protected]>
SomeoneIsWorking pushed a commit to SomeoneIsWorking/Greem that referenced this pull request Dec 22, 2024
…d by EmulationEnjoyer (Ryubing#235)

Adds the fix for the crash in the opening cutscene of Baldo: The Sacred
Owls when using Vulkan, from ryujinx-mirror. The original discussion
about the fix can be found
[here.](ryujinx-mirror/ryujinx#52)

It's up to you if you want to merge this, it's one of the very few
improvements that ryujinx-mirror got that hasn't made it into your fork
yet. My opinion is that without a graphics expert on board, we can't
know the real cause of this divide-by-zero issue and will have to make
do with this patch to fix it. And I think we will have to do this many
times in the future for other games that suffer crashes at the moment as
well, at least going by current discussions in the #development section
of the discord.

I did not come up with this fix, all credit goes to
[EmulationEnjoyer](https://github.com/EmulationEnjoyer) for putting
Ryujinx through a debugger and discovering the cause of the crash.
marco-carvalho pushed a commit to marco-carvalho/Ryujinx-1 that referenced this pull request Jan 5, 2025
…d by EmulationEnjoyer (Ryubing#235)

Adds the fix for the crash in the opening cutscene of Baldo: The Sacred
Owls when using Vulkan, from ryujinx-mirror. The original discussion
about the fix can be found
[here.](ryujinx-mirror/ryujinx#52)

It's up to you if you want to merge this, it's one of the very few
improvements that ryujinx-mirror got that hasn't made it into your fork
yet. My opinion is that without a graphics expert on board, we can't
know the real cause of this divide-by-zero issue and will have to make
do with this patch to fix it. And I think we will have to do this many
times in the future for other games that suffer crashes at the moment as
well, at least going by current discussions in the #development section
of the discord.

I did not come up with this fix, all credit goes to
[EmulationEnjoyer](https://github.com/EmulationEnjoyer) for putting
Ryujinx through a debugger and discovering the cause of the crash.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gpu Affects GPU emulation graphics-backend:vulkan Affects the Vulkan Graphics backend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants