diff options
author | Marek Vasut <marex@denx.de> | 2019-12-31 11:53:55 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2019-12-31 14:55:04 +0000 |
commit | a812cb57e51a9c86a8184e24272a2bcd11920c21 (patch) | |
tree | 464850f81110d386f623a50fec64fc5329eec825 | |
parent | 11e62a9734c631fa38f1e7b415f5b98f6a28589f (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.c | 2 |
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: |