diff options
Diffstat (limited to 'src/gallium/include')
-rw-r--r-- | src/gallium/include/pipe/p_defines.h | 15 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_screen.h | 10 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 86cc9d80ac9..0c79cac5cff 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -1027,6 +1027,21 @@ enum pipe_compute_cap }; /** + * Resource parameters. They can be queried using + * pipe_screen::get_resource_param. + */ +enum pipe_resource_param +{ + PIPE_RESOURCE_PARAM_NPLANES, + PIPE_RESOURCE_PARAM_STRIDE, + PIPE_RESOURCE_PARAM_OFFSET, + PIPE_RESOURCE_PARAM_MODIFIER, + PIPE_RESOURCE_PARAM_HANDLE_TYPE_SHARED, + PIPE_RESOURCE_PARAM_HANDLE_TYPE_KMS, + PIPE_RESOURCE_PARAM_HANDLE_TYPE_FD, +}; + +/** * Types of parameters for pipe_context::set_context_param. */ enum pipe_context_param diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 9bd24772299..ac2087921d7 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -263,6 +263,16 @@ struct pipe_screen { unsigned usage); /** + * Get info for the given pipe resource without the need to get a + * winsys_handle. + */ + bool (*resource_get_param)(struct pipe_screen *screen, + struct pipe_resource *resource, + unsigned int plane, + enum pipe_resource_param param, + uint64_t *value); + + /** * Get stride and offset for the given pipe resource without the need to get * a winsys_handle. */ |