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

rsx: Fixes #3618

Merged
merged 7 commits into from
Oct 19, 2017
Merged

rsx: Fixes #3618

merged 7 commits into from
Oct 19, 2017

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Oct 18, 2017

  • Compatibility workarounds for AMD cards (disables primitive restart on vulkan and emulates glMultiDrawArrays which are broken on windows driver)
  • Reimplements index buffer expansion/emulation and improves use of the primitive restart flag
  • Fixes clear commands for depth-only passes. This removes the need for the invalidate cache hack.

kd-11 added 6 commits October 17, 2017 01:02
- Emulate primitive restart in software whenever we get the chance
- Ensure PRIMITIVE_RESTART is never active when LIST topologies are active
- Reimplement TRIANGLE_FAN, POLYGON and QUAD expansion
- Workaround for AMD glMultiDrawArrays bug
- Disable disjoint command submission when multidraw support is disabled
@Blacksama
Copy link

Blacksama commented Oct 20, 2017

@kd-11 Why in the latest build do I have to disable Strict Rendering to get resolution scale to work, I am fond of leaving strict rendering on. It seemed to not cause any problem. Thanks!

Edit: The reason why I use strict mode is that certain game that should not be mentioned by name the character protraits look like this if resolution scale is turned on (any resolution), the only way to fix it is to use strict mode which fixes it.

yosuke gray

@Asinin3
Copy link
Contributor

Asinin3 commented Oct 20, 2017

@Blacksama Strict rendering mode is an accuracy setting, resolution scaling isn't accurate. KD already did some fixes which removes the need for strict rendering mode in some games about a week ago, so see if your games still need it enabled. Also this really isn't the place to ask, as this wasn't changed in this Pull Request. Discord is pretty much the best place to ask questions like this.

@Blacksama
Copy link

Understood, I don't really use discord (not even know what it is xD), thanks for your answer.

@Asinin3
Copy link
Contributor

Asinin3 commented Oct 20, 2017

@Blacksama Once again not the place to talk about it, but that issue is not fixed by strict rendering mode, it's fixed when using 100% scaling and since strict rendering forces 100% scaling.....

Please move any further discussion to: https://discord.me/RPCS3

@valgusk
Copy link

valgusk commented Oct 27, 2017

This seems to have fixed crashing for Demon's Souls on both Vulkan and OpenGL on Windows, is it possible to do the same for Linux? Mesa3d still crashes on both renderers

@kd-11
Copy link
Contributor Author

kd-11 commented Oct 27, 2017

@valgusk I need the device names from radv to make it work. On windows the proprietary driver returns the correct on-box product name like "AMD RX Vega" but radv usually returns internal code names, e.g "AMD PITCAIRN" instead of "R9 200". I'll need a list of mesa device names for RX 460/470/480/550/560/570/580 as well as all Vega. Unfortunately I don't have any of these and most testers don't run linux so I don't know the names to blacklist.

@gusthe
Copy link

gusthe commented Oct 31, 2017

@kd-11 For my RX 470 my device name is listed as "AMD RADV POLARIS10" by vulkaninfo under "Device Properties and Extensions". Is this what you would use?

Edit: after looking through the mesa source code there is a file called radv_device.c that lists all of them if it is what you're looking for. Skip down to line 83.
https://cgit.freedesktop.org/mesa/mesa/tree/src/amd/vulkan/radv_device.c

@valgusk
Copy link

valgusk commented Oct 31, 2017

Actually there might be something else wrong. I later hardcoded both places to mark amd card detected and Vulkan crashed shortly after booting, while OpenGL dropped the driver at the same place as before. I might have compiled wrong though, so I am not a very reliable source.

Otherwise best I can do is probably query device for its name and paste it here, but I can only do so for my card

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants