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: Improve shader decompiler output #8984
Conversation
- I've not found it to be very useful and it just breaks good code right now. TODO: Re-enable when things improve.
- Significantly improves compilation speed by simplifying most of the code and doing something similar to LICM. * Actual decoding is now vectorized and performed in one step rather than in a loop. * Switches inside loops are removed and replaced with simple comparison. Generates much nicer (and smaller) GCN bytecode.
Relegated to WIP, looks like I broke something when doing squash/rebase. |
b929ad0
to
e7c199b
Compare
- Optimize clamp16 - Use bfe instead of shift-and
Regressions fixed. |
i7-6700HQ, HD 530 Render: Vulkan Test performed with clean emulator shaders_cache and clean .cache/mesa_shaders_cache, SPU code cached beforehand. Time from first shader to last shader compialtion without moving the character.
|
NHL Legacy Black screen in cutscenes with UI rendering. RPCS3.log.gz |
@Kravickas Capture opengl renderdoc with shader compiler set to legacy (single thteaded). Also remember to set 'use opengl legacy buffers' debug option. |
Weeell OGL works :/ |
You can capture vulkan if you have amd polaris or nvidia pascal, but if opengl works then it is likely not a problem with the shaders as code generator is shared. |
I dont have either, so if no one find any bug, dont hold the merge because of that. |
To Testers: Just check if games are working the same as before. While we already found some bugs and fixed them with internal testing, bugs may still lurk.