1 /* 2 * Copyright 2009 VMware, Inc. 3 * Copyright 2016 Axel Davy <[email protected]> 4 * All Rights Reserved. 5 * 6 * SPDX-License-Identifier: MIT 7 */ 8 9 #ifndef _NINE_BUFFER_UPLOAD_H_ 10 #define _NINE_BUFFER_UPLOAD_H_ 11 12 #include "pipe/p_defines.h" 13 14 struct nine_buffer_upload; 15 struct nine_subbuffer; 16 17 struct nine_buffer_upload * 18 nine_upload_create(struct pipe_context *pipe, unsigned buffers_size, 19 unsigned num_buffers); 20 21 void 22 nine_upload_destroy(struct nine_buffer_upload *upload); 23 24 struct nine_subbuffer * 25 nine_upload_create_buffer(struct nine_buffer_upload *upload, 26 unsigned buffer_size); 27 28 void 29 nine_upload_release_buffer(struct nine_buffer_upload *upload, 30 struct nine_subbuffer *buf); 31 32 uint8_t * 33 nine_upload_buffer_get_map(struct nine_subbuffer *buf); 34 35 struct pipe_resource * 36 nine_upload_buffer_resource_and_offset(struct nine_subbuffer *buf, 37 unsigned *offset); 38 39 #endif /* _NINE_BUFFER_UPLOAD_H_ */ 40