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: Performance improvements and bug fixes #2803

Merged
merged 6 commits into from
May 22, 2017

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented May 21, 2017

Rewrites vertex upload, removing the slower methods used before. The old code is improved as well and kept around for debugging until its state is known to be mature enough.
Also lifts some restrictions on vertex register formats and adds a fix for register type data uploads when using a vertex buffer stream.
Overall, performance is up anywhere from 10-300% for geometry heavy scenes.

@SakataGintokiYT
Copy link
Contributor

SakataGintokiYT commented May 21, 2017

Vulkan:

Naruto: Ultimate Ninja Storm

E {rsx::thread} RSX: Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:151: '' : boolean expression expected 
ERROR: 1 compilation errors.  No code generated.


E {rsx::thread} RSX: 
F {rsx::thread} class std::runtime_error thrown: Failed to compile fragment shader
(in file C:\rpcs3\rpcs3\Emu\RSX\VK\VKFragmentProgram.cpp:476)

Log:


OpenGL:

Naruto: Ultimate Ninja Storm

E {rsx::thread} RSX: Failed to compile shader: 0(144) : error C1019: scalar Boolean expression expected

F {rsx::thread} class gl::glsl::link_exception thrown: linkage failed: 'Fragment info
-------------
0(144) : error C1019: scalar Boolean expression expected
(0) : error C2003: incompatible options for link
'

Log:


DX12:

Naruto: Ultimate Ninja Storm

E {rsx::thread} RSX: FS build failed:E:\Emulatory I Gry\PS3\rpcs3-v0.0.2-2017-04-30-28456170_win64\FragmentProgram.hlsl(228,7-40): error X3019: if statement conditional expressions must evaluate to a scalar
E:\Emulatory I Gry\PS3\rpcs3-v0.0.2-2017-04-30-28456170_win64\FragmentProgram.hlsl(229,2-3): error X3000: unrecognized identifier 'h3'

F {rsx::thread} class std::runtime_error thrown: fragment program compilation failure
(in file c:\rpcs3\rpcs3\emu\rsx\d3d12\D3D12PipelineState.h:162)

Log:

@twdarkeh
Copy link
Contributor

Akiba's Trip, Trails of Cold Steel, and Final Fantasy X HD no longer work either, same error as Naruto.

@OverlordCW
Copy link

OverlordCW commented May 21, 2017

Same with RDR

E {rsx::thread} RSX: Failed to compile shader: 0(55) : error C1019: scalar Boolean expression expected

F {rsx::thread} class gl::glsl::link_exception thrown: linkage failed: 'Fragment info
-------------
0(55) : error C1019: scalar Boolean expression expected
(0) : error C2003: incompatible options for link

RPCS3.zip

@kd-11
Copy link
Contributor Author

kd-11 commented May 21, 2017

Fixed now. Hopefully. If not, I'll have to fix the decompiler as a separate PR.

@SakataGintokiYT
Copy link
Contributor

@kd-11
Now work :)

@kd-11
Copy link
Contributor Author

kd-11 commented May 22, 2017

I am aware of some regressions in rare cases but I think we can track those separately.

@kd-11 kd-11 merged commit 18df292 into RPCS3:master May 22, 2017
@danilaml
Copy link
Contributor

Finally D3 became playable! Before it took ages even to get past the intro.

@kd-11 kd-11 deleted the experimental-stuff branch October 13, 2017 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants