nvc0: handle shader buffer memory barrier

Issue a MEM_BARRIER. No idea if this is sufficient. As there are no
tests for this, it'll have to do for now.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin 2016-01-10 22:44:32 -05:00
parent fe01be4ad5
commit abe427ebd2
1 changed files with 4 additions and 0 deletions

View File

@ -56,6 +56,7 @@ static void
nvc0_memory_barrier(struct pipe_context *pipe, unsigned flags)
{
struct nvc0_context *nvc0 = nvc0_context(pipe);
struct nouveau_pushbuf *push = nvc0->base.pushbuf;
int i, s;
if (flags & PIPE_BARRIER_MAPPED_BUFFER) {
@ -90,6 +91,9 @@ nvc0_memory_barrier(struct pipe_context *pipe, unsigned flags)
}
}
}
if (flags & PIPE_BARRIER_SHADER_BUFFER) {
IMMED_NVC0(push, NVC0_3D(MEM_BARRIER), 0x1011);
}
}
static void