this repo is dead. See https://gitlab.freedesktop.org/mesa/mesa master branch for latest usable vc4 and v3d, and https://gitlab.freedesktop.org/anholt/mesa for old vc4/v3d WIP branches
Right now we upload UBO and non-UBO uniforms at draw time when any state flag affecting the uniforms is set. This works out to being basically every draw call. Hoewver, UBO uniforms change a lot less frequently, only when the corresponding program or its constant buffer changes. We could potentially reduce our memory bandwidth, and draw-time CPU overhead by only re-uploading UBO contents when things affecting those change.
glmark2 and mupen64plus don't hit this. glbenchmark2.7 does.
Right now we upload UBO and non-UBO uniforms at draw time when any state flag affecting the uniforms is set. This works out to being basically every draw call. Hoewver, UBO uniforms change a lot less frequently, only when the corresponding program or its constant buffer changes. We could potentially reduce our memory bandwidth, and draw-time CPU overhead by only re-uploading UBO contents when things affecting those change.
glmark2 and mupen64plus don't hit this. glbenchmark2.7 does.