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

Use a software renderer for kittest #8245

Closed
abey79 opened this issue Nov 28, 2024 · 4 comments · Fixed by #8620
Closed

Use a software renderer for kittest #8245

abey79 opened this issue Nov 28, 2024 · 4 comments · Fixed by #8620
Assignees
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🔨 testing testing and benchmarks

Comments

@abey79
Copy link
Member

abey79 commented Nov 28, 2024

Kittest-based UI snapshot test currently use whatever hardware backend wgpu picks, which has multiple drawbacks:

  • each backend may produce a slightly different output, making comparison more difficult
  • a hardware backed is required, which rules out windows and linux GHA runners

Using a software rendering backend would solve both of these issues.

@emilk
Copy link
Member

emilk commented Nov 29, 2024

each backend may produce a slightly different output, making comparison more difficult

According to @Wumpf this is likely due to differences in filtering. If we use a manual four-tap bilinear filter in the egui pixel shader we should get a lot closer results, hopefully within the error margins.

@Wumpf
Copy link
Member

Wumpf commented Jan 7, 2025

Using a software rendering backend would solve both of these issues.

Unfortunately not true since software renderer among each other also have different results. E.g. llvmpipe won't give use the same as microsoft's WARP

@emilk
Copy link
Member

emilk commented Jan 7, 2025

So we're back to the manual-texture-filtering idea then?

@Wumpf
Copy link
Member

Wumpf commented Jan 7, 2025

That would surely alleviate the issue(s) significantly (very much in favor of trying that for the egui shader!), but we'll for sure never catch all differences anyways 🤷 - we can't realistically catch all sources of rendering discrepancies everywhere.
I don't think there's a remedy for tweaking error thresholds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🔨 testing testing and benchmarks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants