[Nouveau] "Funny" index buffer transfers (was: Bug 64323] New: Severe misrendering in Left 4 Dead 2)

Emil Velikov emil.l.velikov at gmail.com
Tue Nov 12 00:35:10 PST 2013


Hello Christoph,

I was looking at bug 64323[1] over the weekend as to why this case works
under nvc0+ hardware and does not under nv50. Here are some of the
things I've noticed:
* nvc0 uses immediate(s) for VERTEX_BEGIN_GL/VERTEX_END_GL
* nvc0 is more consistent for doing pushbuffer space checks
* nvc0 uses dirty tracking in set_index_buffer()
* nvc0 uses "VERTEX_DATA push mode" over the FIFO for nv50

AFAICS the second and third one have no effect when ported to nv50. I'm
highly suspecting that "push mode" or actually the type of buffers used
will be the solution to this problem.

Would you have any input/ideas? It would be nice to have this issue
resolved properly but until then can we use one of the workarounds
mentioned in the bugreport?

Thanks
Emil

[1] https://bugs.freedesktop.org/show_bug.cgi?id=64323


More information about the Nouveau mailing list