nv50: move magic 0x142c stuff to after state emission
This commit is contained in:
@@ -408,7 +408,8 @@ boolean
|
||||
nv50_state_validate(struct nv50_context *nv50, unsigned wait_dwords)
|
||||
{
|
||||
struct nouveau_channel *chan = nv50->screen->base.channel;
|
||||
unsigned nr_relocs = 128, nr_dwords = wait_dwords + 128;
|
||||
struct nouveau_grobj *tesla = nv50->screen->tesla;
|
||||
unsigned nr_relocs = 128, nr_dwords = wait_dwords + 128 + 4;
|
||||
int ret, i;
|
||||
|
||||
for (i = 0; i < validate_list_len; i++) {
|
||||
@@ -466,6 +467,12 @@ nv50_state_validate(struct nv50_context *nv50, unsigned wait_dwords)
|
||||
* still. This can cause all sorts of fun issues.
|
||||
*/
|
||||
nv50_state_flush_notify(chan);
|
||||
|
||||
/* No idea.. */
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -485,11 +485,6 @@ nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start,
|
||||
return;
|
||||
chan->flush_notify = nv50_state_flush_notify;
|
||||
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
|
||||
BEGIN_RING(chan, tesla, NV50TCL_VERTEX_BEGIN, 1);
|
||||
OUT_RING (chan, nv50_prim(mode));
|
||||
|
||||
@@ -692,11 +687,6 @@ nv50_draw_elements(struct pipe_context *pipe,
|
||||
return;
|
||||
chan->flush_notify = nv50_state_flush_notify;
|
||||
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
BEGIN_RING(chan, tesla, 0x142c, 1);
|
||||
OUT_RING (chan, 0);
|
||||
|
||||
BEGIN_RING(chan, tesla, NV50TCL_VERTEX_BEGIN, 1);
|
||||
OUT_RING (chan, nv50_prim(mode));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user