-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
GSVertexTrace::FindMinMax improvements #3940
Conversation
This comment has been minimized.
This comment has been minimized.
Curious, after this patch, are clang builds slower than gcc builds here? |
@iMineLink or @gregory38 might be able to help review this pull request. |
This comment has been minimized.
This comment has been minimized.
11d1e38
to
5a40c7c
Compare
I'd add a prefix to the newest commit |
5a40c7c
to
1f844e9
Compare
1f844e9
to
2b79c72
Compare
Would be nice to rename GSdx to GS in commit names as GS was merged. |
21ed40b
to
2a51f2e
Compare
2a51f2e
to
0776ab7
Compare
Why repeat things when you can make the compiler repeat them for you
They were the same speed or slower than full div on IvyBridge+ and Bulldozer+
0776ab7
to
d90b6f4
Compare
Been messing with this (while reimplementing the CLAMP optimisation), it looks good to me, everything seems to work good :) Edit: There is a bug, will tell you about it on discord Edit2: Nope, it was VS screwing me over, the PR is fine. |
when you spend a bunch of time optimizing a function because you think it accounts for 30% of runtime but that was actually due to the compiler being stupid and not issues with the algorithm
This PR contains the following changes:
Run per-vertex instead of per-primitive for all things that need to apply to all vertices of a primitive anyways (prevents double-checking vertices in triangle strips, and also reduces pointer chases in the main loop)This broke stuffThere seems to be a check ofReason found, added as commentaccurate_stq
when the OGL backend is deciding whether to use geometry shaders to process sprites, does anyone know if that's important or just something someone threw in there that's okay to remove?In the end, ignoring clang issues, GSVertexTrace::FindMinMax goes from taking about 3% of MTGS thread runtime to 1.5% on my computer. (Most of the time was spent doing OpenGL things so if you have a more efficient OpenGL driver it might make more of a difference for you)