[Mesa-dev] Etnaviv on mesa master vs. Array._DrawVAO
Wladimir J. van der Laan
laanwj at gmail.com
Fri Aug 31 13:47:16 UTC 2018
> I'm looking into forward porting laanwj's patches for GC7000 support to
> current mesa master. Luckily most of it already got merged last November
> with mostly only the texture descriptor support missing(
> https://github.com/laanwj/mesa/commit/b71802207432543745dff471c68fbc40495b4858)
>
> Putting this on current master leads to this assertion in mesa when running kmscube like:
>
> kmscube: ../src/gallium/drivers/etnaviv/etnaviv_state.c:536: etna_vertex_elements_state_create: Assertion `element_size != 0 && end_offset <= 256' failed.
>
> Printing the value there gives:
>
> etna_vertex_elements_state_create:535: size: 12, offset: 0, end_offset: 12
> etna_vertex_elements_state_create:535: size: 12, offset: 576, end_offset: 588
>
> I've traced this back to this commit:
>
> 19a91841c347107d877bc750371c5fa4e9b4de19 is the first bad commit
> commit 19a91841c347107d877bc750371c5fa4e9b4de19
> Author: Mathias Fröhlich <mathias.froehlich at web.de>
> Date: Sun Apr 1 20:18:36 2018 +0200
>
> st/mesa: Use Array._DrawVAO in st_atom_array.c.
>
> Finally make use of the binding information in the VAO when
> setting up arrays for draw.
>
> v2: Emit less relocations also for interleaved userspace arrays.
>
> Reviewed-by: Brian Paul <brianp at vmware.com>
> Signed-off-by: Mathias Fröhlich <Mathias.Froehlich at web.de>
>
> And indeed commits prior to that one work as expected. Any hints what
> would be the right fix to not trigger the assert?
Hmm strange,
So on etnaviv devices, as far as I know, the maximum 'stride' between vertices is 256.
This means that a starting offset of 576 is not possible.
(even more, it says size=12, so I'm really confused why it is requesting an
index of 576 into that, it looks invalid)
Regards,
Wladimir
More information about the mesa-dev
mailing list