From: Marek Olšák Date: Fri, 14 Feb 2020 21:01:50 +0000 (-0500) Subject: gallium: add PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=70298ec4c0e43a9dcda828e74d65d87dc6e3b9d4;p=mesa.git gallium: add PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index 2204c07b1fb..318bce1a0f0 100644 --- a/src/gallium/auxiliary/util/u_screen.c +++ b/src/gallium/auxiliary/util/u_screen.c @@ -406,6 +406,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, case PIPE_CAP_OPENCL_INTEGER_FUNCTIONS: case PIPE_CAP_INTEGER_MULTIPLY_32X16: + case PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES: return 0; case PIPE_CAP_NIR_IMAGES_AS_DEREF: return 1; diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index 9d4b451bf5a..8301ecbc8f2 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -571,6 +571,7 @@ The integer capabilities: * ``PIPE_CAP_PACKED_STREAM_OUTPUT``: Driver supports packing optimization for stream output (e.g. GL transform feedback captured variables). Defaults to true. * ``PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED``: Driver needs the nir_lower_viewport_transform pass to be enabled. This also means that the gl_Position value is modified and should be lowered for transform feedback, if needed. Defaults to false. * ``PIPE_CAP_PSIZ_CLAMPED``: Driver needs for the point size to be clamped. Additionally, the gl_PointSize has been modified and its value should be lowered for transform feedback, if needed. Defaults to false. +* ``PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES``: pipe_draw_info::start can be non-zero with user indices. .. _pipe_capf: diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index b68ebd7cbdb..5b4598da103 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -160,6 +160,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_PACKED_UNIFORMS: case PIPE_CAP_SHADER_SAMPLES_IDENTICAL: case PIPE_CAP_GL_SPIRV: + case PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES: return 1; case PIPE_CAP_QUERY_SO_OVERFLOW: diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 2195d728ef7..523c81996ad 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -918,6 +918,7 @@ enum pipe_cap PIPE_CAP_PACKED_STREAM_OUTPUT, PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED, PIPE_CAP_PSIZ_CLAMPED, + PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES, }; /**