State track fixes
These are two patches that fixed the issues that I've seen with your patch (one for a bit more logging, and the other to fix all upcoming issues, it might need some re-ordering though, and maybe separate the fbo state update from the other ones.
However, I did some benchmarking with Unigine Heaven and Valley, and there I didn't seen any measurable impact on performance when run on r600, which doesn't really surprise me, because when I was digging through the mesa code to find out what was happening I saw that there they do actually the same: When a binding a buffer the ID of the currently bound buffer is checked against the new one, and when they are the same, the call returns with success without further processing.
I got glbench working so I'll have another look with that.
Please ignore the CI failure, there is a problem with the current gcc version that results in test_virgl_cmd failing, we are working on changing the CI setup to use another gcc version (and also some other updates).