gallium: Add pipe cap for primitive restart with fixed index
[mesa.git] / src / gallium / drivers / r300 / r300_context.c
index b55fb63f000b589bbfc6adda832ffa7924ad029b..114f74ead24656cff1a3b82463d1a11b31916633 100644 (file)
@@ -88,6 +88,8 @@ static void r300_destroy_context(struct pipe_context* context)
 
     if (r300->uploader)
         u_upload_destroy(r300->uploader);
+    if (r300->context.stream_uploader)
+        u_upload_destroy(r300->context.stream_uploader);
 
     /* XXX: This function assumes r300->query_list was initialized */
     r300_release_referenced_objects(r300);
@@ -260,7 +262,7 @@ static boolean r300_setup_atoms(struct r300_context* r300)
     return TRUE;
 }
 
-/* Not every state tracker calls every driver function before the first draw
+/* Not every gallium frontend calls every driver function before the first draw
  * call and we must initialize the command buffers somehow. */
 static void r300_init_states(struct pipe_context *pipe)
 {
@@ -391,7 +393,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
     if (!r300->ctx)
         goto fail;
 
-    r300->cs = rws->cs_create(r300->ctx, RING_GFX, r300_flush_callback, r300);
+    r300->cs = rws->cs_create(r300->ctx, RING_GFX, r300_flush_callback, r300, false);
     if (r300->cs == NULL)
         goto fail;
 
@@ -424,10 +426,11 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
     r300->context.create_video_codec = vl_create_decoder;
     r300->context.create_video_buffer = vl_video_buffer_create;
 
-    r300->uploader = u_upload_create(&r300->context, 1024 * 1024,
-                                     PIPE_BIND_CUSTOM, PIPE_USAGE_STREAM);
-    r300->context.stream_uploader = r300->uploader;
-    r300->context.const_uploader = r300->uploader;
+    r300->uploader = u_upload_create(&r300->context, 128 * 1024,
+                                     PIPE_BIND_CUSTOM, PIPE_USAGE_STREAM, 0);
+    r300->context.stream_uploader = u_upload_create(&r300->context, 1024 * 1024,
+                                                    0, PIPE_USAGE_STREAM, 0);
+    r300->context.const_uploader = r300->context.stream_uploader;
 
     r300->blitter = util_blitter_create(&r300->context);
     if (r300->blitter == NULL)