Created attachment 106468 [details] c++ host Today I tested how two uniform buffers work in mesa and find a bug, when unable to edit second buffer. It's happen when you uses values from uniform buffers to create vec4. Vertex shader: #version 330 core uniform test_unif1 { float test1; float test2; }; uniform test_unif2 { float test3; float test4; }; in vec4 pos; out vec4 fcolor; void main(void) { gl_Position = pos; fcolor = vec4(test1,test2,test3,test4); } test3 and test4 is unchangeable from c++ host. If I do this: gl_Position = test4 * pos; fcolor = vec4(test1,test2,test3,1.0f); test3 and test4 will work ok. So I think it's a bug of driver. Radeon 6480g + radeon 7470m. Ubuntu 14.10. Drivers from oibaf ppa.
Piglit test: http://lists.freedesktop.org/archives/piglit/2015-January/013893.html
This bug seems to be Gallium-specific according to Chris Forbes.
Fix: http://lists.freedesktop.org/archives/mesa-dev/2015-January/073510.html
Should be fixed with: http://cgit.freedesktop.org/mesa/mesa/commit/?id=48094d0e6554a9df36bf00fc2793ade46cf92406
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.