summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2019-12-31 11:53:55 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2019-12-31 14:55:04 +0000
commita812cb57e51a9c86a8184e24272a2bcd11920c21 (patch)
tree464850f81110d386f623a50fec64fc5329eec825
parent11e62a9734c631fa38f1e7b415f5b98f6a28589f (diff)
etnaviv: Report correct number of vertex buffers
The GCnano has only 4 vertex buffers instead of 16. This information can be extracted from the GPU status registers and is already stored in screen->specs.stream_count. Use PIPE_CAP_MAX_VERTEX_BUFFERS to report this information and permit u_vbuf to reorganize the shaders to fit. This fixes the following dEQP on GCnano: dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_vec4_vertex This fixes all the other dEQP-GLES2.functional.shaders.conversions.* which used to fail on GCnano. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3241> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3241>
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_screen.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 75d3e1e6877..9f9248eceba 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -188,6 +188,8 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
return 128;
case PIPE_CAP_MAX_VERTEX_ELEMENT_SRC_OFFSET:
return 255;
+ case PIPE_CAP_MAX_VERTEX_BUFFERS:
+ return screen->specs.stream_count;
/* Texturing. */
case PIPE_CAP_TEXTURE_SHADOW_MAP: