diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2022-04-13 16:32:04 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-04-21 02:29:09 +0000 |
commit | 0f28da9cd4779f705ebe18061e98e9e53be5c1ff (patch) | |
tree | 6b3fd050663e18f2f579f1ce87af44ce0076d836 /src/gallium/auxiliary/util/u_screen.c | |
parent | ec124916206fbae63ee9e3c2c73de8255c807c98 (diff) |
gallium: add PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE
GL spec states that the stride for indirect multidraws:
* cannot be negative
* can be zero
* must be a multiple of 4
some drivers can't support strides which are not a multiple of the
size of the indirect struct being used, however, so rewrite those to
direct draws
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963>
Diffstat (limited to 'src/gallium/auxiliary/util/u_screen.c')
-rw-r--r-- | src/gallium/auxiliary/util/u_screen.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index 617a9dbf38a..6ab60a639e7 100644 --- a/src/gallium/auxiliary/util/u_screen.c +++ b/src/gallium/auxiliary/util/u_screen.c @@ -253,6 +253,8 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, case PIPE_CAP_FS_POINT_IS_SYSVAL: case PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL: return 0; + case PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE: + return 1; case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: /* Enables GL_ARB_shader_storage_buffer_object */ |