diff options
author | Marek Olšák <[email protected]> | 2010-05-16 04:09:07 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2010-05-16 04:10:50 +0200 |
commit | 412cdcd479df13c27242090d6e0727389eb2a0da (patch) | |
tree | 3512d38cfd5eed368fd0049baca1d1f2be4d4af9 /src/gallium/drivers/r300 | |
parent | 01e5a73b57fc262b0cd8b829d81b52af5a063751 (diff) |
r300g/swtcl: flush draw to avoid the rejection of CS
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r-- | src/gallium/drivers/r300/r300_render.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index 667f813fad5..16d0d9476b1 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -749,6 +749,10 @@ void r300_swtcl_draw_arrays(struct pipe_context* pipe, draw_arrays(r300->draw, mode, start, count); + /* XXX Not sure whether this is the best fix. + * It prevents CS from being rejected and weird assertion failures. */ + draw_flush(r300->draw); + for (i = 0; i < r300->vertex_buffer_count; i++) { pipe_buffer_unmap(pipe, r300->vertex_buffer[i].buffer, vb_transfer[i]); @@ -798,6 +802,10 @@ void r300_swtcl_draw_range_elements(struct pipe_context* pipe, draw_arrays(r300->draw, mode, start, count); + /* XXX Not sure whether this is the best fix. + * It prevents CS from being rejected and weird assertion failures. */ + draw_flush(r300->draw); + for (i = 0; i < r300->vertex_buffer_count; i++) { pipe_buffer_unmap(pipe, r300->vertex_buffer[i].buffer, vb_transfer[i]); |