winsys/radeon: move managing GEM domains back to drivers
[mesa.git] / src / gallium / drivers / r300 / r300_flush.c
index 34f5419a8648a871256a573f2a5a829835d9adfd..f85464436929d7ca4615aace8ec9ceadab39d50c 100644 (file)
@@ -72,16 +72,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 +124,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;