summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe/p_state.h
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2012-04-25 22:15:16 +0200
committerFrancisco Jerez <[email protected]>2012-05-11 12:39:39 +0200
commitd9d82dcd006c124e6569789c90390c43c1360c06 (patch)
treefa47e0432917b4f4e52ead4010e0d55403dcc479 /src/gallium/include/pipe/p_state.h
parentc2f1fbf912c0b95e09cb64db10dfbe8abff9f5d6 (diff)
gallium: Basic compute interface.
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 <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe/p_state.h')
-rw-r--r--src/gallium/include/pipe/p_state.h7
1 files changed, 7 insertions, 0 deletions
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
}