1 /* 2 * Copyright 2011 Adam Rak <[email protected]> 3 * Authors: 4 * Adam Rak <[email protected]> 5 * SPDX-License-Identifier: MIT 6 */ 7 8 #ifndef EVERGREEN_COMPUTE_H 9 #define EVERGREEN_COMPUTE_H 10 11 #include "r600_pipe.h" 12 13 struct r600_atom; 14 struct evergreen_compute_resource; 15 struct compute_memory_item; 16 17 struct r600_resource_global { 18 struct r600_resource base; 19 struct compute_memory_item *chunk; 20 }; 21 22 void evergreen_init_atom_start_compute_cs(struct r600_context *rctx); 23 void evergreen_init_compute_state_functions(struct r600_context *rctx); 24 void evergreen_emit_cs_shader(struct r600_context *rctx, struct r600_atom * atom); 25 26 struct r600_resource* r600_compute_buffer_alloc_vram(struct r600_screen *screen, unsigned size); 27 struct pipe_resource *r600_compute_global_buffer_create(struct pipe_screen *screen, const struct pipe_resource *templ); 28 void r600_compute_global_buffer_destroy(struct pipe_screen *screen, 29 struct pipe_resource *res); 30 void *r600_compute_global_transfer_map(struct pipe_context *ctx, 31 struct pipe_resource *resource, 32 unsigned level, 33 unsigned usage, 34 const struct pipe_box *box, 35 struct pipe_transfer **ptransfer); 36 void r600_compute_global_transfer_unmap(struct pipe_context *ctx, 37 struct pipe_transfer *transfer); 38 39 #endif 40