anholt / mesa

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
120 stars 40 forks source link

Split UBO upload from non-UBO upload? #49

Open anholt opened 8 years ago

anholt commented 8 years ago

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.

anholt commented 7 years ago

vc4-ubo branch has an attempt at this. No effect on 3DMMES (which is FS limited, not CPU)