radeon/llvm: Add some comments and fix coding style
[mesa.git] / src / gallium / drivers / r300 / r300_flush.c
index 34f5419a8648a871256a573f2a5a829835d9adfd..2266b48c948511536dd34afb2a1e1989ac08b73e 100644 (file)
@@ -59,6 +59,7 @@ static void r300_flush_and_cleanup(struct r300_context *r300, unsigned flags)
     if (!r300->screen->caps.has_tcl) {
         r300->vs_state.dirty = FALSE;
         r300->vs_constants.dirty = FALSE;
+        r300->clip_state.dirty = FALSE;
     }
 }
 
@@ -72,16 +73,19 @@ void r300_flush(struct pipe_context *pipe,
     if (r300->draw && !r300->draw_vbo_locked)
        r300_draw_flush_vbuf(r300);
 
+    if (r300->screen->info.drm_minor >= 12) {
+        flags |= RADEON_FLUSH_KEEP_TILING_FLAGS;
+    }
+
     if (rfence) {
         /* Create a fence, which is a dummy BO. */
         *rfence = r300->rws->buffer_create(r300->rws, 1, 1,
-                                           PIPE_BIND_VERTEX_BUFFER,
-                                           PIPE_USAGE_STATIC,
+                                           PIPE_BIND_CUSTOM,
                                            RADEON_DOMAIN_GTT);
         /* Add the fence as a dummy relocation. */
         r300->rws->cs_add_reloc(r300->cs,
                                 r300->rws->buffer_get_cs_handle(*rfence),
-                                RADEON_DOMAIN_GTT, RADEON_DOMAIN_GTT);
+                                RADEON_USAGE_READWRITE, RADEON_DOMAIN_GTT);
     }
 
     if (r300->dirty_hw) {
@@ -121,7 +125,7 @@ void r300_flush(struct pipe_context *pipe,
         }
 
         /* Release HyperZ. */
-        r300->rws->cs_request_feature(r300->cs, RADEON_FID_HYPERZ_RAM_ACCESS,
+        r300->rws->cs_request_feature(r300->cs, RADEON_FID_R300_HYPERZ_ACCESS,
                                       FALSE);
     }
     r300->num_z_clears = 0;