If the last-active context gets deleted, the pushbuf doesn't have a
bufctx to reference. Then there could be a sequence of binds which would
trigger a reset on that bin before validation was done. Instead we just
pass in the bufctx in question directly.
All other instances of PUSH_RESET happen strictly after a validation is
run.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102349
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* code
*/
if (fp != nv30->state.fragprog)
- PUSH_RESET(nv30->base.pushbuf, BUFCTX_FRAGPROG);
+ nouveau_bufctx_reset(nv30->bufctx, BUFCTX_FRAGPROG);
nv30->fragprog.program = fp;
nv30->dirty |= NV30_NEW_FRAGPROG;