nv50: reinstate dedicated constbuf push path
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 5 Jun 2016 23:02:29 +0000 (19:02 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 11 Jun 2016 16:18:43 +0000 (12:18 -0400)
commit3f48548a6f65fe90b97956c7be73268917c6f2f9
treee9b0c93ef92187a1b18d2df20e31918430d70808
parentf47845596bce36aeb84a8a7f6c7e643486ec2185
nv50: reinstate dedicated constbuf push path

This was disabled due to occasionally incorrect behavior when trying to
upload data. It later became apparent that nvc0 also had a similar but
slightly different issue, which was resolved in commit e50c01d5. This
takes the same logic as nvc0 and applies it to nv50 (which has somewhat
different interfaces).

Unfortunately I did not note down precisely what was broken with UBOs
when removing the support from nv50, but I've tested a bunch of local
traces, and none of them appear to regress. This should hopefully
improve performance when UBOs are used, but this was not directly
verified.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/gallium/drivers/nouveau/nv50/nv50_context.c
src/gallium/drivers/nouveau/nv50/nv50_context.h
src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
src/gallium/drivers/nouveau/nv50/nv50_state.c
src/gallium/drivers/nouveau/nv50/nv50_transfer.c