<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 5:15 AM, Iago Toral <span dir="ltr"><<a href="mailto:itoral@igalia.com" target="_blank">itoral@igalia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, 2016-03-16 at 10:54 -0700, Jason Ekstrand wrote:<br>
><br>
><br>
> On Wed, Mar 16, 2016 at 2:01 AM, Iago Toral <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>> wrote:<br>
> On Wed, 2016-03-16 at 09:48 +0100, Samuel Iglesias Gonsálvez<br>
> wrote:<br>
> ><br>
> > On 15/03/16 08:41, Iago Toral wrote:<br>
> > > On Mon, 2016-03-14 at 17:33 -0700, Jason Ekstrand wrote:<br>
> > [...]<br>
> > >> + nir_alu_type type; + union { - uint32_t u; -<br>
> > >> int32_t i; - float f; + uint64_t u; +<br>
> int64_t i; +<br>
> > >> double d; } data; } nir_search_constant;<br>
> > ><br>
> > > Maybe we should rename these to u64, i64 as f64 like you<br>
> suggested<br>
> > > for a similar case in another patch?<br>
> > ><br>
> ><br>
> > We decided to do the following changes to this patch series<br>
> (among the<br>
> > others already agreed): rename these fields and add the<br>
> inline helper<br>
> > functions to get type size and base type from nir_alu_type<br>
> enum<br>
> > values. So the rest of the fp64 patches will have those<br>
> changes<br>
> > already and everything would be easier to maintain.<br>
> ><br>
> > One question for Jason: Should we squash all the patches of<br>
> this<br>
> > series in a single commit as originally proposed? I'd rather<br>
> have them<br>
> > separately so we understand what each patch does in case of<br>
> a git<br>
> > bisect, however I don't have a strong opinion against<br>
> squashing.<br>
><br>
> At the very least we should squash the one for the<br>
> copy-propagation pass<br>
> with the new opcodes, otherwise we'd break the build.<br>
><br>
> The main concern with squashing everything is that it is going<br>
> to be a<br>
> huge patch and it is going to be difficult to make sense of it<br>
> like that<br>
> for anyone who tracks something down to it, but otherwise we<br>
> are going<br>
> to break some things in between which is also not ideal...<br>
><br>
><br>
> Right. Let's squash the minimum. I think we can probably keep copy<br>
> propagation and nir_search mostly out of the squash. Right now,<br>
> nothing uses values of any size other than 32 so it should be safe to<br>
> leave them separate for the most part.<br>
<br>
</div></div>Ok, we have addressed all the comments and pushed this.<br>
<br>
For the record:<br>
<br>
We had to squash copy propagation, since otherwise we would break the<br>
build. We kept nir_search separate even though that means that we have a<br>
small number if regressions for 3 commits in the series (we counted 4<br>
regressions in shader.py). The reason is that otherwise we would have to<br>
squash the changes to nir_search.c together with the changes to opcodes<br>
and copy propagation, and we would end up with a huge patch again that<br>
would be difficult to make sense of. I hope this is okay.<br>
<br>
We also did the change to rename nir_constant_value's fields f->f32,<br>
d->f64, u->u32, ul->u64, etc This had to be done after the<br>
copy-propagation changes, since the original implementation relied on<br>
the naming convention for these fields to work. We kept this change<br>
separate since it is just a large rename and squashing it into anything<br>
else would just obscure things.<br></blockquote><div><br></div><div>I did a quick skim through, and it looks good. Thanks for all your hard work<font color="#888888">!<br></font></div><div><font color="#888888">--Jason</font><span class="HOEnZb"></span><span class="HOEnZb"></span></div></div><br></div></div>