[Mesa-dev] [PATCH] mesa: Make gl_vertex_array contain pointers to first order VAO members.

Mathias Fröhlich Mathias.Froehlich at gmx.net
Thu Mar 8 06:41:17 UTC 2018


Hi Brian,

> Looks good to me.  Definitely seems like another step in the right 
> direction.
> 
> Just two minor comments:
> 
> 1. A lot of local vars are named "glarray" and "glbinding".  I'd suggest 
> dropping the "gl" part since it doesn't really help with readability 
> (everything's "gl" in this code :-) ).

Will do! It initially helped me to grep for this kind of stuff. The i965 parts 
do so with the 'struct gl_vertex_array *glarray' probably to distinguish from 
intel driver internal array/attrib/binding structs.
But yes, may be I can then also get rid of some newlines ...

> 2. In a future patch you could probably simplify st_pipe_vertex_format() 
> to be:
> 
> enum pipe_format
> st_pipe_vertex_format(const struct gl_array_attributes *attribs)

Definitely. The next lower layer parts will get some cleanup once all the 
surrounding stuff is in place. Expecially the gallium backends gain from 
direct _DrawVAO use as in some next step I will scan for duplicate bindings in 
the VAO and do only use the net information about that unique binding set when 
translating to gallium. I am still experimenting with this to see what fits 
best for gallium and i965. I also had one attempt to factor out a
struct gl_vertex_format that only describes exactly that. That could then be 
fed into st_pipe_vertex_format and the equivalent brw_get_vertex_surface_type 
in the i965 driver.
But lets finish at first the complete switch to _DrawVAO.

This current patch aims to mostly prepare those current well cpu optimized 
backend drivers to not use gl_vertex_array anymore and for that the current 
values must be represented as aequivalent structs as they appear in the VAO.

> Reviewed-by: Brian Paul <brianp at vmware.com>

Thanks for the review!!

best

Mathias




More information about the mesa-dev mailing list