summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe/p_screen.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_screen.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_screen.h')
-rw-r--r--src/gallium/include/pipe/p_screen.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
index 45c441b2fcf..7ae7c9a04e1 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -98,6 +98,18 @@ struct pipe_screen {
enum pipe_video_profile profile,
enum pipe_video_cap param );
+ /**
+ * Query a compute-specific capability/parameter/limit.
+ * \param param one of PIPE_COMPUTE_CAP_x
+ * \param ret pointer to a preallocated buffer that will be
+ * initialized to the parameter value, or NULL.
+ * \return size in bytes of the parameter value that would be
+ * returned.
+ */
+ int (*get_compute_param)(struct pipe_screen *,
+ enum pipe_compute_cap param,
+ void *ret);
+
struct pipe_context * (*context_create)( struct pipe_screen *,
void *priv );