----- Original Message ----- > Am 19.02.2013 15:57, schrieb Jose Fonseca: > > There may be more vertex elements that used in the shader. But why should > > the key contain those elements? Won't this cause needless recompilations > > (e.g., in situations where the state tracker leaves unneeded elements from > > previous draw?)? > I don't think the state tracker would leave unneeded elements like that > (that is I think the nr_elements would be adjusted if the state tracker > has to figure it out on its own, causing recompiles in any case). > But yes if you set different pipe_vertex_element which only differ in > the unused elements then it will cause unnecessary recompile (I don't > think that's really something which matters here). > > > > > That is, it seems to be that the key should have the number of elements > > from pipe_vertex_element information, but only copy those that vertex > > shader uses. > That doesn't sound very good. If we want to dump the > pipe_vertex_elements like we do now either we need to fix up the > nr_elements or copy all of them. Also vs_generate function seems to > create code for all pipe_vertex_elements, not just those used by the shader. > I guess that instead of using nr_elements we could just use the > information from the shader instead consistently, though I'm actually > unsure this works always - is it somehow possible to only use > vertex_element nr 2 and 4 for instance?
Fair enough. Let's get this is as is for now, and keep our eyes open for any performance regression. Jose > So I think you're suggesting instead of this fix that key->nr_elements > wouldn't be used for anything except the key comparison itself, and > everything else (calculating sampler offset in the key, tgsi dump, code > generation) would use the shader information? _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev