/* * Copyright 2010 Marek Olšák magic == R600_BUFFER_MAGIC); return (struct r600_resource_buffer *)buffer; } return NULL; } static INLINE boolean r600_buffer_is_user_buffer(struct pipe_resource *buffer) { if (r600_buffer(buffer)->uploaded) return FALSE; return r600_buffer(buffer)->user_buffer ? TRUE : FALSE; } int r600_texture_depth_flush(struct pipe_context *ctx, struct pipe_resource *texture); /* r600_texture.c texture transfer functions. */ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, struct pipe_resource *texture, unsigned level, unsigned usage, const struct pipe_box *box); void r600_texture_transfer_destroy(struct pipe_context *ctx, struct pipe_transfer *trans); void* r600_texture_transfer_map(struct pipe_context *ctx, struct pipe_transfer* transfer); void r600_texture_transfer_unmap(struct pipe_context *ctx, struct pipe_transfer* transfer); struct r600_pipe_context; struct r600_upload *r600_upload_create(struct r600_pipe_context *rctx, unsigned default_size, unsigned alignment); void r600_upload_flush(struct r600_upload *upload); void r600_upload_destroy(struct r600_upload *upload); int r600_upload_buffer(struct r600_upload *upload, unsigned offset, unsigned size, struct r600_resource_buffer *in_buffer, unsigned *out_offset, unsigned *out_size, struct r600_bo **out_buffer); #endif