[Mesa-dev] [PATCH 04/11] st/mesa: Use Array._DrawVAO in st_atom_array.c.

Erik Faye-Lund erik.faye-lund at collabora.com
Tue Dec 11 10:01:19 UTC 2018


On Tue, 2018-12-11 at 10:37 +0100, Mathias Fröhlich wrote:
> Hey,
> 
> On Tuesday, 11 December 2018 10:19:47 CET Erik Faye-Lund wrote:
> > On Mon, 2018-12-10 at 18:23 +0100, Mathias Fröhlich wrote:
> > > Hi Erik,
> > > 
> > > Not sure if this is our problem as I think that I only saw simple
> > > bindings with a zero instance divisor while debugging supertux
> > > kart.
> > > 
> > > But at least I think that this is a problem in virglrenderer. The
> > > glVertexBindingDivisor is per binding and not per vertex
> > > attribute
> > > in OpenGL.
> > > ... you probably want to solve that differently, but for now this
> > > should
> > > quick band aid to pinpoint the problem that we observe.
> > > 
> > > Does the attached patch to virglrenderer fix our problem?
> > > 
> > 
> > It does! Thanks a lot :)
> > 
> > I'll find out what the proper fix is, and submit a patch in your
> > name!
> > Again, thanks a lot :)
> 
> You are welcome! And I don't need credits. Its a bit of a pity that
> the
> vertex element/buffer structure in gallium is different than it is in
> OpenGL.
> OTOH, does it match the way it is done in DirectX?

Yeah, in both D3D11 and D3D12, InstanceDataStepRate is per element, not
per input slot. So I guess this is the most flexible way of describing
this, and we'll have to duplicate the bindings in cases like these.

> Well, in theory I would expect virglrenderer to just cope with
> anything
> that comes potentially in. But that means that you may need to split
> single
> binding point into two bindings for OpenGL. Just assuming that they
> were
> originally from OpenGL and by that should just work is a bit too
> crude for
> my taste. But you have to decide that finally. And if you work out
> that split,
> my original one line change has nothing to do anymore with a proper
> solution.

Dave, you wrote this code (commit c76148e "renderer: start trying to
support ARB_vertex_attrib_binding" in virglrenderer). Do you have some
thoughts on the matter? Can we assume GL-semantics here?

> For me it's good that I know I can continue exploiting the VAO state.
> Thanks for testing and reporting!!
> 
> best
> 
> Mathias
> 
> 



More information about the mesa-dev mailing list