etnaviv: export supported prim types

This is now handled by gallium, so the related codepaths can be dropped.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12516>
This commit is contained in:
Christian Gmeiner 2021-06-23 07:56:43 +02:00 committed by Marge Bot
parent b22ba69615
commit a3d6aa43a6
2 changed files with 22 additions and 7 deletions

View File

@ -255,13 +255,6 @@ etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
if (ctx->vertex_elements == NULL || ctx->vertex_elements->num_elements == 0)
return; /* Nothing to do */
if (!(ctx->prim_hwsupport & (1 << info->mode))) {
struct primconvert_context *primconvert = ctx->primconvert;
util_primconvert_save_rasterizer_state(primconvert, ctx->rasterizer);
util_primconvert_draw_vbo(primconvert, info, drawid_offset, indirect, draws, num_draws);
return;
}
int prims = u_decomposed_prims_for_vertices(info->mode, draws[0].count);
if (unlikely(prims <= 0)) {
DBG("Invalid draw primitive mode=%i or no primitives to be drawn", info->mode);

View File

@ -260,6 +260,28 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_MAX_VARYINGS:
return screen->specs.max_varyings;
case PIPE_CAP_SUPPORTED_PRIM_MODES:
case PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART: {
/* Generate the bitmask of supported draw primitives. */
uint32_t modes = 1 << PIPE_PRIM_POINTS |
1 << PIPE_PRIM_LINES |
1 << PIPE_PRIM_LINE_STRIP |
1 << PIPE_PRIM_TRIANGLES |
1 << PIPE_PRIM_TRIANGLE_FAN;
/* TODO: The bug relates only to indexed draws, but here we signal
* that there is no support for triangle strips at all. This should
* be refined.
*/
if (VIV_FEATURE(screen, chipMinorFeatures2, BUG_FIXES8))
modes |= 1 << PIPE_PRIM_TRIANGLE_STRIP;
if (VIV_FEATURE(screen, chipMinorFeatures2, LINE_LOOP))
modes |= 1 << PIPE_PRIM_LINE_LOOP;
return modes;
}
case PIPE_CAP_PCI_GROUP:
case PIPE_CAP_PCI_BUS:
case PIPE_CAP_PCI_DEVICE: