(flags & PIPE_FLUSH_END_OF_FRAME) ? "frame end" : "user request");
if (f) {
- *f = (struct pipe_fence_handle *)
- ilo_fence_create(pipe->screen, ilo->cp->last_submitted_bo);
+ struct pipe_screen *screen = pipe->screen;
+ screen->fence_reference(screen, f, NULL);
+ *f = ilo_screen_fence_create(pipe->screen, ilo->cp->last_submitted_bo);
}
}
}
static struct pipe_context *
-ilo_context_create(struct pipe_screen *screen, void *priv)
+ilo_context_create(struct pipe_screen *screen, void *priv, unsigned flags)
{
struct ilo_screen *is = ilo_screen(screen);
struct ilo_context *ilo;
* These must be called last as u_upload/u_blitter are clients of the pipe
* context.
*/
- ilo->uploader = u_upload_create(&ilo->base, 1024 * 1024, 16,
- PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_INDEX_BUFFER);
+ ilo->uploader = u_upload_create(&ilo->base, 1024 * 1024,
+ PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_INDEX_BUFFER,
+ PIPE_USAGE_STREAM);
if (!ilo->uploader) {
ilo_context_destroy(&ilo->base);
return NULL;