Ryujinx icon indicating copy to clipboard operation
Ryujinx copied to clipboard

Global memory emulation using NV_shader_buffer_store and VK_EXT_buffer_device_address

Open gdkchan opened this issue 2 years ago • 26 comments

Mostly the same as #3306, but newer and with Vulkan support this time. Still has the same issues as before. Since HLE macros has already been PRed and merged separately, there's no need to include this change on the PR anymore.

Currently not working on Intel with Vulkan because one texture has a height that exceeds the maximum that the GPU supports (at least on my UHD 630). Not tested on AMD.

image image

gdkchan avatar Dec 06 '22 21:12 gdkchan

Thank you, I could start to make tests, I will see if I can include the pr with the sdl2 2.26 for the double joy-con Will this pr be merged with the master one day?

sakuka47 avatar Dec 07 '22 07:12 sakuka47

Got an error on amd platform

image

Device: Steam Deck

mio-19 avatar Feb 14 '23 05:02 mio-19

Got an error on amd platform

image

Device: Steam Deck

Only NVIDIA support shader buffer store extension on OpenGL. You should be testing on Vulkan.

gdkchan avatar Feb 14 '23 11:02 gdkchan

Hello, is it possible to include the Pr in the ldn version, the switch game now having a working one that could be interesting.

sakuka47 avatar Feb 14 '23 11:02 sakuka47

I don't think it's a good idea since it could break other games that are currently working, unless we somehow enabled those changes only for Nintendo Switch Sports.

gdkchan avatar Feb 14 '23 11:02 gdkchan

I understand, there is only this game that is useful this implementation, if I do not say anything stupid.

sakuka47 avatar Feb 14 '23 11:02 sakuka47

There are a few other games that should eventually benefit from this, but they also require proper buffer data sync (that is, it should upload the data of all modified buffers to the GPU before any operation using shaders accessing global memory). The problem is that doing this is very expensive (would cause performance to drop), so currently it is not being done. And it is not required to make Nintendo Switch Sports work as it both writes and reads the global memory data on the GPU.

gdkchan avatar Feb 14 '23 12:02 gdkchan

Thank you for the details, it is appreciated

sakuka47 avatar Feb 14 '23 12:02 sakuka47

Download link is broken

adriangc13 avatar Mar 08 '23 20:03 adriangc13

The link is not working, hopefully it will be updated again.

gaowanliang avatar Mar 10 '23 13:03 gaowanliang

If you guys clone this pull request and then compile you can get the executable.

TsonT avatar Mar 14 '23 23:03 TsonT

Link isn't working.. It says expire,, mind to renew the link to download? Thanks..

suryohady25 avatar Apr 07 '23 15:04 suryohady25

Hello, can you rebase Pr with lasted master?

sakuka47 avatar Jun 10 '23 11:06 sakuka47

Please merge this fix with master. We need this!

I`m seeing a lot of people in reddit, github and other forums asking for this game to work for more than a year!

r4f4w avatar Nov 03 '23 15:11 r4f4w

Hey everyone, for those interested in using this version, I've downloaded the project and built it myself. I've also uploaded it to my Google Drive for your convenience. Here's the link.

Here are some screenshots that I took while testing it: Screenshot 2023-11-03 122647 Screenshot 2023-11-03 122326 Screenshot 2023-11-03 122745 Screenshot 2023-11-03 130402

The menus tend to be a bit laggy, with FPS drops occurring quite frequently. However, fortunately, the gameplay itself is quite enjoyable! There are some minor frame rate drops, but I was able to play most of the games without any issues.

Please note: I activated the "Ignore missing services" option, as I saw some people mentioning that it's necessary for smooth operation. Additionally, make sure to switch to Vulkan instead of using OpenGL for better performance.

r4f4w avatar Nov 03 '23 16:11 r4f4w

Thanks for this rebase.

Quick question:

Is the l'an mode functional (launch not ldn)?

Are dual joycons supported?

Is it possible to play with several players on the same screen?

sakuka47 avatar Nov 03 '23 16:11 sakuka47

Thanks for this rebase.

Quick question:

Is the l'an mode functional (launch not ldn)?

Are dual joycons supported?

Is it possible to play with several players on the same screen?

Really can't anwser any of those question because didn't tested any of them. I think that dual joycons will probably work, I just didn't tested because I still have to setup my dual joycons in steam.

r4f4w avatar Nov 03 '23 16:11 r4f4w

Thank you for your contribution. Have you tried badminton and can you play it normally?

disenr avatar Nov 28 '23 04:11 disenr

Thanks for this rebase. Quick question: Is the l'an mode functional (launch not ldn)? Are dual joycons supported? Is it possible to play with several players on the same screen?

Really can't anwser any of those question because didn't tested any of them. I think that dual joycons will probably work, I just didn't tested because I still have to setup my dual joycons in steam.

hey r4f4w can you create a new link? the older one is not working more

Ghostddd avatar Feb 26 '24 21:02 Ghostddd

i tried making my own build but it crashes after i choose a sport. image

Ghostddd avatar Feb 26 '24 22:02 Ghostddd

The link is broken @r4f4w

Jajawesome avatar Jun 26 '24 04:06 Jajawesome

Hey guys, I saw that my link suddenly was broken. Really don't know why Google Drive took down the file. Anyway, here's the new link. I've also update the original comment with the new link.

r4f4w avatar Jun 26 '24 13:06 r4f4w

Hey guys, I saw that my link suddenly was broken. Really don't know why Google Drive took down the file. Anyway, here's the new link. I've also update the original comment with the new link.

Thanks for the links, btw Do you mind sharing your PC / laptop specifications please ??

My spec : Rtx 4050 Ryzen 7 7735hs

Does it work ?

JomPyx avatar Aug 02 '24 04:08 JomPyx