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>
This commit is contained in:
Marek Vasut 2019-12-31 11:53:55 +01:00 committed by Christian Gmeiner
parent 11e62a9734
commit a812cb57e5

View file

@ -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: