diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 923ed3a25a3..b122609ca7c 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -2232,6 +2232,13 @@ static bool si_is_format_supported(struct pipe_screen *screen, enum pipe_format retval |= si_is_vertex_format_supported(screen, format, PIPE_BIND_VERTEX_BUFFER); } + if (usage & PIPE_BIND_INDEX_BUFFER) { + if (format == PIPE_FORMAT_I8_UINT || + format == PIPE_FORMAT_I16_UINT || + format == PIPE_FORMAT_I32_UINT) + retval |= PIPE_BIND_INDEX_BUFFER; + } + if ((usage & PIPE_BIND_LINEAR) && !util_format_is_compressed(format) && !(usage & PIPE_BIND_DEPTH_STENCIL)) retval |= PIPE_BIND_LINEAR;