At the conf I was like "two weeks and I have something pretty functional" and I'm already here at day 2 having something functional 🙃
Though I'm sure I'll waste 5 days just on image support...
I hoped I could have done anything substantial done today, but I was dealing with synchronization issues.
With that out of the way I can finally get my first fma kernel to run successfully...
anyway...
1: add fp32................Wimp pass 0.00 @ {0x0p+0, 0x0p+0}
add passed
PASSED sub-test.
PASSED test.
Pass 2486 Fails 115 Crashes 1284
yeah... crashes are mostly just unsupported NIR instructions.
commonfs: "PASSED 18 of 18 tests."
getting there.
to pass this it required me to wire up boolean comparisons, predicates and stuff..
So the biggest item left in terms of general shader generation is control flow, which I needed boolean predicates for as well 🙃
Pass 2628 Fails 132 Crashes 1125
Yeah.. I should wire up control flow 🙃
Implemented basic control flow:
Pass 3280 Fails 142 Crashes 463
yeah soo.. is it day 5? I think it's day 5. Which is a bit weird because it feels like day 4. But maybe also because I started like almost at the end of the day? Maybe that doesn't count? Does it even matter? No, but anyway....
Status at the end of day 5:
Pass 3577 Fails 179 Crashes 129
What's missing?
- Image support
- Atomics
- Scratch
- Some math is failing validation.
- buffer synchronization issues, still.. I honestly don't know.
- optional gallium/nir stuff
Pass 3769 Fails 112 Crashes 4 Timeouts 0
Something something atomics... and a few other random things, should be like 3 or 4 bugs in total...
Pass 3871 Fails 10 Crashes 4 Timeouts 0
I think that's good enough for an initial MR 🙃
Here it is: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37831
Hopefully that's not too much of a shock.
I don't have a blog, so my MR is the blog post I guess?
oh wow.. apparently I designed the internal SVM APIs in mesa like what Nvidia added in CUDA 10.2 with cuMemAddressReserve and the likes...
so I guess it should be trivial to wire up SVM as well.