-
Notifications
You must be signed in to change notification settings - Fork 61
Add 7 new difftests and push constants support #321
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
base: main
Are you sure you want to change the base?
Conversation
I'd love to have these for testing my const folding in #317 |
CI Ubuntu reports these failures: On my machine I get these failures: Could this be float inaccuracies between vendors? |
Yeah, I think it is floats because they all passed locally after I took care of some existing float issues. I'll take a look and either round or omit. |
New tests: - bitwise_ops: bit manipulation operations - trig_ops: trigonometric functions - control_flow_complex: nested loops and complex control flow - vector_swizzle: vector component access and swizzling - memory_barriers: workgroup memory synchronization - vector_extract_insert: dynamic vector element access - push_constants: push constants in compute shaders Infrastructure changes: - Add WgpuComputeTestPushConstants for push constant support - Enable PUSH_CONSTANTS feature in wgpu when needed - Register all existing unregistered tests in workspace
- Add a round macro for cross-plat compat - Add epsilon-based floating point comparison - Add human-readable output for float/int data - Add test coverage for new stuff - Update documentation
I added a This is a lot of code and I don't really expect you to review it...AI wrote a lot of it and I reviewed and tweaked. I figure we'll iterate on main as it is super self-contained. I can probably break it up if you want though! As an aside, I think some of these should be runtests, as I am not sure what value we get diffing with glsl for all of them. BTW, if test times get long we can shard in CI as theoretically we could have 1 job for each test as they are unrelated. |
(note it is not set to automerge as I'll want to squash first) |
Also don't show stats/counts when delaing with raw diffs
Ok, the windows issue is definitely a wgpu + naga (dxc) bug. |
I've pulled out the repo for the wgpu/naga bug: https://github.com/LegNeato/wgpu-workgroup-memory-bug |
I wanted to increase coverage, so I worked with AI to bang out some tests and infra changes.
New tests:
Infrastructure changes: