summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2011-02-16 22:23:23 +0100
committerMarek Olšák <maraeo@gmail.com>2011-02-16 22:23:23 +0100
commitfa3f1348e49feeac511dbe5b22bbddc47f56ba81 (patch)
tree1d3cae04ff7a746975fb5a0d6202200324a116c9 /src/gallium/drivers/r300/r300_state.c
parent2d1cc27729bd1808a39b226ae3eda5663328ba74 (diff)
r300g: fix a race between CS and SET_TILING ioctls
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index aa18ab7d1e..5d8298341d 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -624,12 +624,7 @@ static void r300_tex_set_tiling_flags(struct r300_context *r300,
* Skip changing the flags otherwise. */
if (tex->tex.macrotile[tex->surface_level] !=
tex->tex.macrotile[level]) {
- /* Tiling determines how DRM treats the buffer data.
- * We must flush CS when changing it if the buffer is referenced. */
- if (r300->rws->cs_is_buffer_referenced(r300->cs, tex->cs_buf))
- r300->context.flush(&r300->context, 0, NULL);
-
- r300->rws->buffer_set_tiling(tex->buf,
+ r300->rws->buffer_set_tiling(tex->buf, r300->cs,
tex->tex.microtile, tex->tex.macrotile[level],
tex->tex.stride_in_bytes[0]);