Module: Mesa Branch: master Commit: 43f4420fba1c9855c0f127143a4ed13b170ac49b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=43f4420fba1c9855c0f127143a4ed13b170ac49b
Author: Samuel Pitoiset <[email protected]> Date: Mon Jan 18 16:19:32 2016 +0100 gallium: add indirect compute parameters to pipe_grid_info Like indirect draw, we need to store a resource and an offset that needs to be 4 byte aligned. When indirect is used, the size of the grid (in blocks) is stored with three 32-bit integers. Changes from v2: - s/most values/block sizes/ Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> --- src/gallium/include/pipe/p_state.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 5d0ebca..5209afe 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -704,6 +704,18 @@ struct pipe_grid_info * Determine the layout of the grid (in block units) to be used. */ uint grid[3]; + + /* Indirect compute parameters resource: If not NULL, block sizes are taken + * from this buffer instead, which is laid out as follows: + * + * struct { + * uint32_t num_blocks_x; + * uint32_t num_blocks_y; + * uint32_t num_blocks_z; + * }; + */ + struct pipe_resource *indirect; + unsigned indirect_offset; /**< must be 4 byte aligned */ }; /** _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
