v3d: export supported prim types by v3d

This is now handled by gallium.

Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5277
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12669>
This commit is contained in:
Jose Maria Casanova Crespo
2021-08-31 17:41:13 +02:00
parent 0005b90ba9
commit 1618b5e720
2 changed files with 18 additions and 0 deletions

View File

@@ -275,6 +275,10 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_MAX_GS_INVOCATIONS:
return 32;
case PIPE_CAP_SUPPORTED_PRIM_MODES:
case PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART:
return screen->prim_types;
default:
return u_pipe_screen_get_param_defaults(pscreen, param);
}
@@ -832,6 +836,19 @@ v3d_screen_create(int fd, const struct pipe_screen_config *config,
pscreen->get_driver_query_info = v3d_get_driver_query_info;
}
/* Generate the bitmask of supported draw primitives. */
screen->prim_types = BITFIELD_BIT(PIPE_PRIM_POINTS) |
BITFIELD_BIT(PIPE_PRIM_LINES) |
BITFIELD_BIT(PIPE_PRIM_LINE_LOOP) |
BITFIELD_BIT(PIPE_PRIM_LINE_STRIP) |
BITFIELD_BIT(PIPE_PRIM_TRIANGLES) |
BITFIELD_BIT(PIPE_PRIM_TRIANGLE_STRIP) |
BITFIELD_BIT(PIPE_PRIM_TRIANGLE_FAN) |
BITFIELD_BIT(PIPE_PRIM_LINES_ADJACENCY) |
BITFIELD_BIT(PIPE_PRIM_LINE_STRIP_ADJACENCY) |
BITFIELD_BIT(PIPE_PRIM_TRIANGLES_ADJACENCY) |
BITFIELD_BIT(PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY);
return pscreen;
fail:

View File

@@ -76,6 +76,7 @@ struct v3d_screen {
uint32_t bo_size;
uint32_t bo_count;
uint32_t prim_types;
bool has_csd;
bool has_cache_flush;