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

Optimize raycast occlusion culling #101113

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hpvb
Copy link
Member

@hpvb hpvb commented Jan 4, 2025

This helps the compiler (gcc at least) to vectorize this loop, which then leads to the compiler emiting packed loads for the vectors.

This leads to a modest but measurable improvement in mspf for the TPS demo.

This is still a draft as I'm still noodling with it, some of the extra alignments aren't actually necessary I think.

But basically I have discovered the wonders of gcc's -fopt-info-vec-all and it is a lot of fun to see the improvements in objdump as it complains less!

@hpvb hpvb added this to the 4.4 milestone Jan 4, 2025
@hpvb hpvb requested review from a team as code owners January 4, 2025 01:37
@hpvb hpvb marked this pull request as draft January 4, 2025 01:37
@hpvb hpvb force-pushed the optimize-raycast branch from af77092 to 9d8f0a4 Compare January 4, 2025 01:39
This helps the compiler (gcc at least) to vectorize this loop, which
then leads to the compiler emiting packed loads for the vectors.

This leads to a modest but measurable improvement in mspf for the TPS
demo.
@hpvb hpvb force-pushed the optimize-raycast branch from 9d8f0a4 to bbd67b0 Compare January 4, 2025 01:46
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.

1 participant