From d9d82dcd006c124e6569789c90390c43c1360c06 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Wed, 25 Apr 2012 22:15:16 +0200 Subject: gallium: Basic compute interface. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Define an interface that exposes the minimal functionality required to implement some of the popular compute APIs. This commit adds entry points to set the grid layout and other state required to keep track of the usual address spaces employed in compute APIs, to bind a compute program, and execute it on the device. Reviewed-by: Marek Olšák --- src/gallium/include/pipe/p_state.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/gallium/include/pipe/p_state.h') diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index a459a56a760..74f4ebd8f4c 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -580,6 +580,13 @@ struct pipe_resolve_info unsigned mask; /**< PIPE_MASK_RGBA, Z, S or ZS */ }; +struct pipe_compute_state +{ + const struct tgsi_token *tokens; /**< Compute program to be executed. */ + unsigned req_local_mem; /**< Required size of the LOCAL resource. */ + unsigned req_private_mem; /**< Required size of the PRIVATE resource. */ + unsigned req_input_mem; /**< Required size of the INPUT resource. */ +}; #ifdef __cplusplus } -- cgit v1.2.3